From 1bdeb03d2344ad84a2cc857cc77b4f08e1c884ad Mon Sep 17 00:00:00 2001 From: JunkJumper Date: Sun, 24 May 2020 22:40:34 +0200 Subject: [PATCH] Segment finis --- src/TD3/segment/Segment.java | 60 +++++++++++++++--------------- tests/TD3/segment/SegmentTest.java | 13 +++++++ 2 files changed, 43 insertions(+), 30 deletions(-) diff --git a/src/TD3/segment/Segment.java b/src/TD3/segment/Segment.java index f7cf4b9..d4e5fdd 100644 --- a/src/TD3/segment/Segment.java +++ b/src/TD3/segment/Segment.java @@ -1,52 +1,63 @@ package TD3.segment; +/******************************************************************************************** + * @author JunkJumper * + * @license https://creativecommons.org/licenses/by/4.0/ License CC BY 4.0 * + * @since File available since 24/05/2020 * + ********************************************************************************************/ + import TD1.point.Point; import TD9.comparable.main; public class Segment { private Point origine; private Point extremite; - + public Segment() { this(0, 0, 0, 0); } - - public Segment(int xi, int yi, int xj, int yj) { + + public Segment(double xi, double yi, double xj, double yj) { this.origine = new Point(xi, yi); this.extremite = new Point(xj, yj); } - + public Segment(Point o, Point e) { - this.setOrigine(o); - this.setExtremite(e); + this(o.getX(), o.getY(), e.getX(), e.getY()); } - - public Segment(int x, int y, Point p) { - this.setOrigine(x, y); - this.setExtremite(p); + + public Segment(double x, double y, Point p) { + this(x, y, p.getX(), p.getY()); } - - public Segment(Point p, int x, int y) { - this.setOrigine(p); - this.setExtremite(x, y); + + public Segment(Point p, double x, double y) { + this(p.getX(), p.getY(), x, y); } @Override public boolean equals(Object obj) { - Segment s = (Segment)obj; + Segment s = (Segment) obj; return (this.origine.equals(s.origine) && this.extremite.equals(s.extremite)); } - + @Override public String toString() { return "[" + this.getOrigine().toString() + " - " + this.getExtremite().toString() + "]"; } - + @Override protected Object clone() throws CloneNotSupportedException { return new Segment(this.origine, this.getExtremite()); } - + + public Segment projX() { + return new Segment(this.origine.projX(), this.extremite.projX()); + } + + public Segment projY() { + return new Segment(this.origine.projY(), this.extremite.projY()); + } + public Point getOrigine() { return origine; } @@ -70,16 +81,5 @@ public class Segment { protected void setExtremite(int x, int y) { this.setExtremite(new Point(x, y)); } - - public static void main(String[] args) { - Point un = new Point(3, 6); - Point deux = new Point(1, 8); - Segment seg1 = new Segment(2, 4, 6, 3); - Segment seg2 = new Segment(un, deux); - - System.out.println(seg1.toString()); - System.out.println(seg2.toString()); - - } - + } diff --git a/tests/TD3/segment/SegmentTest.java b/tests/TD3/segment/SegmentTest.java index 4704a9b..1dbc982 100644 --- a/tests/TD3/segment/SegmentTest.java +++ b/tests/TD3/segment/SegmentTest.java @@ -18,6 +18,7 @@ public class SegmentTest { private Point un = new Point(3, 6); private Point deux = new Point(1, 8); + private Segment seg1 = new Segment(2, 4, 6, 3); private Segment seg2 = new Segment(un, deux); private Segment seg3 = new Segment(1, 6, un); @@ -43,4 +44,16 @@ public class SegmentTest { s = (Segment) seg3.clone(); assertTrue(s.equals(seg3)); } + + @Test + public void testProjX() { + Segment s = new Segment(2, 0, 6, 0); + assertEquals(s, seg1.projX()); + } + + @Test + public void testProjY() { + Segment s = new Segment(0, 4, 0, 3); + assertEquals(s, seg1.projY()); + } }