summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2018-03-13 00:28:50 +0100
committerDimitri Sokolyuk <demon@dim13.org>2018-03-13 00:28:50 +0100
commit4af9b6a40d3758b60476c62641e9b216c3b79fe3 (patch)
tree82561bab2f3f5c13e4c834f353cfecdfe34d3ed4
parent78cb9b9184040c61dbdf4303784982ab3638fa80 (diff)
extend test cases
-rw-r--r--roman_test.go58
1 files changed, 31 insertions, 27 deletions
diff --git a/roman_test.go b/roman_test.go
index 081460f..218c38e 100644
--- a/roman_test.go
+++ b/roman_test.go
@@ -1,32 +1,36 @@
package roman
-import "fmt"
+import (
+ "testing"
+)
-func ExampleRoman() {
- for i := 0; i <= 21; i++ {
- fmt.Println(Roman(1 << uint(i)))
+func TestRoman(t *testing.T) {
+ testCases := []struct {
+ r Roman
+ s string
+ }{
+ {0, ""},
+ {1, "I"},
+ {3, "III"},
+ {5, "V"},
+ {8, "VIII"},
+ {13, "XIII"},
+ {21, "XXI"},
+ {34, "XXXIV"},
+ {55, "LV"},
+ {89, "LXXXIX"},
+ {1e3 - 1, "CMXCIX"},
+ {2e3 - 1, "MCMXCIX"},
+ {4e3 - 1, "MMMCMXCIX"},
+ {1e6 - 1, "C̅M̅X̅C̅I̅X̅CMXCIX"},
+ {2e6 - 1, "M̅C̅M̅X̅C̅I̅X̅CMXCIX"},
+ {4e6 - 1, "M̅M̅M̅C̅M̅X̅C̅I̅X̅CMXCIX"},
+ }
+ for _, tc := range testCases {
+ t.Run(tc.s, func(t *testing.T) {
+ if tc.r.String() != tc.s {
+ t.Errorf("got %v, want %v", tc.r, tc.s)
+ }
+ })
}
- // Output:
- // I
- // II
- // IV
- // VIII
- // XVI
- // XXXII
- // LXIV
- // CXXVIII
- // CCLVI
- // DXII
- // MXXIV
- // MMXLVIII
- // I̅V̅XCVI
- // V̅I̅I̅I̅CXCII
- // X̅V̅I̅CCCLXXXIV
- // X̅X̅X̅MMDCCLXVIII
- // L̅X̅V̅DXXXVI
- // C̅X̅X̅X̅MLXXII
- // C̅C̅L̅X̅MMCXLIV
- // D̅X̅X̅I̅V̅CCLXXXVIII
- // M̅X̅L̅V̅I̅I̅I̅DLXXVI
- // M̅M̅X̅C̅V̅I̅I̅CLII
}