forked from moncho/dry
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmarkup_test.go
53 lines (46 loc) · 1.27 KB
/
markup_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
package ui
import (
"reflect"
"regexp"
"strings"
"testing"
)
func TestTokenize(t *testing.T) {
result := Tokenize("Dry is an interactive console application", regexp.MustCompile(" "))
expected := []string{"Dry", " ", "is", " ", "an", " ", "interactive", " ", "console", " ", "application"}
if len(result) != len(expected) {
t.Errorf("Tokenization didnt work, expected: %d tokens, got: %d.",
len(expected),
len(result))
}
expectedJoin := strings.Join(expected, "")
resultJoin := strings.Join(result, "")
if expectedJoin != resultJoin {
t.Errorf("Tokenization didnt work. Expected: '%s', got: '%s'.",
expectedJoin,
resultJoin)
}
if !reflect.DeepEqual(result, expected) {
t.Errorf("Tokenization didnt work. Expected: '%s', got: '%s'.",
expectedJoin,
resultJoin)
}
}
func TestTokenizeEmptyString(t *testing.T) {
result := Tokenize("", regexp.MustCompile(" "))
if len(result) != 0 {
t.Errorf("Tokenization didnt work, expected: %d tokens, got: %d.",
0,
len(result))
}
}
func TestTokenizeNil(t *testing.T) {
var emptyRunes []rune
emptyRunesString := string(emptyRunes)
result := Tokenize(emptyRunesString, regexp.MustCompile(" "))
if len(result) != 0 {
t.Errorf("Tokenization didnt work, expected: %d tokens, got: %d.",
0,
len(result))
}
}