Commit 3905316

mo khan <mo.khan@gmail.com>
2019-10-27 21:10:09
https://github.com/quii/learn-go-with-tests/blob/master/structs-methods-and-interfaces.md
1 parent 29fc03f
perimeter.go
@@ -0,0 +1,14 @@
+package main
+
+type Rectangle struct {
+	Width  float64
+	Height float64
+}
+
+func Perimeter(rectangle Rectangle) float64 {
+	return 2 * (rectangle.Width + rectangle.Height)
+}
+
+func Area(rectangle Rectangle) float64 {
+	return rectangle.Width * rectangle.Height
+}
perimeter_test.go
@@ -0,0 +1,25 @@
+package main
+
+import (
+	"testing"
+)
+
+func TestPerimeter(t *testing.T) {
+	rectangle := Rectangle{10.0, 10.0}
+	got := Perimeter(rectangle)
+	want := 40.0
+
+	if got != want {
+		t.Errorf("got %.2f want %.2f", got, want)
+	}
+}
+
+func TestArea(t *testing.T) {
+	rectangle := Rectangle{12.0, 6.0}
+	got := Area(rectangle)
+	want := 72.0
+
+	if got != want {
+		t.Errorf("got %.2f want %.2f", got, want)
+	}
+}