Sha256: 9380cccbfc81ee5cc9a19755fd53e50b199157fc5b4f012e169e62a35ea1fe21

Contents?: true

Size: 1.16 KB

Versions: 219

Compression:

Stored size: 1.16 KB

Contents

package diffsquares

import "testing"

var tests = []struct{ n, sqOfSums, sumOfSq int }{
	{5, 225, 55},
	{10, 3025, 385},
	{100, 25502500, 338350},
}

func TestSquareOfSums(t *testing.T) {
	for _, test := range tests {
		if s := SquareOfSums(test.n); s != test.sqOfSums {
			t.Fatalf("SquareOfSums(%d) = %d, want %d", test.n, s, test.sqOfSums)
		}
	}
}

func TestSumOfSquares(t *testing.T) {
	for _, test := range tests {
		if s := SumOfSquares(test.n); s != test.sumOfSq {
			t.Fatalf("SumOfSquares(%d) = %d, want %d", test.n, s, test.sumOfSq)
		}
	}
}

func TestDifference(t *testing.T) {
	for _, test := range tests {
		want := test.sqOfSums - test.sumOfSq
		if s := Difference(test.n); s != want {
			t.Fatalf("Difference(%d) = %d, want %d", test.n, s, want)
		}
	}
}

// Benchmark functions on just a single number (100, from the original PE problem)
// to avoid overhead of iterating over tests.
func BenchmarkSquareOfSums(b *testing.B) {
	for i := 0; i < b.N; i++ {
		SquareOfSums(100)
	}
}

func BenchmarkSumOfSquares(b *testing.B) {
	for i := 0; i < b.N; i++ {
		SumOfSquares(100)
	}
}

func BenchmarkDifference(b *testing.B) {
	for i := 0; i < b.N; i++ {
		Difference(100)
	}
}

Version data entries

219 entries across 219 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/go/exercises/difference-of-squares/difference_of_squares_test.go
trackler-2.2.1.179 tracks/go/exercises/difference-of-squares/difference_of_squares_test.go
trackler-2.2.1.178 tracks/go/exercises/difference-of-squares/difference_of_squares_test.go
trackler-2.2.1.177 tracks/go/exercises/difference-of-squares/difference_of_squares_test.go
trackler-2.2.1.176 tracks/go/exercises/difference-of-squares/difference_of_squares_test.go
trackler-2.2.1.175 tracks/go/exercises/difference-of-squares/difference_of_squares_test.go
trackler-2.2.1.174 tracks/go/exercises/difference-of-squares/difference_of_squares_test.go
trackler-2.2.1.173 tracks/go/exercises/difference-of-squares/difference_of_squares_test.go
trackler-2.2.1.172 tracks/go/exercises/difference-of-squares/difference_of_squares_test.go
trackler-2.2.1.171 tracks/go/exercises/difference-of-squares/difference_of_squares_test.go
trackler-2.2.1.170 tracks/go/exercises/difference-of-squares/difference_of_squares_test.go
trackler-2.2.1.169 tracks/go/exercises/difference-of-squares/difference_of_squares_test.go
trackler-2.2.1.167 tracks/go/exercises/difference-of-squares/difference_of_squares_test.go
trackler-2.2.1.166 tracks/go/exercises/difference-of-squares/difference_of_squares_test.go
trackler-2.2.1.165 tracks/go/exercises/difference-of-squares/difference_of_squares_test.go
trackler-2.2.1.164 tracks/go/exercises/difference-of-squares/difference_of_squares_test.go
trackler-2.2.1.163 tracks/go/exercises/difference-of-squares/difference_of_squares_test.go
trackler-2.2.1.162 tracks/go/exercises/difference-of-squares/difference_of_squares_test.go
trackler-2.2.1.161 tracks/go/exercises/difference-of-squares/difference_of_squares_test.go
trackler-2.2.1.160 tracks/go/exercises/difference-of-squares/difference_of_squares_test.go