RectTest.java revision 4aaebe6f156648e1074f10aadc89f485175c3043
1package com.xtremelabs.robolectric.shadows; 2 3import static org.hamcrest.CoreMatchers.is; 4import static org.junit.Assert.assertThat; 5 6import org.junit.Before; 7import org.junit.Test; 8import org.junit.runner.RunWith; 9 10import android.graphics.Rect; 11 12import com.xtremelabs.robolectric.WithTestDefaultsRunner; 13 14@RunWith(WithTestDefaultsRunner.class) 15public class RectTest { 16 @Before 17 public void setUp() { 18 } 19 20 @Test 21 public void constructorSetsCoordinates() { 22 Rect r = new Rect(1, 2, 3, 4); 23 assertThat(r.left, is(1)); 24 assertThat(r.top, is(2)); 25 assertThat(r.right, is(3)); 26 assertThat(r.bottom, is(4)); 27 } 28 29 @Test 30 public void width() { 31 Rect r = new Rect(0, 0, 10, 10); 32 assertThat(r.width(), is(10)); 33 } 34 35 @Test 36 public void height() { 37 Rect r = new Rect(0, 0, 10, 10); 38 assertThat(r.height(), is(10)); 39 } 40 41 @Test 42 public void doesntEqual() { 43 Rect a = new Rect(1, 2, 3, 4); 44 Rect b = new Rect(2, 3, 4, 5); 45 assertThat(a.equals(b), is(false)); 46 } 47 48 @Test 49 public void equals() { 50 Rect a = new Rect(1, 2, 3, 4); 51 Rect b = new Rect(1, 2, 3, 4); 52 assertThat(a.equals(b), is(true)); 53 } 54 55 @Test 56 public void doesntContainPoint() { 57 Rect r = new Rect(0, 0, 10, 10); 58 assertThat(r.contains(11, 11), is(false)); 59 } 60 61 @Test 62 public void containsPoint() { 63 Rect r = new Rect(0, 0, 10, 10); 64 assertThat(r.contains(5, 5), is(true)); 65 } 66 67 @Test 68 public void doesntContainPointOnLeftEdge() { 69 Rect r = new Rect(0, 0, 10, 10); 70 assertThat(r.contains(0, 5), is(false)); 71 } 72 73 @Test 74 public void doesntContainPointOnRightEdge() { 75 Rect r = new Rect(0, 0, 10, 10); 76 assertThat(r.contains(10, 5), is(false)); 77 } 78 79 @Test 80 public void containsPointOnTopEdge() { 81 Rect r = new Rect(0, 0, 10, 10); 82 assertThat(r.contains(5, 0), is(true)); 83 } 84 85 @Test 86 public void containsPointOnBottomEdge() { 87 Rect r = new Rect(0, 0, 10, 10); 88 assertThat(r.contains(5, 10), is(true)); 89 } 90 91 @Test 92 public void doesntContainRect() { 93 Rect a = new Rect(0, 0, 10, 10); 94 Rect b = new Rect(11, 11, 12, 12); 95 assertThat(a.contains(b), is(false)); 96 } 97 98 @Test 99 public void containsRect() { 100 Rect a = new Rect(0, 0, 10, 10); 101 Rect b = new Rect(8, 8, 9, 9); 102 assertThat(a.contains(b), is(true)); 103 } 104 105 @Test 106 public void containsEqualRect() { 107 Rect a = new Rect(0, 0, 10, 10); 108 Rect b = new Rect(0, 0, 10, 10); 109 assertThat(a.contains(b), is(true)); 110 } 111 112 @Test 113 public void intersectsButDoesntContainRect() { 114 Rect a = new Rect(0, 0, 10, 10); 115 Rect b = new Rect(5, 5, 15, 15); 116 assertThat(a.contains(b), is(false)); 117 } 118 119 @Test 120 public void doesntIntersect() { 121 Rect a = new Rect(0, 0, 10, 10); 122 Rect b = new Rect(11, 11, 21, 21); 123 assertThat(Rect.intersects(a, b), is(false)); 124 } 125 126 @Test 127 public void intersects() { 128 Rect a = new Rect(0, 0, 10, 10); 129 Rect b = new Rect(5, 0, 15, 10); 130 assertThat(Rect.intersects(a, b), is(true)); 131 } 132 133 @Test 134 public void almostIntersects() { 135 Rect a = new Rect(3, 0, 4, 2); 136 Rect b = new Rect(1, 0, 3, 1); 137 assertThat(Rect.intersects(a, b), is(false)); 138 } 139 140 @Test 141 public void intersectRect() { 142 Rect a = new Rect(0, 0, 10, 10); 143 Rect b = new Rect(5, 0, 15, 10); 144 assertThat(a.intersect(b), is(true)); 145 } 146 147 @Test 148 public void intersectCoordinates() { 149 Rect r = new Rect(0, 0, 10, 10); 150 assertThat(r.intersect(5, 0, 15, 10), is(true)); 151 } 152}