diff --git a/libwx_test.go b/libwx_test.go index cba276c..42a92e3 100644 --- a/libwx_test.go +++ b/libwx_test.go @@ -1,17 +1,3 @@ package libwx -import ( - "testing" -) - -func Test_RelHumidity_type(t *testing.T) { - var sut interface{} = RelHumidity(50) - switch sut.(type) { - case int: - // ok - case string: - t.Fatal("RelHumidity should not be a string") - default: - t.Fatalf("RelHumidity is %T", sut) - } -} +// TODO(cdzombak): testing for calculations in libwx.go diff --git a/temperature_test.go b/temperature_test.go new file mode 100644 index 0000000..534ffbc --- /dev/null +++ b/temperature_test.go @@ -0,0 +1,39 @@ +package libwx + +import "testing" + +func TestTempF_C(t *testing.T) { + pairs := []struct { + input TempF + expected TempC + }{ + {TempF(32), TempC(0)}, + {TempF(212), TempC(100)}, + {TempF(98.6), TempC(37)}, + {TempF(-40), TempC(-40)}, + } + + for _, pair := range pairs { + if Float64Compare(float64(pair.expected), float64(pair.input.C()), Tolerance001) != 0 { + t.Errorf("for input %v: expected %v, got %v", pair.input, pair.expected, pair.input.C()) + } + } +} + +func TestTempC_F(t *testing.T) { + pairs := []struct { + input TempC + expected TempF + }{ + {TempC(0), TempF(32)}, + {TempC(100), TempF(212)}, + {TempC(37), TempF(98.6)}, + {TempC(-40), TempF(-40)}, + } + + for _, pair := range pairs { + if Float64Compare(float64(pair.expected), float64(pair.input.F()), Tolerance001) != 0 { + t.Errorf("for input %v: expected %v, got %v", pair.input, pair.expected, pair.input.F()) + } + } +}