14aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlkepackage com.xtremelabs.robolectric.shadows; 24aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke 3877e4c834fc5505b6f6cbd8411cdc2f7c6e5c4ddJoe Moore and Tyler Schultzimport android.graphics.Rect; 4877e4c834fc5505b6f6cbd8411cdc2f7c6e5c4ddJoe Moore and Tyler Schultzimport com.xtremelabs.robolectric.WithTestDefaultsRunner; 54aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlkeimport org.junit.Before; 64aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlkeimport org.junit.Test; 74aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlkeimport org.junit.runner.RunWith; 84aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke 9877e4c834fc5505b6f6cbd8411cdc2f7c6e5c4ddJoe Moore and Tyler Schultzimport static org.hamcrest.CoreMatchers.is; 10877e4c834fc5505b6f6cbd8411cdc2f7c6e5c4ddJoe Moore and Tyler Schultzimport static org.junit.Assert.assertThat; 114aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke 124aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke@RunWith(WithTestDefaultsRunner.class) 134aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlkepublic class RectTest { 144aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke @Before 154aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke public void setUp() { 164aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke } 174aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke 184aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke @Test 194aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke public void constructorSetsCoordinates() { 204aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke Rect r = new Rect(1, 2, 3, 4); 214aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke assertThat(r.left, is(1)); 224aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke assertThat(r.top, is(2)); 234aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke assertThat(r.right, is(3)); 244aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke assertThat(r.bottom, is(4)); 254aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke } 262a61662cdc430c05abec421965587fdd2b531419James Brechtel 272a61662cdc430c05abec421965587fdd2b531419James Brechtel @Test 282a61662cdc430c05abec421965587fdd2b531419James Brechtel public void secondConstructorSetsCoordinates() { 292a61662cdc430c05abec421965587fdd2b531419James Brechtel Rect existingRect = new Rect(1, 2, 3, 4); 302a61662cdc430c05abec421965587fdd2b531419James Brechtel Rect r = new Rect(existingRect); 312a61662cdc430c05abec421965587fdd2b531419James Brechtel assertThat(r.left, is(1)); 322a61662cdc430c05abec421965587fdd2b531419James Brechtel assertThat(r.top, is(2)); 332a61662cdc430c05abec421965587fdd2b531419James Brechtel assertThat(r.right, is(3)); 342a61662cdc430c05abec421965587fdd2b531419James Brechtel assertThat(r.bottom, is(4)); 352a61662cdc430c05abec421965587fdd2b531419James Brechtel } 362a61662cdc430c05abec421965587fdd2b531419James Brechtel 374aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke 384aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke @Test 394aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke public void width() { 404aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke Rect r = new Rect(0, 0, 10, 10); 414aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke assertThat(r.width(), is(10)); 424aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke } 434aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke 444aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke @Test 454aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke public void height() { 464aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke Rect r = new Rect(0, 0, 10, 10); 474aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke assertThat(r.height(), is(10)); 484aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke } 494aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke 504aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke @Test 514aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke public void doesntEqual() { 524aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke Rect a = new Rect(1, 2, 3, 4); 534aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke Rect b = new Rect(2, 3, 4, 5); 544aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke assertThat(a.equals(b), is(false)); 554aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke } 564aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke 574aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke @Test 584aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke public void equals() { 594aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke Rect a = new Rect(1, 2, 3, 4); 604aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke Rect b = new Rect(1, 2, 3, 4); 614aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke assertThat(a.equals(b), is(true)); 624aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke } 634aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke 644aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke @Test 654aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke public void doesntContainPoint() { 664aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke Rect r = new Rect(0, 0, 10, 10); 674aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke assertThat(r.contains(11, 11), is(false)); 684aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke } 694aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke 704aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke @Test 714aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke public void containsPoint() { 724aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke Rect r = new Rect(0, 0, 10, 10); 734aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke assertThat(r.contains(5, 5), is(true)); 744aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke } 754aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke 764aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke @Test 774aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke public void doesntContainPointOnLeftEdge() { 784aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke Rect r = new Rect(0, 0, 10, 10); 794aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke assertThat(r.contains(0, 5), is(false)); 804aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke } 814aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke 824aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke @Test 834aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke public void doesntContainPointOnRightEdge() { 844aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke Rect r = new Rect(0, 0, 10, 10); 854aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke assertThat(r.contains(10, 5), is(false)); 864aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke } 874aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke 884aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke @Test 894aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke public void containsPointOnTopEdge() { 904aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke Rect r = new Rect(0, 0, 10, 10); 914aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke assertThat(r.contains(5, 0), is(true)); 924aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke } 934aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke 944aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke @Test 954aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke public void containsPointOnBottomEdge() { 964aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke Rect r = new Rect(0, 0, 10, 10); 974aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke assertThat(r.contains(5, 10), is(true)); 984aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke } 994aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke 1004aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke @Test 1014aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke public void doesntContainRect() { 1024aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke Rect a = new Rect(0, 0, 10, 10); 1034aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke Rect b = new Rect(11, 11, 12, 12); 1044aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke assertThat(a.contains(b), is(false)); 1054aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke } 1064aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke 1074aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke @Test 1084aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke public void containsRect() { 1094aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke Rect a = new Rect(0, 0, 10, 10); 1104aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke Rect b = new Rect(8, 8, 9, 9); 1114aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke assertThat(a.contains(b), is(true)); 1124aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke } 1134aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke 1144aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke @Test 1154aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke public void containsEqualRect() { 1164aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke Rect a = new Rect(0, 0, 10, 10); 1174aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke Rect b = new Rect(0, 0, 10, 10); 1184aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke assertThat(a.contains(b), is(true)); 1194aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke } 1204aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke 1214aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke @Test 1224aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke public void intersectsButDoesntContainRect() { 1234aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke Rect a = new Rect(0, 0, 10, 10); 1244aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke Rect b = new Rect(5, 5, 15, 15); 1254aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke assertThat(a.contains(b), is(false)); 1264aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke } 1274aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke 1284aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke @Test 1294aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke public void doesntIntersect() { 1304aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke Rect a = new Rect(0, 0, 10, 10); 1314aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke Rect b = new Rect(11, 11, 21, 21); 1324aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke assertThat(Rect.intersects(a, b), is(false)); 1334aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke } 1344aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke 1354aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke @Test 1364aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke public void intersects() { 1374aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke Rect a = new Rect(0, 0, 10, 10); 1384aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke Rect b = new Rect(5, 0, 15, 10); 1394aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke assertThat(Rect.intersects(a, b), is(true)); 1404aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke } 1414aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke 1424aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke @Test 1434aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke public void almostIntersects() { 1444aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke Rect a = new Rect(3, 0, 4, 2); 1454aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke Rect b = new Rect(1, 0, 3, 1); 1464aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke assertThat(Rect.intersects(a, b), is(false)); 1474aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke } 1484aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke 1494aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke @Test 1504aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke public void intersectRect() { 1514aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke Rect a = new Rect(0, 0, 10, 10); 1524aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke Rect b = new Rect(5, 0, 15, 10); 1534aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke assertThat(a.intersect(b), is(true)); 1544aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke } 1554aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke 1564aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke @Test 1574aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke public void intersectCoordinates() { 1584aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke Rect r = new Rect(0, 0, 10, 10); 1594aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke assertThat(r.intersect(5, 0, 15, 10), is(true)); 1604aaebe6f156648e1074f10aadc89f485175c3043Felix H. Dahlke } 161255260f69e0844322b3a24a47a33bb06c5a49d0cTony Allevato 162255260f69e0844322b3a24a47a33bb06c5a49d0cTony Allevato @Test 163255260f69e0844322b3a24a47a33bb06c5a49d0cTony Allevato public void setWithIntsSetsCoordinates() { 164255260f69e0844322b3a24a47a33bb06c5a49d0cTony Allevato Rect r = new Rect(); 165255260f69e0844322b3a24a47a33bb06c5a49d0cTony Allevato r.set(1, 2, 3, 4); 166255260f69e0844322b3a24a47a33bb06c5a49d0cTony Allevato assertThat(r.left, is(1)); 167255260f69e0844322b3a24a47a33bb06c5a49d0cTony Allevato assertThat(r.top, is(2)); 168255260f69e0844322b3a24a47a33bb06c5a49d0cTony Allevato assertThat(r.right, is(3)); 169255260f69e0844322b3a24a47a33bb06c5a49d0cTony Allevato assertThat(r.bottom, is(4)); 170255260f69e0844322b3a24a47a33bb06c5a49d0cTony Allevato } 171255260f69e0844322b3a24a47a33bb06c5a49d0cTony Allevato 172255260f69e0844322b3a24a47a33bb06c5a49d0cTony Allevato @Test 173255260f69e0844322b3a24a47a33bb06c5a49d0cTony Allevato public void setWithRectSetsCoordinates() { 174255260f69e0844322b3a24a47a33bb06c5a49d0cTony Allevato Rect rSrc = new Rect(1, 2, 3, 4); 175255260f69e0844322b3a24a47a33bb06c5a49d0cTony Allevato Rect r = new Rect(); 176255260f69e0844322b3a24a47a33bb06c5a49d0cTony Allevato r.set(rSrc); 177255260f69e0844322b3a24a47a33bb06c5a49d0cTony Allevato assertThat(r.left, is(1)); 178255260f69e0844322b3a24a47a33bb06c5a49d0cTony Allevato assertThat(r.top, is(2)); 179255260f69e0844322b3a24a47a33bb06c5a49d0cTony Allevato assertThat(r.right, is(3)); 180255260f69e0844322b3a24a47a33bb06c5a49d0cTony Allevato assertThat(r.bottom, is(4)); 181255260f69e0844322b3a24a47a33bb06c5a49d0cTony Allevato } 182ce3c0509a47167ff3c6c809313f2c68ffbb58609Tony Allevato 183ce3c0509a47167ff3c6c809313f2c68ffbb58609Tony Allevato @Test 184ce3c0509a47167ff3c6c809313f2c68ffbb58609Tony Allevato public void offsetModifiesRect() { 185ce3c0509a47167ff3c6c809313f2c68ffbb58609Tony Allevato Rect r = new Rect(1, 2, 3, 4); 186ce3c0509a47167ff3c6c809313f2c68ffbb58609Tony Allevato r.offset(10, 20); 187ce3c0509a47167ff3c6c809313f2c68ffbb58609Tony Allevato assertThat(r.left, is(11)); 188ce3c0509a47167ff3c6c809313f2c68ffbb58609Tony Allevato assertThat(r.top, is(22)); 189ce3c0509a47167ff3c6c809313f2c68ffbb58609Tony Allevato assertThat(r.right, is(13)); 190ce3c0509a47167ff3c6c809313f2c68ffbb58609Tony Allevato assertThat(r.bottom, is(24)); 191ce3c0509a47167ff3c6c809313f2c68ffbb58609Tony Allevato } 1922a61662cdc430c05abec421965587fdd2b531419James Brechtel} 193