|
1 |
| -(* roman-numerals - 1.2.0 *) |
| 1 | +(* roman-numerals - 1.0 *) |
2 | 2 | open OUnit2
|
3 | 3 | open Roman_numerals
|
4 | 4 |
|
5 | 5 | let ae expected actual _ctx = assert_equal ~printer:(fun x -> x) expected actual
|
6 | 6 |
|
7 | 7 | let tests = [
|
8 |
| - "1 is a single I" >:: |
| 8 | + "1 is I" >:: |
9 | 9 | ae "I" (to_roman 1);
|
10 |
| - "2 is two I's" >:: |
| 10 | + "2 is II" >:: |
11 | 11 | ae "II" (to_roman 2);
|
12 |
| - "3 is three I's" >:: |
| 12 | + "3 is III" >:: |
13 | 13 | ae "III" (to_roman 3);
|
14 |
| - "4, being 5 - 1, is IV" >:: |
| 14 | + "4 is IV" >:: |
15 | 15 | ae "IV" (to_roman 4);
|
16 |
| - "5 is a single V" >:: |
| 16 | + "5 is V" >:: |
17 | 17 | ae "V" (to_roman 5);
|
18 |
| - "6, being 5 + 1, is VI" >:: |
| 18 | + "6 is VI" >:: |
19 | 19 | ae "VI" (to_roman 6);
|
20 |
| - "9, being 10 - 1, is IX" >:: |
| 20 | + "9 is IX" >:: |
21 | 21 | ae "IX" (to_roman 9);
|
22 |
| - "20 is two X's" >:: |
| 22 | + "16 is XVI" >:: |
| 23 | + ae "XVI" (to_roman 16); |
| 24 | + "27 is XXVII" >:: |
23 | 25 | ae "XXVII" (to_roman 27);
|
24 |
| - "48 is not 50 - 2 but rather 40 + 8" >:: |
| 26 | + "48 is XLVIII" >:: |
25 | 27 | ae "XLVIII" (to_roman 48);
|
26 |
| - "49 is not 40 + 5 + 4 but rather 50 - 10 + 10 - 1" >:: |
| 28 | + "49 is XLIX" >:: |
27 | 29 | ae "XLIX" (to_roman 49);
|
28 |
| - "50 is a single L" >:: |
| 30 | + "59 is LIX" >:: |
29 | 31 | ae "LIX" (to_roman 59);
|
30 |
| - "90, being 100 - 10, is XC" >:: |
| 32 | + "66 is LXVI" >:: |
| 33 | + ae "LXVI" (to_roman 66); |
| 34 | + "93 is XCIII" >:: |
31 | 35 | ae "XCIII" (to_roman 93);
|
32 |
| - "100 is a single C" >:: |
| 36 | + "141 is CXLI" >:: |
33 | 37 | ae "CXLI" (to_roman 141);
|
34 |
| - "60, being 50 + 10, is LX" >:: |
| 38 | + "163 is CLXIII" >:: |
35 | 39 | ae "CLXIII" (to_roman 163);
|
36 |
| - "400, being 500 - 100, is CD" >:: |
| 40 | + "166 is CLXVI" >:: |
| 41 | + ae "CLXVI" (to_roman 166); |
| 42 | + "402 is CDII" >:: |
37 | 43 | ae "CDII" (to_roman 402);
|
38 |
| - "500 is a single D" >:: |
| 44 | + "575 is DLXXV" >:: |
39 | 45 | ae "DLXXV" (to_roman 575);
|
40 |
| - "900, being 1000 - 100, is CM" >:: |
| 46 | + "666 is DCLXVI" >:: |
| 47 | + ae "DCLXVI" (to_roman 666); |
| 48 | + "911 is CMXI" >:: |
41 | 49 | ae "CMXI" (to_roman 911);
|
42 |
| - "1000 is a single M" >:: |
| 50 | + "1024 is MXXIV" >:: |
43 | 51 | ae "MXXIV" (to_roman 1024);
|
44 |
| - "3000 is three M's" >:: |
| 52 | + "1666 is MDCLXVI" >:: |
| 53 | + ae "MDCLXVI" (to_roman 1666); |
| 54 | + "3000 is MMM" >:: |
45 | 55 | ae "MMM" (to_roman 3000);
|
| 56 | + "3001 is MMMI" >:: |
| 57 | + ae "MMMI" (to_roman 3001); |
| 58 | + "3999 is MMMCMXCIX" >:: |
| 59 | + ae "MMMCMXCIX" (to_roman 3999); |
46 | 60 | ]
|
47 | 61 |
|
48 | 62 | let () =
|
|
0 commit comments