-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathbuilder_test.go
50 lines (43 loc) · 1.03 KB
/
builder_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
package builder
import (
"fmt"
"testing"
)
func TestBuilderCar(t *testing.T) {
builder := NewCarStudio()
builder.Brand("sky").Speed(120).Engine("audi")
car := builder.Build()
if car.Speed() != 120 {
t.Fatalf("Builder1 fail expect 120 ,but get %d", car.Speed())
}
if car.Brand() != "sky" {
t.Fatalf("Builder1 fail expect sky ,but get %s", car.Brand())
}
fmt.Println(car.Speed())
fmt.Println(car.Brand())
}
func TestBuilderCarMore(t *testing.T) {
builder := NewCarStudio()
builder.Brand("land").Speed(110).Engine("bmw")
builder.Engine("man made").Brand("panda").Wheel(15)
car := builder.Build()
fmt.Println(car.Speed())
fmt.Println(car.Brand())
car.Brief()
}
func ExampleBuilder() {
builder := NewCarStudio()
builder.Brand("land").Speed(110).Engine("bmw")
builder.Engine("man made").Brand("panda").Wheel(15)
car := builder.Build()
fmt.Println(car.Speed())
fmt.Println(car.Brand())
car.Brief()
// Output:
// 110
// panda
// this is a cool car
// car wheel size: 15
// car MaxSpeed: 110
// car Engine: man made
}