]> git.scottworley.com Git - planeteer/blob - planeteer_test.go
More named types: LogicalIndex
[planeteer] / planeteer_test.go
1 package main
2
3 import "testing"
4
5 func TestEncodeDecode(t *testing.T) {
6 dims := LogicalIndex{3, 2, 4, 17, 26, 15, 2, 1, 2, 1}
7 var i PhysicalIndex
8 for i = 0; i < 636480; i++ { // Product of dims
9 addr := DecodeIndex(dims, i)
10 for j := 0; j < len(dims); j++ {
11 if addr[j] >= dims[j] {
12 t.Fail()
13 }
14 }
15 if EncodeIndex(dims, addr) != i {
16 t.Fail()
17 }
18 }
19 }
20
21 func TestCommas(t *testing.T) {
22 cases := map[Value]string{
23 1: "1",
24 10: "10",
25 100: "100",
26 1000: "1,000",
27 10000: "10,000",
28 100000: "100,000",
29 1000000: "1,000,000",
30 1234567: "1,234,567",
31 1000567: "1,000,567",
32 1234000: "1,234,000",
33 525000: "525,000",
34 }
35 for n, s := range cases {
36 if Commas(n) != s {
37 t.Error(n, "not", s)
38 }
39 }
40 }