@@ -11,25 +11,43 @@ import (
1111func TestCount32 (t * testing.T ) {
1212 assert := assert .New (t )
1313
14+ var value uint64
15+ var overflow bool
16+
1417 c := counts .NewCount32 (0 )
15- assert .Equalf (uint64 (0 ), c .ToUint64 (), "NewCount32(0).ToUint64() should be 0" )
18+ value , overflow = c .ToUint64 ()
19+ assert .Equalf (uint64 (0 ), value , "NewCount32(0).ToUint64() should be 0" )
20+ assert .False (overflow , "NewCount32(0).ToUint64() does not overflow" )
1621
1722 c .Increment (counts .Count32 (0xf0000000 ))
18- assert .Equalf (uint64 (0xf0000000 ), c .ToUint64 (), "Count32(0xf0000000).ToUint64() value" )
23+ value , overflow = c .ToUint64 ()
24+ assert .Equalf (uint64 (0xf0000000 ), value , "Count32(0xf0000000).ToUint64() value" )
25+ assert .False (overflow , "NewCount32(0xf0000000).ToUint64() does not overflow" )
1926
2027 c .Increment (counts .Count32 (0xf0000000 ))
21- assert .Equalf (uint64 (0xffffffff ), c .ToUint64 (), "Count32(0xffffffff).ToUint64() value" )
28+ value , overflow = c .ToUint64 ()
29+ assert .Equalf (uint64 (0xffffffff ), value , "Count32(0xffffffff).ToUint64() value" )
30+ assert .True (overflow , "NewCount32(0xffffffff).ToUint64() overflows" )
2231}
2332
2433func TestCount64 (t * testing.T ) {
2534 assert := assert .New (t )
2635
36+ var value uint64
37+ var overflow bool
38+
2739 c := counts .NewCount64 (0 )
28- assert .Equalf (uint64 (0 ), c .ToUint64 (), "NewCount64(0).ToUint64() should be 0" )
40+ value , overflow = c .ToUint64 ()
41+ assert .Equalf (uint64 (0 ), value , "NewCount64(0).ToUint64() should be 0" )
42+ assert .False (overflow , "NewCount64(0).ToUint64() does not overflow" )
2943
3044 c .Increment (counts .Count64 (0xf000000000000000 ))
31- assert .Equalf (uint64 (0xf000000000000000 ), c .ToUint64 (), "Count64(0xf000000000000000).ToUint64() value" )
45+ value , overflow = c .ToUint64 ()
46+ assert .Equalf (uint64 (0xf000000000000000 ), value , "Count64(0xf000000000000000).ToUint64() value" )
47+ assert .False (overflow , "NewCount64(0xf000000000000000).ToUint64() does not overflow" )
3248
3349 c .Increment (counts .Count64 (0xf000000000000000 ))
34- assert .Equalf (uint64 (0xffffffffffffffff ), c .ToUint64 (), "Count64(0xffffffffffffffff).ToUint64() value" )
50+ value , overflow = c .ToUint64 ()
51+ assert .Equalf (uint64 (0xffffffffffffffff ), value , "Count64(0xffffffffffffffff).ToUint64() value" )
52+ assert .True (overflow , "NewCount64(0xffffffffffffffff).ToUint64() overflows" )
3553}
0 commit comments