From e69284fe84bd1e633d6f5220b8b3db6f222a44d0 Mon Sep 17 00:00:00 2001 From: JunkJumper Date: Sun, 24 May 2020 19:36:47 +0200 Subject: [PATCH] TD3 ex1 ok --- src/TD3/segment/Segment.java | 85 ++++++++++++++++++++++++++++++ tests/TD3/segment/SegmentTest.java | 46 ++++++++++++++++ 2 files changed, 131 insertions(+) create mode 100644 src/TD3/segment/Segment.java create mode 100644 tests/TD3/segment/SegmentTest.java diff --git a/src/TD3/segment/Segment.java b/src/TD3/segment/Segment.java new file mode 100644 index 0000000..f7cf4b9 --- /dev/null +++ b/src/TD3/segment/Segment.java @@ -0,0 +1,85 @@ +package TD3.segment; + +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) { + this.origine = new Point(xi, yi); + this.extremite = new Point(xj, yj); + } + + public Segment(Point o, Point e) { + this.setOrigine(o); + this.setExtremite(e); + } + + public Segment(int x, int y, Point p) { + this.setOrigine(x, y); + this.setExtremite(p); + } + + public Segment(Point p, int x, int y) { + this.setOrigine(p); + this.setExtremite(x, y); + } + + @Override + public boolean equals(Object 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 Point getOrigine() { + return origine; + } + + public Point getExtremite() { + return extremite; + } + + protected void setOrigine(Point origine) { + this.origine = origine; + } + + protected void setExtremite(Point extremite) { + this.extremite = extremite; + } + + protected void setOrigine(int x, int y) { + this.setOrigine(new Point(x, y)); + } + + 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 new file mode 100644 index 0000000..4704a9b --- /dev/null +++ b/tests/TD3/segment/SegmentTest.java @@ -0,0 +1,46 @@ +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 static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; + +import org.junit.Test; + +import TD1.point.Point; + +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); + private Segment seg4 = new Segment(deux, 7, 3); + private Segment seg5 = new Segment(1, 8, 7, 3); + + @Test + public void testEquals() { + assertFalse(seg1.equals(seg2)); + assertFalse(seg3.equals(seg4)); + assertTrue(seg4.equals(seg5)); + } + + @Test + public void testToString() { + assertEquals("[(X = 2.0 - Y = 4.0) - (X = 6.0 - Y = 3.0)]",seg1.toString()); + assertEquals("[(X = 3.0 - Y = 6.0) - (X = 1.0 - Y = 8.0)]", seg2.toString()); + } + + @Test + public void testClone() throws CloneNotSupportedException { + Segment s = new Segment(); + s = (Segment) seg3.clone(); + assertTrue(s.equals(seg3)); + } +}