diff --git a/Maths/DecimalIsolate.js b/Maths/DecimalIsolate.js
index ac9f81a076..63af16801a 100644
--- a/Maths/DecimalIsolate.js
+++ b/Maths/DecimalIsolate.js
@@ -1,7 +1,12 @@
 /*
- * function isolates the decimal part of a number.
- * Take the number and subtract it from the floored number.
- * Return the result.
+ * This function isolates the decimal part of a number.
+ * - If input is a number or a numeric string, it isolates and returns the decimal part.
+ * - If input is an array:
+ *    - It isolates the decimal part of the first element.
+ *    - If the array contains more than one element, only the first element is considered.
+ *    - If the array is empty, it returns 0.
+ * - If input is not a number, a numeric string, or a valid first element array,
+ *   the function returns 0.
  */
 
 export const decimalIsolate = (number) => {
diff --git a/Maths/test/DecimalIsolate.test.js b/Maths/test/DecimalIsolate.test.js
new file mode 100644
index 0000000000..4c021b5d53
--- /dev/null
+++ b/Maths/test/DecimalIsolate.test.js
@@ -0,0 +1,44 @@
+import { decimalIsolate } from '../DecimalIsolate'
+
+const invalidInputs = [
+  { input: NaN, description: 'NaN' },
+  { input: null, description: 'null' },
+  { input: undefined, description: 'undefined' },
+  { input: 'a string', description: 'a string' },
+  { input: { a: 54.34 }, description: 'an object' },
+  {
+    input: ['OneDotTwoThree', 4.56, 7.89],
+    description: 'an array with invalid first element'
+  }
+]
+
+describe('DecimalIsolate', () => {
+  it('should isolate the decimal part of a positive number', () => {
+    expect(decimalIsolate(12.34)).toBe(0.34)
+  })
+
+  it('should isolate the decimal part of a negative number', () => {
+    expect(decimalIsolate(-456.789)).toBe(0.789)
+  })
+
+  it('should return 0 when the number is a whole number', () => {
+    expect(decimalIsolate(100)).toBe(0)
+  })
+
+  it('should isolate the decimal part of a number string', () => {
+    expect(decimalIsolate('12.34')).toBe(0.34)
+  })
+
+  it('should isolate the decimal part of the first element of an array if it is convertible to a number', () => {
+    expect(decimalIsolate([98.76, { a: 76.45 }])).toBe(0.76)
+  })
+
+  describe('Invalid Inputs', () => {
+    it.each(invalidInputs)(
+      'should return 0 for invalid input when input is $description',
+      ({ input }) => {
+        expect(decimalIsolate(input)).toBe(0)
+      }
+    )
+  })
+})