Skip to content

Commit 61a1db0

Browse files
feat: integer reversal algorithm
1 parent fa5e9b0 commit 61a1db0

File tree

2 files changed

+36
-0
lines changed

2 files changed

+36
-0
lines changed
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
export const reverseInt = (int: number) => {
2+
const reversed = int.toString().split('').reverse().join('');
3+
4+
if (int < 0) {
5+
return parseInt(reversed) * Math.sign(int);
6+
}
7+
8+
return parseInt(reversed);
9+
};
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import { describe, test } from 'vitest';
2+
3+
import { reverseInt } from '../integer-reversal';
4+
5+
describe('Integer Reversal', () => {
6+
test('ReverseInt function exists', () => {
7+
expect(reverseInt).toBeDefined();
8+
});
9+
10+
test('ReverseInt handles 0 as an input', () => {
11+
expect(reverseInt(0)).toEqual(0);
12+
});
13+
14+
test('ReverseInt flips a positive number', () => {
15+
expect(reverseInt(5)).toEqual(5);
16+
expect(reverseInt(15)).toEqual(51);
17+
expect(reverseInt(90)).toEqual(9);
18+
expect(reverseInt(2359)).toEqual(9532);
19+
});
20+
21+
test('ReverseInt flips a negative number', () => {
22+
expect(reverseInt(-5)).toEqual(-5);
23+
expect(reverseInt(-15)).toEqual(-51);
24+
expect(reverseInt(-90)).toEqual(-9);
25+
expect(reverseInt(-2359)).toEqual(-9532);
26+
});
27+
});

0 commit comments

Comments
 (0)