mani-calc 2.1.0 โ†’ 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/test/test.js DELETED
@@ -1,133 +0,0 @@
1
- const MathEngine = require('../src/core/math-engine');
2
- const NLPParser = require('../src/core/nlp-parser');
3
- const UnitConverter = require('../src/core/unit-converter');
4
- const chalk = require('chalk');
5
-
6
- console.log(chalk.cyan.bold('\n๐Ÿงช Running Mani-Calc Tests...\n'));
7
-
8
- let passed = 0;
9
- let failed = 0;
10
-
11
- function test(name, fn) {
12
- try {
13
- fn();
14
- console.log(chalk.green(`โœ“ ${name}`));
15
- passed++;
16
- } catch (error) {
17
- console.log(chalk.red(`โœ— ${name}`));
18
- console.log(chalk.gray(` ${error.message}`));
19
- failed++;
20
- }
21
- }
22
-
23
- function assertEqual(actual, expected, message = '') {
24
- if (actual !== expected) {
25
- throw new Error(`Expected ${expected}, got ${actual}. ${message}`);
26
- }
27
- }
28
-
29
- // Math Engine Tests
30
- console.log(chalk.yellow('\n๐Ÿ“ Math Engine Tests:'));
31
-
32
- const mathEngine = new MathEngine();
33
-
34
- test('Basic addition', () => {
35
- assertEqual(mathEngine.evaluate('2 + 3'), 5);
36
- });
37
-
38
- test('Order of operations', () => {
39
- assertEqual(mathEngine.evaluate('2 + 3 * 5'), 17);
40
- });
41
-
42
- test('Parentheses', () => {
43
- assertEqual(mathEngine.evaluate('(10 + 20) / 5'), 6);
44
- });
45
-
46
- test('Square root', () => {
47
- assertEqual(mathEngine.evaluate('sqrt(49)'), 7);
48
- });
49
-
50
- test('Power', () => {
51
- assertEqual(mathEngine.evaluate('2^8'), 256);
52
- });
53
-
54
- test('Decimal operations', () => {
55
- assertEqual(mathEngine.evaluate('10.5 + 5.5'), 16);
56
- });
57
-
58
- // NLP Parser Tests
59
- console.log(chalk.yellow('\n๐Ÿ’ฌ NLP Parser Tests:'));
60
-
61
- const nlpParser = new NLPParser();
62
-
63
- test('Percentage parsing', () => {
64
- const result = nlpParser.parse('what is 25 percent of 200');
65
- assertEqual(result.type, 'natural_language');
66
- assertEqual(result.expression, '(25 / 100) * 200');
67
- });
68
-
69
- test('Fraction parsing', () => {
70
- const result = nlpParser.parse('half of 80');
71
- assertEqual(result.type, 'natural_language');
72
- assertEqual(result.expression, '80 / 2');
73
- });
74
-
75
- test('Square root parsing', () => {
76
- const result = nlpParser.parse('square root of 64');
77
- assertEqual(result.type, 'natural_language');
78
- assertEqual(result.expression, 'sqrt(64)');
79
- });
80
-
81
- test('Conversion parsing', () => {
82
- const result = nlpParser.parse('10 km to miles');
83
- assertEqual(result.type, 'conversion');
84
- assertEqual(result.value, 10);
85
- assertEqual(result.fromUnit, 'km');
86
- assertEqual(result.toUnit, 'miles');
87
- });
88
-
89
- // Unit Converter Tests
90
- console.log(chalk.yellow('\n๐Ÿ”„ Unit Converter Tests:'));
91
-
92
- const unitConverter = new UnitConverter();
93
-
94
- test('Kilometers to miles', () => {
95
- const result = unitConverter.convert(10, 'km', 'miles');
96
- assertEqual(Math.round(result * 100), 621); // 6.21 miles
97
- });
98
-
99
- test('Kilograms to pounds', () => {
100
- const result = unitConverter.convert(5, 'kg', 'pounds');
101
- assertEqual(Math.round(result * 100), 1102); // 11.02 pounds
102
- });
103
-
104
- test('Celsius to Fahrenheit', () => {
105
- const result = unitConverter.convert(100, 'celsius', 'fahrenheit');
106
- assertEqual(result, 212);
107
- });
108
-
109
- test('Celsius to Fahrenheit (0ยฐC)', () => {
110
- const result = unitConverter.convert(0, 'celsius', 'fahrenheit');
111
- assertEqual(result, 32);
112
- });
113
-
114
- test('Hours to seconds', () => {
115
- const result = unitConverter.convert(2, 'hours', 'seconds');
116
- assertEqual(result, 7200);
117
- });
118
-
119
- test('Meters to feet', () => {
120
- const result = unitConverter.convert(10, 'meters', 'feet');
121
- assertEqual(Math.round(result * 100), 3281); // 32.81 feet
122
- });
123
-
124
- // Summary
125
- console.log(chalk.cyan.bold('\n๐Ÿ“Š Test Summary:'));
126
- console.log(chalk.green(`โœ“ Passed: ${passed}`));
127
- if (failed > 0) {
128
- console.log(chalk.red(`โœ— Failed: ${failed}`));
129
- process.exit(1);
130
- } else {
131
- console.log(chalk.green('\n๐ŸŽ‰ All tests passed!\n'));
132
- process.exit(0);
133
- }