-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy patholog_test.go
121 lines (110 loc) · 2.97 KB
/
olog_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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
//
// olog_test.go
// olog
//
// Copyright 2020 Daher Alfawares
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2
//
// Unless required by applicable law or agreed to in writing,
// distributed under the License is distributed on an "AS IS" BASIS
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied
// See the License for the specific language governing permissions
// limitations under the License
package olog
import (
"testing"
)
type Data struct {
Name string
Age int
Score float32
low int
}
func TestPrint(t *testing.T) {
var data = []Data{
Data{Name: "John Smith", Age: 30, Score: 99.223},
Data{Name: "Jane Smith", Age: 30, Score: 99.223},
}
Print(data)
Print(Soft, data)
Print(Bold, data)
Print(Strong, data)
Print(VStrong, data)
Print(HStrong, data)
Print(Clear, data)
Print(Markdown, data)
Print(Block, data)
}
func TestPrintString(t *testing.T) {
Print("Test Print string")
Print([]string{"Test Print []string", "String 1", "String 2"})
}
func TestStruct(t *testing.T) {
Print(Data{"Ahmed", 25, 9.32, 0})
}
func TestPrintCSV(t *testing.T) {
Print([][]string{{"Test Print [][]string", "Single", "Row"}})
Print([][]string{
{"Test Print [][]string", "Multiple", "Rows"},
{"value 100", "value 010", "value 001"},
{"value 200", "value 020", "value 002"},
{"value 300", "value 030", "value 003"},
})
}
func TestEmpty(t *testing.T) {
Print([]Data{})
Print("")
Print([]string{""})
Print([]string{"", ""})
Print([][]string{{"", ""}, {"", ""}})
}
func TestVariadic(t *testing.T) {
Print("String Only")
Print([]string{"[]string", "hello", "world"})
Print(
[][]string{
{"Test Print [][]string", "Multiple", "Rows"},
{"value 100", "value 010", "value 001"},
{"value 200", "value 020", "value 002"},
{"value 300", "value 030", "value 003"},
})
Print(Data{"Ahmed", 25, 9.32, 0})
Print([]Data{Data{Name: "John Smith", Age: 30, Score: 99.223}, Data{Name: "Jane Smith", Age: 30, Score: 99.223}})
Print(
Normal,
"string",
[]string{"[]string", "hello", "world"},
[]string{"[]string", "hello", "world", "for real", "now"},
[][]string{
{"Test Print [][]string", "Multiple", "Rows"},
{"value 100", "value 010", "value 001"},
{"value 200", "value 020", "value 002"},
{"value 300", "value 030", "value 003"},
},
Data{"Ahmed", 25, 9.32, 0},
[]Data{
Data{Name: "John Smith", Age: 30, Score: 99.223},
Data{Name: "Jane Smith", Age: 30, Score: 99.223},
},
[]string{"[]string", "hello", "world", "for real", "now"},
)
}
func TestMap(t *testing.T) {
ms := make(map[string]string)
ms["hello"] = "world"
mi := make(map[int]string)
mi[1] = "one"
mi[2] = "two"
msi := make(map[string]int)
msi["one"] = 1
msi["two"] = 2
msf := make(map[string]float64)
msf["first"] = 1.23
msf["last"] = 2.25
Print(ms, mi, msi, msf)
}