-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmethod_parse_test.go
43 lines (39 loc) · 1.55 KB
/
method_parse_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
package dic
import (
"reflect"
"testing"
)
func TestParseMethod(t *testing.T) {
var post = ParseMethod("post")
if post == nil {
t.Errorf("функция ParseMethod(), вернулся nil, ожидался не nil объект")
}
if reflect.ValueOf(post).Pointer() != reflect.ValueOf(Method().Post).Pointer() {
t.Errorf("функция NewMethod(), вернулся объект: %v, ожидался объект: %v", post, Method().Post)
}
}
func TestNewMethod(t *testing.T) {
var (
get IMethod
fsh IMethod
)
// Проверка, должен вернуться объект существующего стандартного метода.
get = NewMethod("get")
if get == nil {
t.Errorf("функция NewMethod(), вернулся nil, ожидался не nil объект")
}
if reflect.ValueOf(get).Pointer() != reflect.ValueOf(Method().Get).Pointer() {
t.Errorf("функция NewMethod(), вернулся объект: %v, ожидался объект: %v", get, Method().Get)
}
// Новый, не существующий метод.
fsh = NewMethod("flush")
if fsh == nil {
t.Errorf("функция NewMethod(), вернулся nil, ожидался не nil объект")
}
if fsh.(*tMethod).bits == 0 || fsh.(*tMethod).name != "FLUSH" {
t.Errorf("функция NewMethod(), вернулся объект: %v, ожидался объект: %v", fsh, "FLUSH")
}
if fsh.String() != "FLUSH" {
t.Errorf("функция String(), вернулось значение: %q, ожидалось: %q", fsh.String(), "FLUSH")
}
}