Sha256: 1af6cb8e277df6a1122fd4f3b25857e77bb3a047275fc93c77e0bd2126dceb9b

Contents?: true

Size: 1.27 KB

Versions: 77

Compression:

Stored size: 1.27 KB

Contents

package brackets

import (
	"testing"
)

const targetTestVersion = 4

var testCases = []struct {
	input    string
	expected bool
}{
	{
		input:    "",
		expected: true,
	},
	{
		input:    "{}",
		expected: true,
	},
	{
		input:    "{{",
		expected: false,
	},
	{
		input:    "}{",
		expected: false,
	},
	{
		input:    "{}[]",
		expected: true,
	},
	{
		input:    "{[]}",
		expected: true,
	},
	{
		input:    "{[}]",
		expected: false,
	},
	{
		input:    "{[)][]}",
		expected: false,
	},
	{
		input:    "{[]([()])}",
		expected: true,
	},
}

func TestTestVersion(t *testing.T) {
	if testVersion != targetTestVersion {
		t.Fatalf("Found testVersion = %v, want %v", testVersion, targetTestVersion)
	}
}

func TestBracket(t *testing.T) {
	for _, tt := range testCases {
		actual, err := Bracket(tt.input)
		// We don't expect errors for any of the test cases
		if err != nil {
			var _ error = err
			t.Fatalf("Bracket(%q) returned error %q.  Error not expected.", tt.input, err)
		}
		if actual != tt.expected {
			t.Fatalf("Bracket(%q) was expected to return %v but returned %v.",
				tt.input, tt.expected, actual)
		}
	}
}

func BenchmarkBracket(b *testing.B) {
	b.StopTimer()
	for _, tt := range testCases {
		b.StartTimer()
		for i := 0; i < b.N; i++ {
			Bracket(tt.input)
		}
		b.StopTimer()
	}
}

Version data entries

77 entries across 77 versions & 1 rubygems

Version Path
trackler-2.1.0.11 tracks/go/exercises/bracket-push/bracket_push_test.go
trackler-2.1.0.10 tracks/go/exercises/bracket-push/bracket_push_test.go
trackler-2.1.0.9 tracks/go/exercises/bracket-push/bracket_push_test.go
trackler-2.1.0.8 tracks/go/exercises/bracket-push/bracket_push_test.go
trackler-2.1.0.7 tracks/go/exercises/bracket-push/bracket_push_test.go
trackler-2.1.0.6 tracks/go/exercises/bracket-push/bracket_push_test.go
trackler-2.1.0.5 tracks/go/exercises/bracket-push/bracket_push_test.go
trackler-2.1.0.4 tracks/go/exercises/bracket-push/bracket_push_test.go
trackler-2.1.0.3 tracks/go/exercises/bracket-push/bracket_push_test.go
trackler-2.1.0.2 tracks/go/exercises/bracket-push/bracket_push_test.go
trackler-2.1.0.1 tracks/go/exercises/bracket-push/bracket_push_test.go
trackler-2.1.0.0 tracks/go/exercises/bracket-push/bracket_push_test.go
trackler-2.0.8.55 tracks/go/exercises/bracket-push/bracket_push_test.go
trackler-2.0.8.54 tracks/go/exercises/bracket-push/bracket_push_test.go
trackler-2.0.8.53 tracks/go/exercises/bracket-push/bracket_push_test.go
trackler-2.0.8.52 tracks/go/exercises/bracket-push/bracket_push_test.go
trackler-2.0.8.51 tracks/go/exercises/bracket-push/bracket_push_test.go
trackler-2.0.8.50 tracks/go/exercises/bracket-push/bracket_push_test.go
trackler-2.0.8.49 tracks/go/exercises/bracket-push/bracket_push_test.go
trackler-2.0.8.48 tracks/go/exercises/bracket-push/bracket_push_test.go