Sha256: 11f0726ed4241ca7ba431261fc686b7a12db33f582c9cbf4cb36734cece64ad7

Contents?: true

Size: 1011 Bytes

Versions: 95

Compression:

Stored size: 1011 Bytes

Contents

package secret

import (
	"reflect"
	"testing"
)

const targetTestVersion = 1

var tests = []struct {
	code uint
	h    []string
}{
	{1, []string{"wink"}},
	{2, []string{"double blink"}},
	{4, []string{"close your eyes"}},
	{8, []string{"jump"}},
	{3, []string{"wink", "double blink"}},
	{19, []string{"double blink", "wink"}},
	{31, []string{"jump", "close your eyes", "double blink", "wink"}},
	{0, nil},
	{32, nil},
	{33, []string{"wink"}},
}

func TestHandshake(t *testing.T) {
	if testVersion != targetTestVersion {
		t.Fatalf("Found testVersion = %v, want %v", testVersion, targetTestVersion)
	}
	for _, test := range tests {
		h := Handshake(test.code)
		// use len() to allow either nil or empty list, because
		// they are not equal by DeepEqual
		if len(h) == 0 && len(test.h) == 0 {
			continue
		}
		if !reflect.DeepEqual(h, test.h) {
			t.Fatalf("Handshake(%d) = %q, want %q.", test.code, h, test.h)
		}
	}
}

func BenchmarkHandshake(b *testing.B) {
	for i := 0; i < b.N; i++ {
		Handshake(31)
	}
}

Version data entries

95 entries across 95 versions & 1 rubygems

Version Path
trackler-2.0.8.20 tracks/go/exercises/secret-handshake/secret_handshake_test.go
trackler-2.0.8.19 tracks/go/exercises/secret-handshake/secret_handshake_test.go
trackler-2.0.8.18 tracks/go/exercises/secret-handshake/secret_handshake_test.go
trackler-2.0.8.17 tracks/go/exercises/secret-handshake/secret_handshake_test.go
trackler-2.0.8.16 tracks/go/exercises/secret-handshake/secret_handshake_test.go
trackler-2.0.8.15 tracks/go/exercises/secret-handshake/secret_handshake_test.go
trackler-2.0.8.14 tracks/go/exercises/secret-handshake/secret_handshake_test.go
trackler-2.0.8.13 tracks/go/exercises/secret-handshake/secret_handshake_test.go
trackler-2.0.8.12 tracks/go/exercises/secret-handshake/secret_handshake_test.go
trackler-2.0.8.11 tracks/go/exercises/secret-handshake/secret_handshake_test.go
trackler-2.0.8.10 tracks/go/exercises/secret-handshake/secret_handshake_test.go
trackler-2.0.8.9 tracks/go/exercises/secret-handshake/secret_handshake_test.go
trackler-2.0.8.8 tracks/go/exercises/secret-handshake/secret_handshake_test.go
trackler-2.0.8.7 tracks/go/exercises/secret-handshake/secret_handshake_test.go
trackler-2.0.8.6 tracks/go/exercises/secret-handshake/secret_handshake_test.go
trackler-2.0.8.5 tracks/go/exercises/secret-handshake/secret_handshake_test.go
trackler-2.0.8.4 tracks/go/exercises/secret-handshake/secret_handshake_test.go
trackler-2.0.8.3 tracks/go/exercises/secret-handshake/secret_handshake_test.go
trackler-2.0.8.2 tracks/go/exercises/secret-handshake/secret_handshake_test.go
trackler-2.0.8.1 tracks/go/exercises/secret-handshake/secret_handshake_test.go