/
strategy_test.go
60 lines (54 loc) · 940 Bytes
/
strategy_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
51
52
53
54
55
56
57
58
59
60
package strategy
import (
"testing"
)
// test Add
func TestAdd_GetResult(t *testing.T) {
ctx := NewContext(&Add{})
var a, b float64
a = 1
b = 3
r, _ := ctx.GetResult(a, b)
if r != a+b {
t.Fatal("operationSub test error")
}
}
// test Sub
func TestSub_GetResult(t *testing.T) {
ctx := NewContext(&Sub{})
var a, b float64
a = 1
b = 3
r, _ := ctx.GetResult(a, b)
if r != a-b {
t.Fatal("operationSub test error")
}
}
// test Mul
func TestMul_GetResult(t *testing.T) {
ctx := NewContext(&Mul{})
var a, b float64
a = 1
b = 3
r, _ := ctx.GetResult(a, b)
if r != a*b {
t.Fatal("operationMul test error")
}
}
// test Div
func TestOperationDiv_GetResult(t *testing.T) {
ctx := NewContext(&Div{})
var a, b float64
a = 1
b = 3
r, _ := ctx.GetResult(a, b)
if r != a/b {
t.Fatal("operationDiv test error")
}
a = 1
b = 0
r, err := ctx.GetResult(a, b)
if err == nil {
t.Fatal("operationDiv test error")
}
}