Sha256: feacbe1b0b079c7039df451627db1cb6297e0d8a3a63220c9977b7e7371b149f

Contents?: true

Size: 939 Bytes

Versions: 41

Compression:

Stored size: 939 Bytes

Contents

package change

import (
	"reflect"
	"testing"
)

func TestChange(t *testing.T) {
	for _, tc := range testCases {
		actual, err := Change(tc.coins, tc.target)
		if tc.valid {
			if err != nil {
				t.Fatalf("%s : Change(%v, %d): expected %v, got error %s",
					tc.description, tc.coins, tc.target, tc.expectedChange, err.Error())
			} else {
				if !reflect.DeepEqual(actual, tc.expectedChange) {
					t.Fatalf("%s : Change(%v, %d): expected %#v, actual %#v",
						tc.description, tc.coins, tc.target, tc.expectedChange, actual)
				} else {
					t.Logf("PASS: %s", tc.description)
				}
			}
		} else {
			if err == nil {
				t.Fatalf("%s : Change(%v, %d): expected error, got %v",
					tc.description, tc.coins, tc.target, actual)
			} else {
				t.Logf("PASS: %s", tc.description)
			}
		}
	}
}

func BenchmarkChange(b *testing.B) {
	for _, tc := range testCases {
		for i := 0; i < b.N; i++ {
			Change(tc.coins, tc.target)
		}
	}
}

Version data entries

41 entries across 41 versions & 1 rubygems

Version Path
trackler-2.2.1.97 tracks/go/exercises/change/change_test.go
trackler-2.2.1.96 tracks/go/exercises/change/change_test.go
trackler-2.2.1.95 tracks/go/exercises/change/change_test.go
trackler-2.2.1.94 tracks/go/exercises/change/change_test.go
trackler-2.2.1.93 tracks/go/exercises/change/change_test.go
trackler-2.2.1.92 tracks/go/exercises/change/change_test.go
trackler-2.2.1.91 tracks/go/exercises/change/change_test.go
trackler-2.2.1.90 tracks/go/exercises/change/change_test.go
trackler-2.2.1.89 tracks/go/exercises/change/change_test.go
trackler-2.2.1.88 tracks/go/exercises/change/change_test.go
trackler-2.2.1.87 tracks/go/exercises/change/change_test.go
trackler-2.2.1.86 tracks/go/exercises/change/change_test.go
trackler-2.2.1.85 tracks/go/exercises/change/change_test.go
trackler-2.2.1.84 tracks/go/exercises/change/change_test.go
trackler-2.2.1.83 tracks/go/exercises/change/change_test.go
trackler-2.2.1.82 tracks/go/exercises/change/change_test.go
trackler-2.2.1.81 tracks/go/exercises/change/change_test.go
trackler-2.2.1.80 tracks/go/exercises/change/change_test.go
trackler-2.2.1.79 tracks/go/exercises/change/change_test.go
trackler-2.2.1.78 tracks/go/exercises/change/change_test.go