TD3 ex1 ok

This commit is contained in:
JunkJumper 2020-05-24 19:36:47 +02:00
parent bc8f587661
commit e69284fe84
2 changed files with 131 additions and 0 deletions

View File

@ -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());
}
}

View File

@ -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));
}
}