diff --git a/decompile_test.go b/decompile_test.go index 95b6bb1..69539aa 100644 --- a/decompile_test.go +++ b/decompile_test.go @@ -6,425 +6,7 @@ import ( func TestDecompile(t *testing.T) { - tests := []struct{ - Value uint64 - }{ - { - Value: 0b0000000000000000000000000000000000000000000000000000000000000000, - }, - - - - { - Value: 0b0000000000000000000000000000000000000000000000000000000000000001, - }, - { - Value: 0b0000000000000000000000000000000000000000000000000000000000000010, - }, - { - Value: 0b0000000000000000000000000000000000000000000000000000000000000100, - }, - { - Value: 0b0000000000000000000000000000000000000000000000000000000000001000, - }, - { - Value: 0b0000000000000000000000000000000000000000000000000000000000010000, - }, - { - Value: 0b0000000000000000000000000000000000000000000000000000000000100000, - }, - { - Value: 0b0000000000000000000000000000000000000000000000000000000001000000, - }, - { - Value: 0b0000000000000000000000000000000000000000000000000000000010000000, - }, - { - Value: 0b0000000000000000000000000000000000000000000000000000000100000000, - }, - { - Value: 0b0000000000000000000000000000000000000000000000000000001000000000, - }, - { - Value: 0b0000000000000000000000000000000000000000000000000000010000000000, - }, - { - Value: 0b0000000000000000000000000000000000000000000000000000100000000000, - }, - { - Value: 0b0000000000000000000000000000000000000000000000000001000000000000, - }, - { - Value: 0b0000000000000000000000000000000000000000000000000010000000000000, - }, - { - Value: 0b0000000000000000000000000000000000000000000000000100000000000000, - }, - { - Value: 0b0000000000000000000000000000000000000000000000001000000000000000, - }, - { - Value: 0b0000000000000000000000000000000000000000000000010000000000000000, - }, - { - Value: 0b0000000000000000000000000000000000000000000000100000000000000000, - }, - { - Value: 0b0000000000000000000000000000000000000000000001000000000000000000, - }, - { - Value: 0b0000000000000000000000000000000000000000000010000000000000000000, - }, - { - Value: 0b0000000000000000000000000000000000000000000100000000000000000000, - }, - { - Value: 0b0000000000000000000000000000000000000000001000000000000000000000, - }, - { - Value: 0b0000000000000000000000000000000000000000010000000000000000000000, - }, - { - Value: 0b0000000000000000000000000000000000000000100000000000000000000000, - }, - { - Value: 0b0000000000000000000000000000000000000001000000000000000000000000, - }, - { - Value: 0b0000000000000000000000000000000000000010000000000000000000000000, - }, - { - Value: 0b0000000000000000000000000000000000000100000000000000000000000000, - }, - { - Value: 0b0000000000000000000000000000000000001000000000000000000000000000, - }, - { - Value: 0b0000000000000000000000000000000000010000000000000000000000000000, - }, - { - Value: 0b0000000000000000000000000000000000100000000000000000000000000000, - }, - { - Value: 0b0000000000000000000000000000000001000000000000000000000000000000, - }, - { - Value: 0b0000000000000000000000000000000010000000000000000000000000000000, - }, - { - Value: 0b0000000000000000000000000000000100000000000000000000000000000000, - }, - { - Value: 0b0000000000000000000000000000001000000000000000000000000000000000, - }, - { - Value: 0b0000000000000000000000000000010000000000000000000000000000000000, - }, - { - Value: 0b0000000000000000000000000000100000000000000000000000000000000000, - }, - { - Value: 0b0000000000000000000000000001000000000000000000000000000000000000, - }, - { - Value: 0b0000000000000000000000000010000000000000000000000000000000000000, - }, - { - Value: 0b0000000000000000000000000100000000000000000000000000000000000000, - }, - { - Value: 0b0000000000000000000000001000000000000000000000000000000000000000, - }, - { - Value: 0b0000000000000000000000010000000000000000000000000000000000000000, - }, - { - Value: 0b0000000000000000000000100000000000000000000000000000000000000000, - }, - { - Value: 0b0000000000000000000001000000000000000000000000000000000000000000, - }, - { - Value: 0b0000000000000000000010000000000000000000000000000000000000000000, - }, - { - Value: 0b0000000000000000000100000000000000000000000000000000000000000000, - }, - { - Value: 0b0000000000000000001000000000000000000000000000000000000000000000, - }, - { - Value: 0b0000000000000000010000000000000000000000000000000000000000000000, - }, - { - Value: 0b0000000000000000100000000000000000000000000000000000000000000000, - }, - { - Value: 0b0000000000000001000000000000000000000000000000000000000000000000, - }, - { - Value: 0b0000000000000010000000000000000000000000000000000000000000000000, - }, - { - Value: 0b0000000000000100000000000000000000000000000000000000000000000000, - }, - { - Value: 0b0000000000001000000000000000000000000000000000000000000000000000, - }, - { - Value: 0b0000000000010000000000000000000000000000000000000000000000000000, - }, - { - Value: 0b0000000000100000000000000000000000000000000000000000000000000000, - }, - { - Value: 0b0000000001000000000000000000000000000000000000000000000000000000, - }, - { - Value: 0b0000000010000000000000000000000000000000000000000000000000000000, - }, - { - Value: 0b0000000100000000000000000000000000000000000000000000000000000000, - }, - { - Value: 0b0000001000000000000000000000000000000000000000000000000000000000, - }, - { - Value: 0b0000010000000000000000000000000000000000000000000000000000000000, - }, - { - Value: 0b0000100000000000000000000000000000000000000000000000000000000000, - }, - { - Value: 0b0001000000000000000000000000000000000000000000000000000000000000, - }, - { - Value: 0b0010000000000000000000000000000000000000000000000000000000000000, - }, - { - Value: 0b0100000000000000000000000000000000000000000000000000000000000000, - }, - - - - - { - Value: 0b0111111111111111111111111111111111111111111111111111111111111110, - }, - { - Value: 0b0111111111111111111111111111111111111111111111111111111111111101, - }, - { - Value: 0b0111111111111111111111111111111111111111111111111111111111111011, - }, - { - Value: 0b0111111111111111111111111111111111111111111111111111111111110111, - }, - { - Value: 0b0111111111111111111111111111111111111111111111111111111111101111, - }, - { - Value: 0b0111111111111111111111111111111111111111111111111111111111011111, - }, - { - Value: 0b0111111111111111111111111111111111111111111111111111111110111111, - }, - { - Value: 0b0111111111111111111111111111111111111111111111111111111101111111, - }, - { - Value: 0b0111111111111111111111111111111111111111111111111111111011111111, - }, - { - Value: 0b0111111111111111111111111111111111111111111111111111110111111111, - }, - { - Value: 0b0111111111111111111111111111111111111111111111111111101111111111, - }, - { - Value: 0b0111111111111111111111111111111111111111111111111111011111111111, - }, - { - Value: 0b0111111111111111111111111111111111111111111111111110111111111111, - }, - { - Value: 0b0111111111111111111111111111111111111111111111111101111111111111, - }, - { - Value: 0b0111111111111111111111111111111111111111111111111011111111111111, - }, - { - Value: 0b0111111111111111111111111111111111111111111111110111111111111111, - }, - { - Value: 0b0111111111111111111111111111111111111111111111101111111111111111, - }, - { - Value: 0b0111111111111111111111111111111111111111111111011111111111111111, - }, - { - Value: 0b0111111111111111111111111111111111111111111110111111111111111111, - }, - { - Value: 0b0111111111111111111111111111111111111111111101111111111111111111, - }, - { - Value: 0b0111111111111111111111111111111111111111111011111111111111111111, - }, - { - Value: 0b0111111111111111111111111111111111111111110111111111111111111111, - }, - { - Value: 0b0111111111111111111111111111111111111111101111111111111111111111, - }, - { - Value: 0b0111111111111111111111111111111111111111011111111111111111111111, - }, - { - Value: 0b0111111111111111111111111111111111111110111111111111111111111111, - }, - { - Value: 0b0111111111111111111111111111111111111101111111111111111111111111, - }, - { - Value: 0b0111111111111111111111111111111111111011111111111111111111111111, - }, - { - Value: 0b0111111111111111111111111111111111110111111111111111111111111111, - }, - { - Value: 0b0111111111111111111111111111111111101111111111111111111111111111, - }, - { - Value: 0b0111111111111111111111111111111111011111111111111111111111111111, - }, - { - Value: 0b0111111111111111111111111111111110111111111111111111111111111111, - }, - { - Value: 0b0111111111111111111111111111111101111111111111111111111111111111, - }, - { - Value: 0b0111111111111111111111111111111011111111111111111111111111111111, - }, - { - Value: 0b0111111111111111111111111111110111111111111111111111111111111111, - }, - { - Value: 0b0111111111111111111111111111101111111111111111111111111111111111, - }, - { - Value: 0b0111111111111111111111111111011111111111111111111111111111111111, - }, - { - Value: 0b0111111111111111111111111110111111111111111111111111111111111111, - }, - { - Value: 0b0111111111111111111111111101111111111111111111111111111111111111, - }, - { - Value: 0b0111111111111111111111111011111111111111111111111111111111111111, - }, - { - Value: 0b0111111111111111111111110111111111111111111111111111111111111111, - }, - { - Value: 0b0111111111111111111111101111111111111111111111111111111111111111, - }, - { - Value: 0b0111111111111111111111011111111111111111111111111111111111111111, - }, - { - Value: 0b0111111111111111111110111111111111111111111111111111111111111111, - }, - { - Value: 0b0111111111111111111101111111111111111111111111111111111111111111, - }, - { - Value: 0b0111111111111111111011111111111111111111111111111111111111111111, - }, - { - Value: 0b0111111111111111110111111111111111111111111111111111111111111111, - }, - { - Value: 0b0111111111111111101111111111111111111111111111111111111111111111, - }, - { - Value: 0b0111111111111111011111111111111111111111111111111111111111111111, - }, - { - Value: 0b0111111111111110111111111111111111111111111111111111111111111111, - }, - { - Value: 0b0111111111111101111111111111111111111111111111111111111111111111, - }, - { - Value: 0b0111111111111011111111111111111111111111111111111111111111111111, - }, - { - Value: 0b0111111111110111111111111111111111111111111111111111111111111111, - }, - { - Value: 0b0111111111101111111111111111111111111111111111111111111111111111, - }, - { - Value: 0b0111111111011111111111111111111111111111111111111111111111111111, - }, - { - Value: 0b0111111110111111111111111111111111111111111111111111111111111111, - }, - { - Value: 0b0111111101111111111111111111111111111111111111111111111111111111, - }, - { - Value: 0b0111111011111111111111111111111111111111111111111111111111111111, - }, - { - Value: 0b0111110111111111111111111111111111111111111111111111111111111111, - }, - { - Value: 0b0111101111111111111111111111111111111111111111111111111111111111, - }, - { - Value: 0b0111011111111111111111111111111111111111111111111111111111111111, - }, - { - Value: 0b0110111111111111111111111111111111111111111111111111111111111111, - }, - { - Value: 0b0101111111111111111111111111111111111111111111111111111111111111, - }, - { - Value: 0b0011111111111111111111111111111111111111111111111111111111111111, - }, - - - - { - Value: 0b0111111111111111111111111111111111111111111111111111111111111111, - }, - - - - - { - Value: 0b0000000000000000000000000000000000000000100000000000000000000001, - }, - - - - { - Value: 0b0100000000000000000000000000000000000001000000000000000000000000, - }, - - - - { - Value: 0b0100000000000000000000000000000000000001100000000000000000000001, - }, - } - - for testNumber, test := range tests { + for testNumber, test := range stdtests { first, second := decompile(test.Value) diff --git a/iid_marshaltext_test.go b/iid_marshaltext_test.go new file mode 100644 index 0000000..a56a001 --- /dev/null +++ b/iid_marshaltext_test.go @@ -0,0 +1,58 @@ +package iid + +import ( + "testing" +) + +func TestIID_MarshalText(t *testing.T) { + + for testNumber, test := range stdtests { + + var intid IID = something(test.Value) + + var marshaled []byte + { + var err error + + marshaled, err = intid.MarshalText() + if nil != err { + t.Errorf("For test #%d, did not expect an error when mashaling, but actually got one.", testNumber) + t.Logf("VALUE: %064b", test.Value) + t.Logf("ERROR: (%T) %s", err, err) + continue + } + if nil == marshaled { + t.Errorf("For test #%d, the actual marshaled value is nil but that was not expected.", testNumber) + t.Logf("VALUE: %064b", test.Value) + t.Logf("MARSHALED: %s", marshaled) + continue + } + } + + { + var newintid IID + + err := newintid.UnmarshalText(marshaled) + if nil != err { + t.Errorf("For test #%d, did not expect an error when unmashaling, but actually got one.", testNumber) + t.Logf("VALUE: %064b", test.Value) + t.Logf("MARSHALED: %s", marshaled) + t.Logf("ERROR: (%T) %s", err, err) + continue + } + + + var expected IID = intid + var actual IID = newintid + + if expected != actual { + t.Errorf("For test #%d, the actual unmarshaled marshaled value is not what was expected.", testNumber) + t.Logf("VALUE: %064b", test.Value) + t.Logf("EXPECTED: %s", expected) + t.Logf("ACTUAL: %s", actual) + continue + } + + } + } +} diff --git a/serialize_test.go b/serialize_test.go index ef665a2..305b97d 100644 --- a/serialize_test.go +++ b/serialize_test.go @@ -6,463 +6,7 @@ import ( func TestSerialize(t *testing.T) { - tests := []struct{ - Value uint64 - }{ - { - Value: 0b0000000000000000000000000000000000000000000000000000000000000000, - }, - - - - - - - - - - { - Value: 0b0000000000000000000000000000000000000000000000000000000000000001, - }, - { - Value: 0b0000000000000000000000000000000000000000000000000000000000000010, - }, - { - Value: 0b0000000000000000000000000000000000000000000000000000000000000100, - }, - { - Value: 0b0000000000000000000000000000000000000000000000000000000000001000, - }, - { - Value: 0b0000000000000000000000000000000000000000000000000000000000010000, - }, - { - Value: 0b0000000000000000000000000000000000000000000000000000000000100000, - }, - { - Value: 0b0000000000000000000000000000000000000000000000000000000001000000, - }, - { - Value: 0b0000000000000000000000000000000000000000000000000000000010000000, - }, - { - Value: 0b0000000000000000000000000000000000000000000000000000000100000000, - }, - { - Value: 0b0000000000000000000000000000000000000000000000000000001000000000, - }, - { - Value: 0b0000000000000000000000000000000000000000000000000000010000000000, - }, - { - Value: 0b0000000000000000000000000000000000000000000000000000100000000000, - }, - { - Value: 0b0000000000000000000000000000000000000000000000000001000000000000, - }, - { - Value: 0b0000000000000000000000000000000000000000000000000010000000000000, - }, - { - Value: 0b0000000000000000000000000000000000000000000000000100000000000000, - }, - { - Value: 0b0000000000000000000000000000000000000000000000001000000000000000, - }, - { - Value: 0b0000000000000000000000000000000000000000000000010000000000000000, - }, - { - Value: 0b0000000000000000000000000000000000000000000000100000000000000000, - }, - { - Value: 0b0000000000000000000000000000000000000000000001000000000000000000, - }, - { - Value: 0b0000000000000000000000000000000000000000000010000000000000000000, - }, - { - Value: 0b0000000000000000000000000000000000000000000100000000000000000000, - }, - { - Value: 0b0000000000000000000000000000000000000000001000000000000000000000, - }, - { - Value: 0b0000000000000000000000000000000000000000010000000000000000000000, - }, - { - Value: 0b0000000000000000000000000000000000000000100000000000000000000000, - }, - { - Value: 0b0000000000000000000000000000000000000001000000000000000000000000, - }, - { - Value: 0b0000000000000000000000000000000000000010000000000000000000000000, - }, - { - Value: 0b0000000000000000000000000000000000000100000000000000000000000000, - }, - { - Value: 0b0000000000000000000000000000000000001000000000000000000000000000, - }, - { - Value: 0b0000000000000000000000000000000000010000000000000000000000000000, - }, - { - Value: 0b0000000000000000000000000000000001000000000000000000000000000000, - }, - { - Value: 0b0000000000000000000000000000000010000000000000000000000000000000, - }, - { - Value: 0b0000000000000000000000000000000100000000000000000000000000000000, - }, - { - Value: 0b0000000000000000000000000000001000000000000000000000000000000000, - }, - { - Value: 0b0000000000000000000000000000010000000000000000000000000000000000, - }, - { - Value: 0b0000000000000000000000000000100000000000000000000000000000000000, - }, - { - Value: 0b0000000000000000000000000001000000000000000000000000000000000000, - }, - { - Value: 0b0000000000000000000000000010000000000000000000000000000000000000, - }, - { - Value: 0b0000000000000000000000000100000000000000000000000000000000000000, - }, - { - Value: 0b0000000000000000000000001000000000000000000000000000000000000000, - }, - { - Value: 0b0000000000000000000000010000000000000000000000000000000000000000, - }, - { - Value: 0b0000000000000000000000100000000000000000000000000000000000000000, - }, - { - Value: 0b0000000000000000000001000000000000000000000000000000000000000000, - }, - { - Value: 0b0000000000000000000010000000000000000000000000000000000000000000, - }, - { - Value: 0b0000000000000000000100000000000000000000000000000000000000000000, - }, - { - Value: 0b0000000000000000001000000000000000000000000000000000000000000000, - }, - { - Value: 0b0000000000000000010000000000000000000000000000000000000000000000, - }, - { - Value: 0b0000000000000000100000000000000000000000000000000000000000000000, - }, - { - Value: 0b0000000000000001000000000000000000000000000000000000000000000000, - }, - { - Value: 0b0000000000000010000000000000000000000000000000000000000000000000, - }, - { - Value: 0b0000000000000100000000000000000000000000000000000000000000000000, - }, - { - Value: 0b0000000000001000000000000000000000000000000000000000000000000000, - }, - { - Value: 0b0000000000010000000000000000000000000000000000000000000000000000, - }, - { - Value: 0b0000000000100000000000000000000000000000000000000000000000000000, - }, - { - Value: 0b0000000001000000000000000000000000000000000000000000000000000000, - }, - { - Value: 0b0000000010000000000000000000000000000000000000000000000000000000, - }, - { - Value: 0b0000000100000000000000000000000000000000000000000000000000000000, - }, - { - Value: 0b0000001000000000000000000000000000000000000000000000000000000000, - }, - { - Value: 0b0000010000000000000000000000000000000000000000000000000000000000, - }, - { - Value: 0b0000100000000000000000000000000000000000000000000000000000000000, - }, - { - Value: 0b0001000000000000000000000000000000000000000000000000000000000000, - }, - { - Value: 0b0010000000000000000000000000000000000000000000000000000000000000, - }, - { - Value: 0b0100000000000000000000000000000000000000000000000000000000000000, - }, - - - - - - - - - - { - Value: 0b0111111111111111111111111111111111111111111111111111111111111110, - }, - { - Value: 0b0111111111111111111111111111111111111111111111111111111111111101, - }, - { - Value: 0b0111111111111111111111111111111111111111111111111111111111111011, - }, - { - Value: 0b0111111111111111111111111111111111111111111111111111111111110111, - }, - { - Value: 0b0111111111111111111111111111111111111111111111111111111111101111, - }, - { - Value: 0b0111111111111111111111111111111111111111111111111111111111011111, - }, - { - Value: 0b0111111111111111111111111111111111111111111111111111111110111111, - }, - { - Value: 0b0111111111111111111111111111111111111111111111111111111101111111, - }, - { - Value: 0b0111111111111111111111111111111111111111111111111111111011111111, - }, - { - Value: 0b0111111111111111111111111111111111111111111111111111110111111111, - }, - { - Value: 0b0111111111111111111111111111111111111111111111111111101111111111, - }, - { - Value: 0b0111111111111111111111111111111111111111111111111111011111111111, - }, - { - Value: 0b0111111111111111111111111111111111111111111111111110111111111111, - }, - { - Value: 0b0111111111111111111111111111111111111111111111111101111111111111, - }, - { - Value: 0b0111111111111111111111111111111111111111111111111011111111111111, - }, - { - Value: 0b0111111111111111111111111111111111111111111111110111111111111111, - }, - { - Value: 0b0111111111111111111111111111111111111111111111101111111111111111, - }, - { - Value: 0b0111111111111111111111111111111111111111111111011111111111111111, - }, - { - Value: 0b0111111111111111111111111111111111111111111110111111111111111111, - }, - { - Value: 0b0111111111111111111111111111111111111111111101111111111111111111, - }, - { - Value: 0b0111111111111111111111111111111111111111111011111111111111111111, - }, - { - Value: 0b0111111111111111111111111111111111111111110111111111111111111111, - }, - { - Value: 0b0111111111111111111111111111111111111111101111111111111111111111, - }, - { - Value: 0b0111111111111111111111111111111111111111011111111111111111111111, - }, - { - Value: 0b0111111111111111111111111111111111111110111111111111111111111111, - }, - { - Value: 0b0111111111111111111111111111111111111101111111111111111111111111, - }, - { - Value: 0b0111111111111111111111111111111111111011111111111111111111111111, - }, - { - Value: 0b0111111111111111111111111111111111110111111111111111111111111111, - }, - { - Value: 0b0111111111111111111111111111111111101111111111111111111111111111, - }, - { - Value: 0b0111111111111111111111111111111111011111111111111111111111111111, - }, - { - Value: 0b0111111111111111111111111111111110111111111111111111111111111111, - }, - { - Value: 0b0111111111111111111111111111111101111111111111111111111111111111, - }, - { - Value: 0b0111111111111111111111111111111011111111111111111111111111111111, - }, - { - Value: 0b0111111111111111111111111111110111111111111111111111111111111111, - }, - { - Value: 0b0111111111111111111111111111101111111111111111111111111111111111, - }, - { - Value: 0b0111111111111111111111111111011111111111111111111111111111111111, - }, - { - Value: 0b0111111111111111111111111110111111111111111111111111111111111111, - }, - { - Value: 0b0111111111111111111111111101111111111111111111111111111111111111, - }, - { - Value: 0b0111111111111111111111111011111111111111111111111111111111111111, - }, - { - Value: 0b0111111111111111111111110111111111111111111111111111111111111111, - }, - { - Value: 0b0111111111111111111111101111111111111111111111111111111111111111, - }, - { - Value: 0b0111111111111111111111011111111111111111111111111111111111111111, - }, - { - Value: 0b0111111111111111111110111111111111111111111111111111111111111111, - }, - { - Value: 0b0111111111111111111101111111111111111111111111111111111111111111, - }, - { - Value: 0b0111111111111111111011111111111111111111111111111111111111111111, - }, - { - Value: 0b0111111111111111110111111111111111111111111111111111111111111111, - }, - { - Value: 0b0111111111111111101111111111111111111111111111111111111111111111, - }, - { - Value: 0b0111111111111111011111111111111111111111111111111111111111111111, - }, - { - Value: 0b0111111111111110111111111111111111111111111111111111111111111111, - }, - { - Value: 0b0111111111111101111111111111111111111111111111111111111111111111, - }, - { - Value: 0b0111111111111011111111111111111111111111111111111111111111111111, - }, - { - Value: 0b0111111111110111111111111111111111111111111111111111111111111111, - }, - { - Value: 0b0111111111101111111111111111111111111111111111111111111111111111, - }, - { - Value: 0b0111111111011111111111111111111111111111111111111111111111111111, - }, - { - Value: 0b0111111110111111111111111111111111111111111111111111111111111111, - }, - { - Value: 0b0111111101111111111111111111111111111111111111111111111111111111, - }, - { - Value: 0b0111111011111111111111111111111111111111111111111111111111111111, - }, - { - Value: 0b0111110111111111111111111111111111111111111111111111111111111111, - }, - { - Value: 0b0111101111111111111111111111111111111111111111111111111111111111, - }, - { - Value: 0b0111011111111111111111111111111111111111111111111111111111111111, - }, - { - Value: 0b0110111111111111111111111111111111111111111111111111111111111111, - }, - { - Value: 0b0101111111111111111111111111111111111111111111111111111111111111, - }, - { - Value: 0b0011111111111111111111111111111111111111111111111111111111111111, - }, - - - - - - - - - - { - Value: 0b0111111111111111111111111111111111111111111111111111111111111111, - }, - - - - - { - Value: 0b0000000000000000000000000000000000000000111111111111111111111111, - }, - { - Value: 0b0111111111111111111111111111111111111111000000000000000000000000, - }, - - - - { - Value: 0b0000000000000000000000000000000000000000100000000000000000000001, - }, - { - Value: 0b0100000000000000000000000000000000000001000000000000000000000000, - }, - - - - - - - - - - { - Value: 0b0000000001100001100001110110100111011001110000111111000101100100, - }, - { - Value: 0b0000000001100001100001110110101000001110110110001111101101100001, - }, - { - Value: 0b0000000001100001100001110110101000100000100100010111101000001110, - }, - { - Value: 0b0000000001100001100001110110101000111010100110110011110001010101, - }, - { - Value: 0b0000000001100001100001110110101001010010100011000011110001000100, - }, - } - - for testNumber, test := range tests { + for testNumber, test := range stdtests { var serialized string = serialize(test.Value) diff --git a/test_test.go b/test_test.go new file mode 100644 index 0000000..5c37c05 --- /dev/null +++ b/test_test.go @@ -0,0 +1,467 @@ +package iid + +var ( + stdtests = []struct{ + Value uint64 + }{ + { + Value: 0b0000000000000000000000000000000000000000000000000000000000000000, + }, + + + + + + + + + + { + Value: 0b0000000000000000000000000000000000000000000000000000000000000001, + }, + { + Value: 0b0000000000000000000000000000000000000000000000000000000000000010, + }, + { + Value: 0b0000000000000000000000000000000000000000000000000000000000000100, + }, + { + Value: 0b0000000000000000000000000000000000000000000000000000000000001000, + }, + { + Value: 0b0000000000000000000000000000000000000000000000000000000000010000, + }, + { + Value: 0b0000000000000000000000000000000000000000000000000000000000100000, + }, + { + Value: 0b0000000000000000000000000000000000000000000000000000000001000000, + }, + { + Value: 0b0000000000000000000000000000000000000000000000000000000010000000, + }, + { + Value: 0b0000000000000000000000000000000000000000000000000000000100000000, + }, + { + Value: 0b0000000000000000000000000000000000000000000000000000001000000000, + }, + { + Value: 0b0000000000000000000000000000000000000000000000000000010000000000, + }, + { + Value: 0b0000000000000000000000000000000000000000000000000000100000000000, + }, + { + Value: 0b0000000000000000000000000000000000000000000000000001000000000000, + }, + { + Value: 0b0000000000000000000000000000000000000000000000000010000000000000, + }, + { + Value: 0b0000000000000000000000000000000000000000000000000100000000000000, + }, + { + Value: 0b0000000000000000000000000000000000000000000000001000000000000000, + }, + { + Value: 0b0000000000000000000000000000000000000000000000010000000000000000, + }, + { + Value: 0b0000000000000000000000000000000000000000000000100000000000000000, + }, + { + Value: 0b0000000000000000000000000000000000000000000001000000000000000000, + }, + { + Value: 0b0000000000000000000000000000000000000000000010000000000000000000, + }, + { + Value: 0b0000000000000000000000000000000000000000000100000000000000000000, + }, + { + Value: 0b0000000000000000000000000000000000000000001000000000000000000000, + }, + { + Value: 0b0000000000000000000000000000000000000000010000000000000000000000, + }, + { + Value: 0b0000000000000000000000000000000000000000100000000000000000000000, + }, + { + Value: 0b0000000000000000000000000000000000000001000000000000000000000000, + }, + { + Value: 0b0000000000000000000000000000000000000010000000000000000000000000, + }, + { + Value: 0b0000000000000000000000000000000000000100000000000000000000000000, + }, + { + Value: 0b0000000000000000000000000000000000001000000000000000000000000000, + }, + { + Value: 0b0000000000000000000000000000000000010000000000000000000000000000, + }, + { + Value: 0b0000000000000000000000000000000001000000000000000000000000000000, + }, + { + Value: 0b0000000000000000000000000000000010000000000000000000000000000000, + }, + { + Value: 0b0000000000000000000000000000000100000000000000000000000000000000, + }, + { + Value: 0b0000000000000000000000000000001000000000000000000000000000000000, + }, + { + Value: 0b0000000000000000000000000000010000000000000000000000000000000000, + }, + { + Value: 0b0000000000000000000000000000100000000000000000000000000000000000, + }, + { + Value: 0b0000000000000000000000000001000000000000000000000000000000000000, + }, + { + Value: 0b0000000000000000000000000010000000000000000000000000000000000000, + }, + { + Value: 0b0000000000000000000000000100000000000000000000000000000000000000, + }, + { + Value: 0b0000000000000000000000001000000000000000000000000000000000000000, + }, + { + Value: 0b0000000000000000000000010000000000000000000000000000000000000000, + }, + { + Value: 0b0000000000000000000000100000000000000000000000000000000000000000, + }, + { + Value: 0b0000000000000000000001000000000000000000000000000000000000000000, + }, + { + Value: 0b0000000000000000000010000000000000000000000000000000000000000000, + }, + { + Value: 0b0000000000000000000100000000000000000000000000000000000000000000, + }, + { + Value: 0b0000000000000000001000000000000000000000000000000000000000000000, + }, + { + Value: 0b0000000000000000010000000000000000000000000000000000000000000000, + }, + { + Value: 0b0000000000000000100000000000000000000000000000000000000000000000, + }, + { + Value: 0b0000000000000001000000000000000000000000000000000000000000000000, + }, + { + Value: 0b0000000000000010000000000000000000000000000000000000000000000000, + }, + { + Value: 0b0000000000000100000000000000000000000000000000000000000000000000, + }, + { + Value: 0b0000000000001000000000000000000000000000000000000000000000000000, + }, + { + Value: 0b0000000000010000000000000000000000000000000000000000000000000000, + }, + { + Value: 0b0000000000100000000000000000000000000000000000000000000000000000, + }, + { + Value: 0b0000000001000000000000000000000000000000000000000000000000000000, + }, + { + Value: 0b0000000010000000000000000000000000000000000000000000000000000000, + }, + { + Value: 0b0000000100000000000000000000000000000000000000000000000000000000, + }, + { + Value: 0b0000001000000000000000000000000000000000000000000000000000000000, + }, + { + Value: 0b0000010000000000000000000000000000000000000000000000000000000000, + }, + { + Value: 0b0000100000000000000000000000000000000000000000000000000000000000, + }, + { + Value: 0b0001000000000000000000000000000000000000000000000000000000000000, + }, + { + Value: 0b0010000000000000000000000000000000000000000000000000000000000000, + }, + { + Value: 0b0100000000000000000000000000000000000000000000000000000000000000, + }, + + + + + + + + + + { + Value: 0b0111111111111111111111111111111111111111111111111111111111111110, + }, + { + Value: 0b0111111111111111111111111111111111111111111111111111111111111101, + }, + { + Value: 0b0111111111111111111111111111111111111111111111111111111111111011, + }, + { + Value: 0b0111111111111111111111111111111111111111111111111111111111110111, + }, + { + Value: 0b0111111111111111111111111111111111111111111111111111111111101111, + }, + { + Value: 0b0111111111111111111111111111111111111111111111111111111111011111, + }, + { + Value: 0b0111111111111111111111111111111111111111111111111111111110111111, + }, + { + Value: 0b0111111111111111111111111111111111111111111111111111111101111111, + }, + { + Value: 0b0111111111111111111111111111111111111111111111111111111011111111, + }, + { + Value: 0b0111111111111111111111111111111111111111111111111111110111111111, + }, + { + Value: 0b0111111111111111111111111111111111111111111111111111101111111111, + }, + { + Value: 0b0111111111111111111111111111111111111111111111111111011111111111, + }, + { + Value: 0b0111111111111111111111111111111111111111111111111110111111111111, + }, + { + Value: 0b0111111111111111111111111111111111111111111111111101111111111111, + }, + { + Value: 0b0111111111111111111111111111111111111111111111111011111111111111, + }, + { + Value: 0b0111111111111111111111111111111111111111111111110111111111111111, + }, + { + Value: 0b0111111111111111111111111111111111111111111111101111111111111111, + }, + { + Value: 0b0111111111111111111111111111111111111111111111011111111111111111, + }, + { + Value: 0b0111111111111111111111111111111111111111111110111111111111111111, + }, + { + Value: 0b0111111111111111111111111111111111111111111101111111111111111111, + }, + { + Value: 0b0111111111111111111111111111111111111111111011111111111111111111, + }, + { + Value: 0b0111111111111111111111111111111111111111110111111111111111111111, + }, + { + Value: 0b0111111111111111111111111111111111111111101111111111111111111111, + }, + { + Value: 0b0111111111111111111111111111111111111111011111111111111111111111, + }, + { + Value: 0b0111111111111111111111111111111111111110111111111111111111111111, + }, + { + Value: 0b0111111111111111111111111111111111111101111111111111111111111111, + }, + { + Value: 0b0111111111111111111111111111111111111011111111111111111111111111, + }, + { + Value: 0b0111111111111111111111111111111111110111111111111111111111111111, + }, + { + Value: 0b0111111111111111111111111111111111101111111111111111111111111111, + }, + { + Value: 0b0111111111111111111111111111111111011111111111111111111111111111, + }, + { + Value: 0b0111111111111111111111111111111110111111111111111111111111111111, + }, + { + Value: 0b0111111111111111111111111111111101111111111111111111111111111111, + }, + { + Value: 0b0111111111111111111111111111111011111111111111111111111111111111, + }, + { + Value: 0b0111111111111111111111111111110111111111111111111111111111111111, + }, + { + Value: 0b0111111111111111111111111111101111111111111111111111111111111111, + }, + { + Value: 0b0111111111111111111111111111011111111111111111111111111111111111, + }, + { + Value: 0b0111111111111111111111111110111111111111111111111111111111111111, + }, + { + Value: 0b0111111111111111111111111101111111111111111111111111111111111111, + }, + { + Value: 0b0111111111111111111111111011111111111111111111111111111111111111, + }, + { + Value: 0b0111111111111111111111110111111111111111111111111111111111111111, + }, + { + Value: 0b0111111111111111111111101111111111111111111111111111111111111111, + }, + { + Value: 0b0111111111111111111111011111111111111111111111111111111111111111, + }, + { + Value: 0b0111111111111111111110111111111111111111111111111111111111111111, + }, + { + Value: 0b0111111111111111111101111111111111111111111111111111111111111111, + }, + { + Value: 0b0111111111111111111011111111111111111111111111111111111111111111, + }, + { + Value: 0b0111111111111111110111111111111111111111111111111111111111111111, + }, + { + Value: 0b0111111111111111101111111111111111111111111111111111111111111111, + }, + { + Value: 0b0111111111111111011111111111111111111111111111111111111111111111, + }, + { + Value: 0b0111111111111110111111111111111111111111111111111111111111111111, + }, + { + Value: 0b0111111111111101111111111111111111111111111111111111111111111111, + }, + { + Value: 0b0111111111111011111111111111111111111111111111111111111111111111, + }, + { + Value: 0b0111111111110111111111111111111111111111111111111111111111111111, + }, + { + Value: 0b0111111111101111111111111111111111111111111111111111111111111111, + }, + { + Value: 0b0111111111011111111111111111111111111111111111111111111111111111, + }, + { + Value: 0b0111111110111111111111111111111111111111111111111111111111111111, + }, + { + Value: 0b0111111101111111111111111111111111111111111111111111111111111111, + }, + { + Value: 0b0111111011111111111111111111111111111111111111111111111111111111, + }, + { + Value: 0b0111110111111111111111111111111111111111111111111111111111111111, + }, + { + Value: 0b0111101111111111111111111111111111111111111111111111111111111111, + }, + { + Value: 0b0111011111111111111111111111111111111111111111111111111111111111, + }, + { + Value: 0b0110111111111111111111111111111111111111111111111111111111111111, + }, + { + Value: 0b0101111111111111111111111111111111111111111111111111111111111111, + }, + { + Value: 0b0011111111111111111111111111111111111111111111111111111111111111, + }, + + + + + + + + + + { + Value: 0b0111111111111111111111111111111111111111111111111111111111111111, + }, + + + + + { + Value: 0b0000000000000000000000000000000000000000111111111111111111111111, + }, + { + Value: 0b0111111111111111111111111111111111111111000000000000000000000000, + }, + + + + { + Value: 0b0000000000000000000000000000000000000000100000000000000000000001, + }, + { + Value: 0b0100000000000000000000000000000000000001000000000000000000000000, + }, + { + Value: 0b0100000000000000000000000000000000000001100000000000000000000001, + }, + + + + + + + + + { + Value: 0b0000000001100001100001110110100111011001110000111111000101100100, + }, + { + Value: 0b0000000001100001100001110110101000001110110110001111101101100001, + }, + { + Value: 0b0000000001100001100001110110101000100000100100010111101000001110, + }, + { + Value: 0b0000000001100001100001110110101000111010100110110011110001010101, + }, + { + Value: 0b0000000001100001100001110110101001010010100011000011110001000100, + }, + { + Value: 0b0000000001100001100010000101001101001010011010000110001010111101, + }, + { + Value: 0b0000000001100001100010000101010000100001100101110101110101010010, + }, + } +)