mirror of
https://github.com/iib0011/omni-tools.git
synced 2025-09-18 13:39:31 +02:00
init number dir create listOfIntegers function then write testCases for that function
This commit is contained in:
56
src/pages/number/generate/generate.service.test.ts
Normal file
56
src/pages/number/generate/generate.service.test.ts
Normal file
@@ -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');
|
||||||
|
});
|
||||||
|
});
|
11
src/pages/number/generate/index.tsx
Normal file
11
src/pages/number/generate/index.tsx
Normal file
@@ -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 <Box>Lorem ipsum</Box>;
|
||||||
|
}
|
12
src/pages/number/generate/meta.ts
Normal file
12
src/pages/number/generate/meta.ts
Normal file
@@ -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'))
|
||||||
|
});
|
12
src/pages/number/generate/service.ts
Normal file
12
src/pages/number/generate/service.ts
Normal file
@@ -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 <number_of_numbers; i++) {
|
||||||
|
const value: number = first_value + i * step;
|
||||||
|
result.push(value);
|
||||||
|
}
|
||||||
|
return result.join(separator);
|
||||||
|
}
|
2
src/pages/number/index.ts
Normal file
2
src/pages/number/index.ts
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
import { tool as generate } from './generate/meta';
|
||||||
|
// index.ts file
|
Reference in New Issue
Block a user