dawn-cmake/tools/src/utils/hash_test.go
Ben Clayton 5827191cc5 tools: Add buildbucket package
Wraps the luci package to make it a bit friendlier.

Bug: dawn:1342
Change-Id: I80e02344ea1ecd95134a719f21eb8bd2a1cb1997
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/86527
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2022-04-14 09:50:30 +00:00

46 lines
1.5 KiB
Go

// Copyright 2022 The Tint Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package utils_test
import (
"dawn.googlesource.com/dawn/tools/src/utils"
"testing"
)
func TestHash(t *testing.T) {
type Test struct {
a, b []any
expectEqual bool
}
for _, test := range []Test{
{a: []any{1}, b: []any{1}, expectEqual: true},
{a: []any{1}, b: []any{2}, expectEqual: false},
{a: []any{1}, b: []any{1.0}, expectEqual: false},
{a: []any{1.0}, b: []any{1.0}, expectEqual: true},
{a: []any{'x'}, b: []any{'x'}, expectEqual: true},
{a: []any{'x'}, b: []any{'y'}, expectEqual: false},
{a: []any{1, 2}, b: []any{1, 2}, expectEqual: true},
{a: []any{1, 2}, b: []any{1}, expectEqual: false},
{a: []any{1, 2}, b: []any{1, 3}, expectEqual: false},
} {
hashA := utils.Hash(test.a...)
hashB := utils.Hash(test.b...)
equal := hashA == hashB
if equal != test.expectEqual {
t.Errorf("Hash(%v): %v\nHash(%v): %v", test.a, hashA, test.b, hashB)
}
}
}