Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package MyGeometryLib;
- import org.junit.jupiter.api.Test;
- import java.util.Random;
- import static org.junit.jupiter.api.Assertions.*;
- class SegmentTest {
- private final Random random = new Random();
- private final double DELTA = 1e-15;
- @Test
- void length() {
- for (int i = 0; i < 100; i++) {
- double ran = random.nextDouble();
- assertEquals(0,
- new Segment(new Vector2D(ran, ran), new Vector2D(ran, ran)).length(), DELTA);
- assertEquals(0,
- new Segment(new Vector3D(ran, ran, ran), new Vector3D(ran, ran, ran)).length(), DELTA);
- }
- assertEquals(Math.sqrt(309),
- new Segment(new Vector3D(9, -1, -8), new Vector3D(7, 3, 9)).length(), DELTA);
- assertEquals(Math.sqrt(7050.343),
- new Segment(new Vector2D(22.65, 7.19), new Vector2D(-11.27, 84)).length(), 0.00001);
- }
- @Test
- void distanceTo() {
- for (int i = 0; i < 100; i++) {
- double ran = random.nextDouble();
- double firstRan = random.nextDouble();
- double secondRan = random.nextDouble();
- double thirdRan = random.nextDouble();
- assertEquals(Math.sqrt(firstRan * firstRan + secondRan * secondRan),
- new Segment(new Vector2D(ran, ran), new Vector2D(ran, ran)).distanceTo(new Vector2D(firstRan, secondRan)), DELTA);
- assertEquals(Math.sqrt(firstRan * firstRan + secondRan * secondRan + thirdRan*thirdRan),
- new Segment(new Vector3D(ran, ran, ran), new Vector3D(ran, ran, ran)).distanceTo(new Vector3D(firstRan, secondRan, thirdRan)), DELTA);
- }
- assertEquals(0.0,
- new Segment(new Vector2D(0, 0), new Vector2D(0, 0)).distanceTo(new Vector2D(0, 0)), DELTA);
- assertEquals(0.0,
- new Segment(new Vector3D(0, 0, 0), new Vector3D(0, 0, 0)).distanceTo(new Vector3D(0, 0, 0)), DELTA);
- assertEquals(4.8,new Segment(new Vector2D(6, 0), new Vector2D(0, 8)).distanceTo(new Vector2D(0 , 0)), DELTA);
- assertEquals(5,
- new Segment(new Vector3D(1, -1, 3), new Vector3D(1, 3, 0)).distanceTo(new Vector3D(5, -6, 3)), 0.000000001);
- }
- }
Add Comment
Please, Sign In to add comment