Skip to content

Commit

Permalink
feat: integer reversal algorithm
Browse files Browse the repository at this point in the history
  • Loading branch information
francislagares committed Aug 13, 2023
1 parent fa5e9b0 commit 61a1db0
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 0 deletions.
9 changes: 9 additions & 0 deletions src/algorithms/integer-reverse/integer-reversal.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
export const reverseInt = (int: number) => {
const reversed = int.toString().split('').reverse().join('');

if (int < 0) {
return parseInt(reversed) * Math.sign(int);
}

return parseInt(reversed);
};
27 changes: 27 additions & 0 deletions src/algorithms/integer-reverse/tests/integer-reverse.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
import { describe, test } from 'vitest';

import { reverseInt } from '../integer-reversal';

describe('Integer Reversal', () => {
test('ReverseInt function exists', () => {
expect(reverseInt).toBeDefined();
});

test('ReverseInt handles 0 as an input', () => {
expect(reverseInt(0)).toEqual(0);
});

test('ReverseInt flips a positive number', () => {
expect(reverseInt(5)).toEqual(5);
expect(reverseInt(15)).toEqual(51);
expect(reverseInt(90)).toEqual(9);
expect(reverseInt(2359)).toEqual(9532);
});

test('ReverseInt flips a negative number', () => {
expect(reverseInt(-5)).toEqual(-5);
expect(reverseInt(-15)).toEqual(-51);
expect(reverseInt(-90)).toEqual(-9);
expect(reverseInt(-2359)).toEqual(-9532);
});
});

0 comments on commit 61a1db0

Please sign in to comment.