func TestIDSliceString(t *testing.T) { is := is.New(t) var ids asset.IDSlice id1, err := asset.Identify(strings.NewReader("foo")) is.NoErr(err) id2, err := asset.Identify(strings.NewReader("bar")) is.NoErr(err) ids.Push(id1) ids.Push(id2) is.Equal(ids.String(), id1.String()+id2.String()) }
func TestIdentify(t *testing.T) { is := is.New(t) id, err := asset.Identify(iotest.DataErrReader(strings.NewReader("foo"))) is.NoErr(err) is.Equal(id.String(), "c45XyDwWmrPQwJPdULBhma6LGNaLghKtN7R9vLn2tFrepZJ9jJFSDzpCKei11EgA5r1veenBu3Q8qfvWeDuPc7fJK2") }
func TestSliceIDFile(t *testing.T) { is := is.New(t) id, err := asset.Identify(errorReader(true)) is.Err(err) is.Nil(id) is.Equal(err.Error(), "errorReader triggered error.") }
func TestSum(t *testing.T) { is := is.New(t) id1, err := asset.Identify(strings.NewReader("foo")) is.NoErr(err) id2, err := asset.Identify(strings.NewReader("bar")) is.NoErr(err) is.True(id2.Less(id1)) sr := strings.NewReader(id2.String() + id1.String()) expectedSum, err := asset.Identify(sr) is.NoErr(err) testSum, err := id1.Sum(id2) is.NoErr(err) is.Equal(expectedSum, testSum) }
func TestRawSum(t *testing.T) { is := is.New(t) id1, err := asset.Identify(strings.NewReader("foo")) is.NoErr(err) id2, err := asset.Identify(strings.NewReader("bar")) is.NoErr(err) is.True(id2.Less(id1)) b := id2.RawBytes() b = append(b, id1.RawBytes()...) expectedSum, err := asset.Identify(bytes.NewReader(b)) is.NoErr(err) testSum, err := id1.RawSum(id2) is.NoErr(err) is.Equal(expectedSum, testSum) }
func TestIDSliceSearchIDs(t *testing.T) { is := is.New(t) var ids asset.IDSlice id1, err := asset.Identify(strings.NewReader("foo")) is.NoErr(err) id2, err := asset.Identify(strings.NewReader("bar")) is.NoErr(err) id3, err := asset.Identify(strings.NewReader("baz")) is.NoErr(err) ids.Push(id1) ids.Push(id2) ids.Push(id3) ids.Sort() is.True(id2.Less(id1)) is.True(id3.Less(id2)) is.Equal(asset.SearchIDs(ids, id1), 2) is.Equal(asset.SearchIDs(ids, id2), 1) is.Equal(asset.SearchIDs(ids, id3), 0) }
func TestParseBytesID(t *testing.T) { is := is.New(t) for _, test := range []struct { In string Err string Exp string }{ { In: `c43UBJqUTjQyrcRv43pgt1UWqysgNud7a7Kohjp1Z4w1gD8LGv4p1FK48kC8ufPPRpbEtc8inVhxuFQ453GcfRFE9d`, Err: ``, Exp: "This is a pretend asset file, for testing asset id generation.\n", }, { In: `c430BJqUTjQyrcRv43pgt1UWqysgNud7a7Kohjp1Z4w1gD8LGv4p1FK48kC8ufPPRpbEtc8inVhxuFQ453GcfRFE9d`, Err: `non c4 id character at position 3`, Exp: "", }, { In: ``, Err: `c4 ids must be 90 characters long, input length 0`, Exp: "", }, { In: `c43UBJqUTjQyrcRv43pgt1UWqysgNud7a7Kohjp1Z4w1gD8LGv4p1FK48kC8ufPPRpbEtc8inVhxuFQ453GcfRFE9`, Err: `c4 ids must be 90 characters long, input length 89`, Exp: "", }, } { id, err := asset.ParseBytesID([]byte(test.In)) if len(test.Err) != 0 { is.Err(err) is.Equal(err.Error(), test.Err) } else { expectedID, err := asset.Identify(strings.NewReader(test.Exp)) is.NoErr(err) is.Equal(expectedID.Cmp(id), 0) } } }