31 lines
551 B
Go
31 lines
551 B
Go
package structsmethodsinterfaces
|
|
|
|
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) {
|
|
areaTests := []struct {
|
|
shape Shape
|
|
want float64
|
|
}{
|
|
{Rectangle{12, 6}, 72.0},
|
|
{Circle{10}, 314.1592653589793},
|
|
}
|
|
|
|
for _, tt := range areaTests {
|
|
got := tt.shape.Area()
|
|
if got != tt.want {
|
|
t.Errorf("got %g want %g", got, tt.want)
|
|
}
|
|
}
|
|
}
|