package cse1030.test2; import java.awt.Color; import java.util.ArrayList; import java.util.List; import java.util.Random; import cse1030.drawing.IPoint2D; import cse1030.drawing.Point2D; import cse1030.drawing.SimpleDrawing; public class MatcherTest { public static void main(String[] args) { SimpleDrawing.setPenRadius(0.01); Point2D p1 = new Point2D(-0.5, 0.); Point2D p2 = new Point2D(0.5, 0.5); Point2D p3 = new Point2D(0.3, -0.4); PointMatcher m1 = new PointLeftOf(p1); PointMatcher m2 = new PointInSquare(p2, 0.3); PointMatcher m3 = new PointMatcher(p3); SimpleDrawing.setPenColor(Color.GRAY); SimpleDrawing.drawLine(new IPoint2D(p1.getX(), -1.), new IPoint2D(p1.getX(), 1.)); SimpleDrawing.drawSquare(p2, 0.3); SimpleDrawing.setPenColor(Color.BLACK); List points = new ArrayList(); Random r = new Random(1); points.add(p1); points.add(p2); points.add(p3); for (int i = 3; i < 1000; i++) { double x = 2. * (r.nextDouble() - 0.5); double y = 2. * (r.nextDouble() - 0.5); Point2D p = new Point2D(x, y); points.add(p); SimpleDrawing.drawPoint(p); } SimpleDrawing.setPenRadius(0.02); for (Point2D p : points) { if (m1.matches(p)) { SimpleDrawing.setPenColor(Color.RED); SimpleDrawing.drawPoint(p); } if (m2.matches(p)) { SimpleDrawing.setPenColor(Color.BLUE); SimpleDrawing.drawPoint(p); } if (m3.matches(p)) { SimpleDrawing.setPenColor(Color.GREEN); SimpleDrawing.drawPoint(p); } } } }