]> git.wincent.com - hextrapolate.git/blob - src/__tests__/convert-test.js
e362507c11fa1f1ac877b6409e589f629f095dc6
[hextrapolate.git] / src / __tests__ / convert-test.js
1 /**
2  * Copyright 2015-present Greg Hurrell. All rights reserved.
3  * Licensed under the terms of the MIT license.
4  */
5
6 'use strict';
7
8 import convert from '../convert';
9
10 describe('convert()', () => {
11   describe('converting from binary', () => {
12     it('treats binary-to-binary as a no-op', () => {
13       expect(convert('1011001', 2, 2)).toBe('1011001');
14     });
15
16     it('converts binary to decimal', () => {
17     });
18
19     it('converts binary to octal', () => {
20     });
21
22     it('converts binary to hexadecimal', () => {
23     });
24
25     it('converts with arbitrary precision', () => {
26     });
27   });
28
29   describe('converting from decimal', () => {
30     it('treats decimal-to-decimal as a no-op', () => {
31       expect(convert('324234124', 10, 10)).toBe('324234124');
32     });
33
34     it('converts decimal to binary', () => {
35     });
36
37     it('converts decimal to octal', () => {
38     });
39
40     it('converts decimal to hexadecimal', () => {
41       expect(convert('255', 10, 16)).toBe('ff');
42       expect(convert('4277009102', 10, 16)).toBe('feedface');
43     });
44
45     it('converts with arbitrary precision', () => {
46     });
47   });
48
49   describe('converting from octal', () => {
50     it('treats octal-to-octal as a no-op', () => {
51       expect(convert('723147234234', 8, 8)).toBe('723147234234');
52     });
53
54     it('converts octal to binary', () => {
55     });
56
57     it('converts octal to decimal', () => {
58     });
59
60     it('converts octal to hexadecimal', () => {
61     });
62
63     it('converts with arbitrary precision', () => {
64     });
65   });
66
67   describe('converting form hexadecimal', () => {
68     it('treats hexadecimal-to-hexadecimal as a no-op', () => {
69       expect(convert('deadbeef', 16, 16)).toBe('deadbeef');
70     });
71
72     it('converts hexadecimal to binary', () => {
73     });
74
75     it('converts hexadecimal to decimal', () => {
76       expect(convert('ff', 16, 10)).toBe('255');
77       expect(convert('feedface', 16, 10)).toBe('4277009102');
78     });
79
80     it('converts hexadecimal to octal', () => {
81     });
82
83     it('converts with arbitrary precision', () => {
84       expect(convert('ab92b650b5f18fb53ee9f6229fd82638d069d9af', 16, 10))
85         .toBe('979509212510335489186816896981475731336057182639');
86       expect(convert('ab92b650b5f18fb53ee9f6229fd82638d069d9af', 16, 8))
87         .toBe('125622554502657430766517564766105177301143432032354657');
88       expect(convert('ab92b650b5f18fb53ee9f6229fd82638d069d9af', 16, 2))
89         .toBe('1010101110010010101101100101000010110101111100011000111110110101001111101110100111110110001000101001111111011000001001100011100011010000011010011101100110101111');
90     });
91   });
92 });