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