1793ee12c6df9cad3806238d32528c49a3ff9331dNoah Preslerpackage org.opencv.test.core;
2793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler
3793ee12c6df9cad3806238d32528c49a3ff9331dNoah Preslerimport org.opencv.core.Point;
4793ee12c6df9cad3806238d32528c49a3ff9331dNoah Preslerimport org.opencv.core.Rect;
5793ee12c6df9cad3806238d32528c49a3ff9331dNoah Preslerimport org.opencv.core.Size;
6793ee12c6df9cad3806238d32528c49a3ff9331dNoah Preslerimport org.opencv.test.OpenCVTestCase;
7793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler
8793ee12c6df9cad3806238d32528c49a3ff9331dNoah Preslerpublic class RectTest extends OpenCVTestCase {
9793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler
10793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler    private Rect r;
11793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler    private Rect rect;
12793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler
13793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler    @Override
14793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler    protected void setUp() throws Exception {
15793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        super.setUp();
16793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler
17793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        r = new Rect();
18793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        rect = new Rect(0, 0, 10, 10);
19793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler    }
20793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler
21793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler    public void testArea() {
22793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        double area;
23793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        area = rect.area();
24793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        assertEquals(100.0, area);
25793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler    }
26793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler
27793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler    public void testBr() {
28793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        Point p_br = new Point();
29793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        p_br = rect.br();
30793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        Point truth = new Point(10, 10);
31793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        assertEquals(truth, p_br);
32793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler    }
33793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler
34793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler    public void testClone() {
35793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        r = rect.clone();
36793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        assertEquals(rect, r);
37793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler    }
38793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler
39793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler    public void testContains() {
40793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        Rect rect = new Rect(0, 0, 10, 10);
41793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler
42793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        Point p_inner = new Point(5, 5);
43793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        Point p_outer = new Point(5, 55);
44793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        Point p_bl = new Point(0, 0);
45793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        Point p_br = new Point(10, 0);
46793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        Point p_tl = new Point(0, 10);
47793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        Point p_tr = new Point(10, 10);
48793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler
49793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        assertTrue(rect.contains(p_inner));
50793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        assertTrue(rect.contains(p_bl));
51793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler
52793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        assertFalse(rect.contains(p_outer));
53793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        assertFalse(rect.contains(p_br));
54793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        assertFalse(rect.contains(p_tl));
55793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        assertFalse(rect.contains(p_tr));
56793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler    }
57793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler
58793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler    public void testEqualsObject() {
59793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        boolean flag;
60793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        flag = rect.equals(r);
61793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        assertFalse(flag);
62793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler
63793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        r = rect.clone();
64793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        flag = rect.equals(r);
65793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        assertTrue(flag);
66793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler    }
67793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler
68793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler    public void testHashCode() {
69793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        assertEquals(rect.hashCode(), rect.hashCode());
70793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler    }
71793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler
72793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler    public void testRect() {
73793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        r = new Rect();
74793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler
75793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        assertEquals(0, r.x);
76793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        assertEquals(0, r.y);
77793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        assertEquals(0, r.width);
78793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        assertEquals(0, r.height);
79793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler    }
80793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler
81793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler    public void testRectDoubleArray() {
82793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        double[] vals = { 1, 3, 5, 2 };
83793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        r = new Rect(vals);
84793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler
85793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        assertEquals(1, r.x);
86793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        assertEquals(3, r.y);
87793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        assertEquals(5, r.width);
88793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        assertEquals(2, r.height);
89793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler    }
90793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler
91793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler    public void testRectIntIntIntInt() {
92793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        r = new Rect(1, 3, 5, 2);
93793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler
94793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        assertNotNull(rect);
95793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        assertEquals(0, rect.x);
96793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        assertEquals(0, rect.y);
97793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        assertEquals(10, rect.width);
98793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        assertEquals(10, rect.height);
99793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler    }
100793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler
101793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler    public void testRectPointPoint() {
102793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        Point p1 = new Point(4, 4);
103793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        Point p2 = new Point(2, 3);
104793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler
105793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        r = new Rect(p1, p2);
106793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        assertNotNull(r);
107793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        assertEquals(2, r.x);
108793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        assertEquals(3, r.y);
109793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        assertEquals(2, r.width);
110793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        assertEquals(1, r.height);
111793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler    }
112793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler
113793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler    public void testRectPointSize() {
114793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        Point p1 = new Point(4, 4);
115793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        Size sz = new Size(3, 1);
116793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        r = new Rect(p1, sz);
117793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler
118793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        assertEquals(4, r.x);
119793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        assertEquals(4, r.y);
120793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        assertEquals(3, r.width);
121793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        assertEquals(1, r.height);
122793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler    }
123793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler
124793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler    public void testSet() {
125793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        double[] vals1 = {};
126793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        Rect r1 = new Rect(vals1);
127793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler
128793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        assertEquals(0, r1.x);
129793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        assertEquals(0, r1.y);
130793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        assertEquals(0, r1.width);
131793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        assertEquals(0, r1.height);
132793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler
133793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        double[] vals2 = { 2, 2, 10, 5 };
134793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        r = new Rect(vals2);
135793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler
136793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        assertEquals(2, r.x);
137793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        assertEquals(2, r.y);
138793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        assertEquals(10, r.width);
139793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        assertEquals(5, r.height);
140793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler    }
141793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler
142793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler    public void testSize() {
143793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        Size s1 = new Size(0, 0);
144793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        assertEquals(s1, r.size());
145793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler
146793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        Size s2 = new Size(10, 10);
147793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        assertEquals(s2, rect.size());
148793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler    }
149793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler
150793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler    public void testTl() {
151793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        Point p_tl = new Point();
152793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        p_tl = rect.tl();
153793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        Point truth = new Point(0, 0);
154793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        assertEquals(truth, p_tl);
155793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler    }
156793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler
157793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler    public void testToString() {
158793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        String actual = rect.toString();
159793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        String expected = "{0, 0, 10x10}";
160793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler        assertEquals(expected, actual);
161793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler    }
162793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler
163793ee12c6df9cad3806238d32528c49a3ff9331dNoah Presler}
164