package ber import ( "bytes" "testing" ) type base128Test struct { in int out []byte } var base128TestData = []base128Test{ {643, []byte{0x85, 0x03}}, {113549, []byte{0x86, 0xF7, 0x0D}}, {49152, []byte{0x83, 0x80, 0x00}}, } func TestBase128(t *testing.T) { for _, b := range base128TestData { a := base128(b.in) if !bytes.Equal(a, b.out) { t.Error("Base128", b.in, "expected", b.out, "got", a) } } } type oidTest struct { oid OID out []byte } var oidTestData = []oidTest{ {OID{1, 3, 12, 0, 218}, []byte{0x2B, 0x0C, 0x00, 0x81, 0x5A}}, {OID{1, 3, 12, 0, 285, 200}, []byte{0x2B, 0x0C, 0x00, 0x82, 0x1D, 0x81, 0x48}}, {OID{}, []byte{}}, {OID{0, 39}, []byte{0x27}}, {OID{1, 39}, []byte{0x4f}}, {OID{1, 40}, []byte{}}, {OID{2, 40}, []byte{0x78}}, } func TestOID(t *testing.T) { for _, o := range oidTestData { a := marshalOID(o.oid) if !bytes.Equal(a, o.out) { t.Error("OID", o.oid, "expected", o.out, "got", a) } } }