• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

excessive / cpml / 6132588926

09 Sep 2023 06:38PM UTC coverage: 14.013% (-44.7%) from 58.701%
6132588926

push

github

FatalError42O
fixed Busted support (hopefully)

975 of 6958 relevant lines covered (14.01%)

10.82 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.61
/spec/bound2_spec.lua
1
local bound2      = require "modules.bound2"
5✔
2
local vec2      = require "modules.vec2"
×
3
local DBL_EPSILON = require("modules.constants").DBL_EPSILON
×
4

5
describe("bound2:", function()
×
6
        it("creates an empty bound2", function()
×
7
                local a = bound2()
×
8
                assert.is.equal(0, a.min.x)
×
9
                assert.is.equal(0, a.min.y)
×
10
                assert.is.equal(0, a.max.x)
×
11
                assert.is.equal(0, a.max.y)
×
12
        end)
13

14
        it("creates a bound2 from vec2s", function()
×
15
                local a = bound2(vec2(1,2), vec2(4,5))
×
16
                assert.is.equal(1, a.min.x)
×
17
                assert.is.equal(2, a.min.y)
×
18
                assert.is.equal(4, a.max.x)
×
19
                assert.is.equal(5, a.max.y)
×
20
        end)
21

22
        it("creates a bound2 using new()", function()
×
23
                local a = bound2.new(vec2(1,2), vec2(4,5))
×
24
                assert.is.equal(1, a.min.x)
×
25
                assert.is.equal(2, a.min.y)
×
26
                assert.is.equal(4, a.max.x)
×
27
                assert.is.equal(5, a.max.y)
×
28
        end)
29

30
        it("creates a bound2 using at()", function()
×
31
                local a = bound2.at(vec2(4,5), vec2(1,2))
×
32
                assert.is.equal(1, a.min.x)
×
33
                assert.is.equal(2, a.min.y)
×
34
                assert.is.equal(4, a.max.x)
×
35
                assert.is.equal(5, a.max.y)
×
36
        end)
37

38
        it("clones a bound2", function()
×
39
                local a = bound2(vec2(1,2), vec2(4,5))
×
40
                local b = a:clone()
×
41
                a.max = vec2.new(9,9)
×
42
                assert.is.equal(a.min, b.min)
×
43
                assert.is.not_equal(a.max, b.max)
×
44
        end)
45

46
        it("uses bound2 check()", function()
×
47
                local a = bound2(vec2(4,2), vec2(1,5)):check()
×
48
                assert.is.equal(1, a.min.x)
×
49
                assert.is.equal(2, a.min.y)
×
50
                assert.is.equal(4, a.max.x)
×
51
                assert.is.equal(5, a.max.y)
×
52
        end)
53

54
        it("queries a bound2 size", function()
×
55
                local a = bound2(vec2(1,2), vec2(4,6))
×
56
                local v = a:size()
×
57
                local r = a:radius()
×
58
                assert.is.equal(3, v.x)
×
59
                assert.is.equal(4, v.y)
×
60

61
                assert.is.equal(1.5, r.x)
×
62
                assert.is.equal(2, r.y)
×
63
        end)
64

65
        it("sets a bound2 size", function()
×
66
                local a = bound2(vec2(1,2), vec2(4,5))
×
67
                local b = a:with_size(vec2(1,1))
×
68

69
                assert.is.equal(1, a.min.x)
×
70
                assert.is.equal(2, a.min.y)
×
71
                assert.is.equal(4, a.max.x)
×
72
                assert.is.equal(5, a.max.y)
×
73

74
                assert.is.equal(1, b.min.x)
×
75
                assert.is.equal(2, b.min.y)
×
76
                assert.is.equal(2, b.max.x)
×
77
                assert.is.equal(3, b.max.y)
×
78
        end)
79

80
        it("queries a bound2 center", function()
×
81
                local a = bound2(vec2(1,2), vec2(3,4))
×
82
                local v = a:center()
×
83
                assert.is.equal(2, v.x)
×
84
                assert.is.equal(3, v.y)
×
85
        end)
86

87
        it("sets a bound2 center", function()
×
88
                local a = bound2(vec2(1,2), vec2(3,4))
×
89
                local b = a:with_center(vec2(1,1))
×
90

91
                assert.is.equal(1, a.min.x)
×
92
                assert.is.equal(2, a.min.y)
×
93
                assert.is.equal(3, a.max.x)
×
94
                assert.is.equal(4, a.max.y)
×
95

96
                assert.is.equal(0, b.min.x)
×
97
                assert.is.equal(0, b.min.y)
×
98
                assert.is.equal(2, b.max.x)
×
99
                assert.is.equal(2, b.max.y)
×
100
        end)
101

102
        it("sets a bound2 size centered", function()
×
103
                local a = bound2(vec2(1,2), vec2(3,4))
×
104
                local b = a:with_size_centered(vec2(4,4))
×
105

106
                assert.is.equal(1, a.min.x)
×
107
                assert.is.equal(2, a.min.y)
×
108
                assert.is.equal(3, a.max.x)
×
109
                assert.is.equal(4, a.max.y)
×
110

111
                assert.is.equal(0, b.min.x)
×
112
                assert.is.equal(1, b.min.y)
×
113
                assert.is.equal(4, b.max.x)
×
114
                assert.is.equal(5, b.max.y)
×
115
        end)
116

117
        it("insets a bound2", function()
×
118
                local a = bound2(vec2(1,2), vec2(5,10))
×
119
                local b = a:inset(vec2(1,2))
×
120

121
                assert.is.equal(1, a.min.x)
×
122
                assert.is.equal(2, a.min.y)
×
123
                assert.is.equal(5, a.max.x)
×
124
                assert.is.equal(10, a.max.y)
×
125

126
                assert.is.equal(2, b.min.x)
×
127
                assert.is.equal(4, b.min.y)
×
128
                assert.is.equal(4, b.max.x)
×
129
                assert.is.equal(8, b.max.y)
×
130
        end)
131

132
        it("outsets a bound2", function()
×
133
                local a = bound2(vec2(1,2), vec2(5,6))
×
134
                local b = a:outset(vec2(1,2))
×
135

136
                assert.is.equal(1, a.min.x)
×
137
                assert.is.equal(2, a.min.y)
×
138
                assert.is.equal(5, a.max.x)
×
139
                assert.is.equal(6, a.max.y)
×
140

141
                assert.is.equal(0, b.min.x)
×
142
                assert.is.equal(0, b.min.y)
×
143
                assert.is.equal(6, b.max.x)
×
144
                assert.is.equal(8, b.max.y)
×
145
        end)
146

147
        it("offsets a bound2", function()
×
148
                local a = bound2(vec2(1,2), vec2(5,6))
×
149
                local b = a:offset(vec2(1,2))
×
150

151
                assert.is.equal(1, a.min.x)
×
152
                assert.is.equal(2, a.min.y)
×
153
                assert.is.equal(5, a.max.x)
×
154
                assert.is.equal(6, a.max.y)
×
155

156
                assert.is.equal(2, b.min.x)
×
157
                assert.is.equal(4, b.min.y)
×
158
                assert.is.equal(6, b.max.x)
×
159
                assert.is.equal(8, b.max.y)
×
160
        end)
161

162
        it("tests for points inside bound2", function()
×
163
                local a = bound2(vec2(1,2), vec2(4,5))
×
164

165
                assert.is_true(a:contains(vec2(1,2)))
×
166
                assert.is_true(a:contains(vec2(4,5)))
×
167
                assert.is_true(a:contains(vec2(2,3)))
×
168
                assert.is_not_true(a:contains(vec2(0,3)))
×
169
                assert.is_not_true(a:contains(vec2(5,3)))
×
170
                assert.is_not_true(a:contains(vec2(2,1)))
×
171
                assert.is_not_true(a:contains(vec2(2,6)))
×
172
        end)
173

174
        it("rounds a bound2", function()
×
175
                local a = bound2(vec2(1.1,1.9), vec2(3.9,5.1)):round()
×
176

177
                assert.is.equal(1, a.min.x)
×
178
                assert.is.equal(2, a.min.y)
×
179
                assert.is.equal(4, a.max.x)
×
180
                assert.is.equal(5, a.max.y)
×
181
        end)
182

183
        it("extends a bound2 with a point", function()
×
184
                local min = vec2(1,2)
×
185
                local max = vec2(4,5)
×
186
                local downright = vec2(8,8)
×
187
                local downleft = vec2(-4,8)
×
188
                local top = vec2(2, 0)
×
189

190
                local a = bound2(min, max)
×
191
                local temp
192

193
                temp = a:extend(downright)
×
194
                assert.is_true(a.min == min and a.max == max)
×
195
                assert.is_true(temp.min == min and temp.max == downright)
×
196
                temp = a:extend(downleft)
×
197
                assert.is_true(temp.min == vec2(-4,2) and temp.max == vec2(4,8))
×
198
                temp = a:extend(top)
×
199
                assert.is_true(temp.min == vec2(1,0) and temp.max == max)
×
200
        end)
201

202
        it("extends a bound with another bound", function()
×
203
                local min = vec2(1,2)
×
204
                local max = vec2(4,5)
×
205
                local leftexpand = bound2.new(vec2(0,0), vec2(1.5, 6))
×
206
                local rightexpand = bound2.new(vec2(1.5,0), vec2(5, 6))
×
207

208
                local a = bound2(min, max)
×
209
                local temp
210

211
                temp = a:extend_bound(leftexpand)
×
212
                assert.is_equal(temp.min, vec2(0,0))
×
213
                assert.is_equal(temp.max, vec2(4,6))
×
214
                temp = temp:extend_bound(rightexpand)
×
215
                assert.is_equal(temp.min, vec2(0,0))
×
216
                assert.is_equal(temp.max, vec2(5,6))
×
217
        end)
218
        
219
        it("checks for bound2.zero", function()
×
220
                assert.is.equal(0, bound2.zero.min.x)
×
221
                assert.is.equal(0, bound2.zero.min.y)
×
222
                assert.is.equal(0, bound2.zero.max.x)
×
223
                assert.is.equal(0, bound2.zero.max.y)
×
224
        end)
225
end)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc