-
Notifications
You must be signed in to change notification settings - Fork 0
/
t_uint64_test.go
112 lines (102 loc) · 3.48 KB
/
t_uint64_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
package interval
// Code generated by generate/generate.go. DO NOT EDIT
import "fmt"
func ExampleWrapUint64() {
fmt.Printf("%v\n", WrapUint64(0, 100, 120)) //=> 20
fmt.Printf("%v\n", WrapUint64(100, 0, 120)) //=> 20 (swapped range is fine)
fmt.Printf("%v\n", WrapUint64(0, 100, 0)) //=> 0
fmt.Printf("%v\n", WrapUint64(0, 100, 100)) //=> 0
fmt.Printf("%v\n", WrapUint64(0, 100, 101)) //=> 1
fmt.Printf("%v\n", WrapUint64(50, 100, 120)) //=> 70
fmt.Printf("%v\n", WrapUint64(50, 100, 10)) //=> 60
// Output:
// 20
// 20
// 0
// 0
// 1
// 70
// 60
}
func ExampleClampUint64() {
fmt.Printf("%v\n", ClampUint64(0, 100, 120)) //=> 100
// Output:
// 100
}
func ExampleTestUint64() {
fmt.Printf("%v\n", TestUint64(0, 100, 0, false, false)) //=> true
fmt.Printf("%v\n", TestUint64(0, 100, 0, true, false)) //=> false
fmt.Printf("%v\n", TestUint64(0, 100, 100, true, false)) //=> true
fmt.Printf("%v\n", TestUint64(100, 0, 100, false, true)) //=> true
// Output: true
// false
// true
// true
}
func ExampleValidateUint64() {
fmt.Println(ValidateUint64(0, 100, 0, false, false)) //=> 0 <nil>
fmt.Println(ValidateUint64(0, 100, 0, true, false)) //=> 0 0 is outside of range [0, 100)
fmt.Println(ValidateUint64(0, 100, 100, true, false)) //=> 100 <nil>
fmt.Println(ValidateUint64(0, 100, 101, false, false)) //=> 0 101 is outside of range [0,100]
fmt.Println(ValidateUint64(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 ExampleToStringUint64() {
fmt.Printf("%v\n", ToStringUint64(0, 100, true, true)) //=> (0,100)
fmt.Printf("%v\n", ToStringUint64(0, 100, false, false)) //=> [0,100]
fmt.Printf("%v\n", ToStringUint64(0, 100, true, false)) //=> (0,100]
fmt.Printf("%v\n", ToStringUint64(0, 100, false, true)) //=> [0,100)
// Output:
// (0,100)
// [0,100]
// (0,100]
// [0,100)
}
func ExampleRangeUint64() {
r := NewRangeUint64(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 = NewRangeUint64(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 ExampleMinMaxUint64() {
x, y := MinMaxUint64(0, 100)
fmt.Printf("%v %v\n", x, y) //=> 0 100
x, y = MinMaxUint64(100, 0) // swapped
fmt.Printf("%v %v\n", x, y) //=> 0 100
// Output:
// 0 100
// 0 100
}
func ExampleMinMaxExclusiveUint64() {
x, y, xe, ye := MinMaxExclusiveUint64(0, 100, true, false)
fmt.Printf("%v %v %v %v\n", x, y, xe, ye) //=> 0 100 true false
x, y, xe, ye = MinMaxExclusiveUint64(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
}