1package git23import (4 "errors"5 "testing"67 "github.com/stretchr/testify/assert"8)910func TestOid_Equal(t *testing.T) {11 tests := []struct {12 s1 Oid13 s2 interface{}14 expVal bool15 }{16 {17 s1: MustIDFromString("fcf7087e732bfe3c25328248a9bf8c3ccd85bed4"),18 s2: "fcf7087e732bfe3c25328248a9bf8c3ccd85bed4",19 expVal: true,20 }, {21 s1: MustIDFromString("fcf7087e732bfe3c25328248a9bf8c3ccd85bed4"),22 s2: EmptySha1ID,23 expVal: false,24 },2526 {27 s1: MustIDFromString("fcf7087e732bfe3c25328248a9bf8c3ccd85bed4"),28 s2: MustIDFromString("fcf7087e732bfe3c25328248a9bf8c3ccd85bed4").(*SHA1).bytes,29 expVal: true,30 },31 {32 s1: MustIDFromString("fcf7087e732bfe3c25328248a9bf8c3ccd85bed4"),33 s2: MustIDFromString(EmptySha1ID).(*SHA1).bytes,34 expVal: false,35 },36 {37 s1: MustIDFromString("fcf7087e732bfe3c25328248a9bf8c3ccd85bed4"),38 s2: MustIDFromString("fcf7087e732bfe3c25328248a9bf8c3ccd85bed4"),39 expVal: true,40 },41 {42 s1: MustIDFromString("fcf7087e732bfe3c25328248a9bf8c3ccd85bed4"),43 s2: MustIDFromString(EmptySha1ID),44 expVal: false,45 },4647 {48 s1: MustIDFromString("fcf7087e732bfe3c25328248a9bf8c3ccd85bed4"),49 s2: []byte(EmptySha1ID),50 expVal: false,51 },5253 {54 s1: MustIDFromString("ba2cc18e595b5f70a47cea3ed71f3568addd55e7bb5581a8918b7885abb7888e"),55 s2: "ba2cc18e595b5f70a47cea3ed71f3568addd55e7bb5581a8918b7885abb7888e",56 expVal: true,57 },58 {59 s1: MustIDFromString("ba2cc18e595b5f70a47cea3ed71f3568addd55e7bb5581a8918b7885abb7888e"),60 s2: EmptySha256ID,61 expVal: false,62 },63 {64 s1: MustIDFromString("ba2cc18e595b5f70a47cea3ed71f3568addd55e7bb5581a8918b7885abb7888e"),65 s2: MustIDFromString("ba2cc18e595b5f70a47cea3ed71f3568addd55e7bb5581a8918b7885abb7888e").(*SHA256).bytes,66 expVal: true,67 },68 {69 s1: MustIDFromString("ba2cc18e595b5f70a47cea3ed71f3568addd55e7bb5581a8918b7885abb7888e"),70 s2: MustIDFromString(EmptySha256ID).(*SHA256).bytes,71 expVal: false,72 },73 {74 s1: MustIDFromString("ba2cc18e595b5f70a47cea3ed71f3568addd55e7bb5581a8918b7885abb7888e"),75 s2: MustIDFromString("ba2cc18e595b5f70a47cea3ed71f3568addd55e7bb5581a8918b7885abb7888e"),76 expVal: true,77 },78 {79 s1: MustIDFromString("ba2cc18e595b5f70a47cea3ed71f3568addd55e7bb5581a8918b7885abb7888e"),80 s2: []byte(EmptySha256ID),81 expVal: false,82 },8384 {85 s1: MustIDFromString("ba2cc18e595b5f70a47cea3ed71f3568addd55e7bb5581a8918b7885abb7888e"),86 s2: MustIDFromString("ba2cc18e595b5f70a47cea3ed71f3568addd55e7"),87 expVal: false,88 },89 }90 for _, test := range tests {91 t.Run("", func(t *testing.T) {92 assert.Equal(t, test.expVal, test.s1.Equal(test.s2))93 })94 }95}9697func TestNewID(t *testing.T) {98 sha, err := NewID([]byte("000000"))99 assert.Equal(t, errors.New("length must be 20 or 32"), err)100 assert.Nil(t, sha)101}102103func TestNewIDFromString(t *testing.T) {104 sha, err := NewIDFromString("000000")105 assert.Equal(t, errors.New("length must be 40 or 64"), err)106 assert.Nil(t, sha)107}