Newer
Older
require 'test/unit'
require 'fox16'
class TC_FXRectangle < Test::Unit::TestCase
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
def setup
@rect1 = FXRectangle.new
@rect2 = FXRectangle.new(5, 5, 300, 200)
@rect3 = FXRectangle.new(FXPoint.new(5, 5), FXSize.new(300, 200))
@rect4 = FXRectangle.new(FXPoint.new(5, 5), FXPoint.new(304, 204))
end
def test_equals
r1 = FXRectangle.new
r1.x = 10
r1.y = 15
r1.w = 20
r1.h = 25
@rect1.x = r1.x
@rect1.y = r1.y
@rect1.w = r1.w
@rect1.h = r1.h
assert_equal(@rect1, r1)
assert_equal(@rect2, FXRectangle.new(5, 5, 300, 200))
assert_equal(@rect3, FXRectangle.new(FXPoint.new(5, 5), FXSize.new(300, 200)))
assert_equal(@rect4, FXRectangle.new(FXPoint.new(5, 5), FXPoint.new(304, 204)))
end
def test_contains?
assert(@rect2.contains?(100, 100))
assert(@rect2.contains?(FXPoint.new(100, 100)))
assert(@rect2.contains?(FXRectangle.new(10, 10, 10, 10)))
end
def test_overlaps?
assert(@rect2.overlaps?(@rect3))
assert(@rect2.overlaps?(FXRectangle.new(200, 2, 400, 50)))
assert(!@rect2.overlaps?(FXRectangle.new(2, 2, 2, 2)))
end
def test_move!
x = @rect2.x
y = @rect2.y
result = @rect2.move!(10, 10)
assert_same(@rect2, result)
assert_equal(@rect2.x, x + 10)
assert_equal(@rect2.y, y + 10)
end
def test_grow!
result = @rect2.grow!(3)
assert_same(@rect2, result)
result = @rect3.grow!(3, 3)
assert_same(@rect3, result)
result = @rect4.grow!(3, 3, 3, 3)
assert_same(@rect4, result)
assert_equal(@rect2, @rect3)
assert_equal(@rect2, @rect4)
assert_equal(@rect3, @rect4)
end
def test_shrink!
result = @rect2.shrink!(3)
assert_same(@rect2, result)
result = @rect3.shrink!(3, 3)
assert_same(@rect3, result)
result = @rect4.shrink!(3, 3, 3, 3)
assert_same(@rect4, result)
assert_equal(@rect2, @rect3)
assert_equal(@rect2, @rect4)
assert_equal(@rect3, @rect4)
end
def test_corners
assert_equal(FXPoint.new( 5, 5), @rect2.tl)
assert_equal(FXPoint.new(304, 5), @rect2.tr)
assert_equal(FXPoint.new( 5, 204), @rect2.bl)
assert_equal(FXPoint.new(304, 204), @rect2.br)
end
def test_union
end
def test_intersection
end
end