diff --git a/src/pages/number/generate/generate.service.test.ts b/src/pages/number/generate/generate.service.test.ts
new file mode 100644
index 0000000..fb5bc41
--- /dev/null
+++ b/src/pages/number/generate/generate.service.test.ts
@@ -0,0 +1,56 @@
+// Import necessary modules and functions
+import { describe, it, expect } from 'vitest';
+import { listOfIntegers } from './service';
+
+// Define test cases for the listOfIntegers function
+describe('listOfIntegers function', () => {
+ it('should generate a list of integers with comma separator', () => {
+ const initialValue = 1;
+ const step = 2;
+ const count = 5;
+ const separator = ', ';
+
+ const result = listOfIntegers(initialValue, count, step, separator);
+ expect(result).toBe('1, 3, 5, 7, 9');
+ });
+
+ it('should generate a list of integers with dash separator', () => {
+ const initialValue = 0;
+ const step = 3;
+ const count = 4;
+ const separator = ' - ';
+
+ const result = listOfIntegers(initialValue, count, step, separator);
+ expect(result).toBe('0 - 3 - 6 - 9');
+ });
+
+ it('should handle negative initial value and step', () => {
+ const initialValue = -10;
+ const step = -2;
+ const count = 5;
+ const separator = ' ';
+
+ const result = listOfIntegers(initialValue, count, step, separator);
+ expect(result).toBe('-10 -12 -14 -16 -18');
+ });
+
+ it('should handle negative initial value and positive step', () => {
+ const initialValue = -10;
+ const step = 2;
+ const count = 5;
+ const separator = ' ';
+
+ const result = listOfIntegers(initialValue, count, step, separator);
+ expect(result).toBe('-10 -8 -6 -4 -2');
+ });
+
+ it('should float value', () => {
+ const initialValue = -10;
+ const step = 2.5;
+ const count = 5;
+ const separator = ' ';
+
+ const result = listOfIntegers(initialValue, count, step, separator);
+ expect(result).toBe('-10 -7.5 -5 -2.5 0');
+ });
+});
\ No newline at end of file
diff --git a/src/pages/number/generate/index.tsx b/src/pages/number/generate/index.tsx
new file mode 100644
index 0000000..6948a98
--- /dev/null
+++ b/src/pages/number/generate/index.tsx
@@ -0,0 +1,11 @@
+import { Box } from '@mui/material';
+import React from 'react';
+import * as Yup from 'yup';
+
+const initialValues = {};
+const validationSchema = Yup.object({
+ // splitSeparator: Yup.string().required('The separator is required')
+});
+export default function Generate() {
+ return Lorem ipsum;
+}
\ No newline at end of file
diff --git a/src/pages/number/generate/meta.ts b/src/pages/number/generate/meta.ts
new file mode 100644
index 0000000..1e32942
--- /dev/null
+++ b/src/pages/number/generate/meta.ts
@@ -0,0 +1,12 @@
+import { defineTool } from '@tools/defineTool';
+import { lazy } from 'react';
+// import image from '@assets/text.png';
+
+export const tool = defineTool('number', {
+ name: 'Generate',
+ path: 'generate',
+ // image,
+ description: '',
+ keywords: ['generate'],
+ component: lazy(() => import('./index'))
+});
\ No newline at end of file
diff --git a/src/pages/number/generate/service.ts b/src/pages/number/generate/service.ts
new file mode 100644
index 0000000..128bc99
--- /dev/null
+++ b/src/pages/number/generate/service.ts
@@ -0,0 +1,12 @@
+export function listOfIntegers(
+ first_value: number,
+ number_of_numbers: number,
+ step: number,
+ separator: string) {
+ const result: number[] = [];
+ for (let i: number= 0; i