init number dir create listOfIntegers function then write testCases for that function

This commit is contained in:
Chesterkxng
2024-06-25 20:17:48 +00:00
parent ff61712923
commit 37cea3e45c
5 changed files with 93 additions and 0 deletions

View 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');
});
});

View 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>;
}

View 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'))
});

View 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);
}

View File

@@ -0,0 +1,2 @@
import { tool as generate } from './generate/meta';
// index.ts file