-
Notifications
You must be signed in to change notification settings - Fork 0
/
t_int8_test.go
118 lines (108 loc) · 3.59 KB
/
t_int8_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
package interval
// Code generated by generate/generate.go. DO NOT EDIT
import "fmt"
func ExampleWrapInt8() {
fmt.Printf("%v\n", WrapInt8(0, 100, 120)) //=> 20
fmt.Printf("%v\n", WrapInt8(100, 0, 120)) //=> 20 (swapped range is fine)
fmt.Printf("%v\n", WrapInt8(0, 100, 0)) //=> 0
fmt.Printf("%v\n", WrapInt8(0, 100, 100)) //=> 0
fmt.Printf("%v\n", WrapInt8(0, 100, 101)) //=> 1
fmt.Printf("%v\n", WrapInt8(50, 100, 120)) //=> 70
fmt.Printf("%v\n", WrapInt8(50, 100, 10)) //=> 60
fmt.Printf("%v\n", WrapInt8(0, 100, -10)) //=> 90
// Output:
// 20
// 20
// 0
// 0
// 1
// 70
// 60
// 90
}
func ExampleClampInt8() {
fmt.Printf("%v\n", ClampInt8(0, 100, 120)) //=> 100
fmt.Printf("%v\n", ClampInt8(0, 100, -20)) //=> 0
fmt.Printf("%v\n", ClampInt8(100, 0, -20)) //=> 0 (even though min & max are swapped)
// Output:
// 100
// 0
// 0
}
func ExampleTestInt8() {
fmt.Printf("%v\n", TestInt8(0, 100, 0, false, false)) //=> true
fmt.Printf("%v\n", TestInt8(0, 100, 0, true, false)) //=> false
fmt.Printf("%v\n", TestInt8(0, 100, 100, true, false)) //=> true
fmt.Printf("%v\n", TestInt8(100, 0, 100, false, true)) //=> true
// Output: true
// false
// true
// true
}
func ExampleValidateInt8() {
fmt.Println(ValidateInt8(0, 100, 0, false, false)) //=> 0 <nil>
fmt.Println(ValidateInt8(0, 100, 0, true, false)) //=> 0 0 is outside of range [0, 100)
fmt.Println(ValidateInt8(0, 100, 100, true, false)) //=> 100 <nil>
fmt.Println(ValidateInt8(0, 100, 101, false, false)) //=> 0 101 is outside of range [0,100]
fmt.Println(ValidateInt8(0, 100, 100, true, true)) //=> 0 100 is outside of range (0,100)
// Output:
// 0 <nil>
// 0 0 is outside of range (0,100]
// 100 <nil>
// 0 101 is outside of range [0,100]
// 0 100 is outside of range (0,100)
}
func ExampleToStringInt8() {
fmt.Printf("%v\n", ToStringInt8(0, 100, true, true)) //=> (0,100)
fmt.Printf("%v\n", ToStringInt8(0, 100, false, false)) //=> [0,100]
fmt.Printf("%v\n", ToStringInt8(0, 100, true, false)) //=> (0,100]
fmt.Printf("%v\n", ToStringInt8(0, 100, false, true)) //=> [0,100)
// Output:
// (0,100)
// [0,100]
// (0,100]
// [0,100)
}
func ExampleRangeInt8() {
r := NewRangeInt8(10, 100, false, false)
fmt.Println(r.Wrap(120)) //=> 30
fmt.Println(r.Validate(120)) //=> (0, error(120 is outside of range [0,100]))
fmt.Println(r.Test(120)) //=> false
fmt.Println(r) //=> [0,100] (uses Stringer interface)
r = NewRangeInt8(100, 10, false, true) // swapped
fmt.Println(r.Wrap(120)) //=> 30
fmt.Println(r.Validate(120)) //=> (0, error(120 is outside of range (0,100]))
fmt.Println(r.Test(120)) //=> false
fmt.Println(r.Clamp(120)) //=> 100
fmt.Println(r.Clamp(0)) //=> 10
fmt.Println(r) //=> (0,100] (uses Stringer interface)
// Output:
// 30
// 0 120 is outside of range [10,100]
// false
// [10,100]
// 30
// 0 120 is outside of range (10,100]
// false
// 100
// 10
// (10,100]
}
func ExampleMinMaxInt8() {
x, y := MinMaxInt8(0, 100)
fmt.Printf("%v %v\n", x, y) //=> 0 100
x, y = MinMaxInt8(100, 0) // swapped
fmt.Printf("%v %v\n", x, y) //=> 0 100
// Output:
// 0 100
// 0 100
}
func ExampleMinMaxExclusiveInt8() {
x, y, xe, ye := MinMaxExclusiveInt8(0, 100, true, false)
fmt.Printf("%v %v %v %v\n", x, y, xe, ye) //=> 0 100 true false
x, y, xe, ye = MinMaxExclusiveInt8(100, 0, false, true) // swapped
fmt.Printf("%v %v %v %v\n", x, y, xe, ye) //=> 0 100 true false
// Output:
// 0 100 true false
// 0 100 true false
}