Skip to content
Snippets Groups Projects
TestPoint.java 1.30 KiB
package koz01.java2.lab05;

import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;

import java.util.HashSet;
import java.util.Set;

import org.junit.jupiter.api.Test;

import lombok.extern.log4j.Log4j2;

@Log4j2
public class TestPoint {

	@Test
	public void testHashCode() {
		Point p1 = new Point(1, 2);
		Set<Point> setOfPoint = new HashSet<>();
		assertFalse(setOfPoint.contains(p1));
		setOfPoint.add(p1);
		assertTrue(setOfPoint.contains(p1));

		Point p2 = new Point(1, 2);
		log.info("p1.equals(p2) = {}", p1.equals(p2));
		assertTrue(setOfPoint.contains(p2));
	}

	@Test
	public void testPerf() {
		long t_0 = System.currentTimeMillis();
		Set<Point> setOfPoint = new HashSet<>();
		for (int i = 0; i < 10000; i++) {
			setOfPoint.add(new Point(i, i));
		}
		assertTrue(setOfPoint.contains(new Point(10, 10)));
		long t_1 = System.currentTimeMillis();
		log.info("duration = {} ms", t_1 - t_0);
	}

	@Test
	public void testGenerate() {
		assertThrows(IllegalArgumentException.class, () -> Point
			.getPointWithDistanceFromOrigin(-1));

		assertEquals(200, Point.getPointWithDistanceFromOrigin(200).distance(
			new Point(0, 0)));
	}
}