Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import static org.junit.Assert.assertFalse;
- import static org.junit.Assert.assertTrue;
- import org.junit.Before;
- import org.junit.Test;
- import edu.princeton.cs.algs4.Point2D;
- import edu.princeton.cs.algs4.RectHV;
- public class PointSETTest {
- private PointSET p;
- @Before
- public void before() {
- p = new PointSET();
- }
- @Test
- public void isEmptyTest() {
- assertTrue(p.isEmpty());
- }
- @Test
- public void emptySizeTest() {
- assertTrue(p.size() == 0);
- }
- @Test
- public void nonEmptySizeTest() {
- p.insert(new Point2D(0,0));
- assertTrue(p.size() == 1);
- p.insert(new Point2D(0,1));
- assertTrue(p.size() == 2);
- p.insert(new Point2D(0,.5));
- assertTrue(p.size() == 3);
- }
- @Test(expected=IllegalArgumentException.class)
- public void insertNullTest() {
- p.insert(null);
- }
- @Test
- public void duplicateInsertTest() {
- p.insert(new Point2D(0,0));
- p.insert(new Point2D(0,0));
- p.insert(new Point2D(0,0));
- p.insert(new Point2D(0,0));
- p.insert(new Point2D(0,0));
- p.insert(new Point2D(0,0));
- assertTrue(p.size() == 1);
- }
- @Test(expected=IllegalArgumentException.class)
- public void containsNullTest() {
- p.contains(null);
- }
- @Test
- public void containsTest() {
- p.insert(new Point2D(0,0));
- assertTrue(p.contains(new Point2D(0,0)));
- }
- @Test
- public void containsFalseTest() {
- p.insert(new Point2D(0,0));
- assertFalse(p.contains(new Point2D(0,1)));
- }
- @Test
- public void containsComplexTest() {
- p.insert(new Point2D(0,0));
- p.insert(new Point2D(0,1));
- p.insert(new Point2D(1,0));
- p.insert(new Point2D(.1,.9));
- p.insert(new Point2D(.5,.5));
- assertTrue(p.contains(new Point2D(0,0)));
- assertTrue(p.contains(new Point2D(0,1)));
- assertTrue(p.contains(new Point2D(1,0)));
- assertTrue(p.contains(new Point2D(.1,.9)));
- assertTrue(p.contains(new Point2D(.5,.5)));
- assertFalse(p.contains(new Point2D(.6,.6)));
- }
- @Test(expected=IllegalArgumentException.class)
- public void rangeNullTest() {
- p.range(null);
- }
- @Test
- public void emptyRangeTest() {
- p.insert(new Point2D(.1,.1));
- p.insert(new Point2D(.1,.9));
- p.insert(new Point2D(.9,.1));
- assertFalse(p.range(new RectHV(.2,.2,1,1)).iterator().hasNext());
- }
- @Test
- public void nonEmptyRangeTest() {
- p.insert(new Point2D(.1,.1));
- p.insert(new Point2D(.1,.9));
- p.insert(new Point2D(.9,.1));
- p.insert(new Point2D(.3,.3));
- p.insert(new Point2D(.6,.4));
- p.insert(new Point2D(.5,.4));
- int i = 0;
- RectHV rect = new RectHV(.3,.3,.8,.8);
- for (Point2D point : p.range(rect)) {
- assertTrue(rect.contains(point));
- i++;
- }
- assertTrue(i == 3);
- }
- @Test(expected=IllegalArgumentException.class)
- public void nearestNullTest() {
- p.nearest(null);
- }
- @Test
- public void nearestEmptyTest() {
- assertTrue(p.nearest(new Point2D(0,0)) == null);
- }
- @Test
- public void nearestNonEmptyTest() {
- p.insert(new Point2D(.1,.1));
- p.insert(new Point2D(.1,.9));
- p.insert(new Point2D(.9,.1));
- p.insert(new Point2D(.3,.3));
- p.insert(new Point2D(.6,.4));
- p.insert(new Point2D(.5,.4));
- assertTrue(p.nearest(new Point2D(.2, 0)).equals(new Point2D(.1, .1)));
- assertTrue(p.nearest(new Point2D(.4, .7)).equals(new Point2D(.5, .4)));
- assertTrue(p.nearest(new Point2D(.9, .2)).equals(new Point2D(.9, .1)));
- assertTrue(p.nearest(new Point2D(.5, .5)).equals(new Point2D(.5, .4)));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement