summaryrefslogtreecommitdiff
path: root/go/leap/leap_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'go/leap/leap_test.go')
-rw-r--r--go/leap/leap_test.go32
1 files changed, 32 insertions, 0 deletions
diff --git a/go/leap/leap_test.go b/go/leap/leap_test.go
new file mode 100644
index 0000000..974d79e
--- /dev/null
+++ b/go/leap/leap_test.go
@@ -0,0 +1,32 @@
+package leap
+
+import "testing"
+
+// Define a function IsLeapYear(int) bool.
+//
+// Also define a testVersion with a value that matches
+// the targetTestVersion here.
+
+const targetTestVersion = 2
+
+func TestLeapYears(t *testing.T) {
+ if testVersion != targetTestVersion {
+ t.Fatalf("Found testVersion = %v, want %v", testVersion, targetTestVersion)
+ }
+ for _, test := range testCases {
+ observed := IsLeapYear(test.year)
+ if observed != test.expected {
+ t.Fatalf("IsLeapYear(%d) = %t, want %t (%s)",
+ test.year, observed, test.expected, test.description)
+ }
+ }
+}
+
+// Benchmark 400 year interval to get fair weighting of different years.
+func Benchmark400(b *testing.B) {
+ for i := 0; i < b.N; i++ {
+ for y := 1600; y < 2000; y++ {
+ IsLeapYear(y)
+ }
+ }
+}