package de.uniba.dsg.bpmnspector.api.tests;
import api.Location;
import api.LocationCoordinate;
import api.Violation;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
import java.nio.file.Paths;
import static org.junit.Assert.assertEquals;
/**
* @author Matthias Geiger
*/
public class ViolationTests {
private final Location dummyLocationEmpty = new Location(Paths.get("dummy file"), LocationCoordinate.EMPTY);
private final Location dummyLocation_1_1 = new Location(Paths.get("dummy file"), new LocationCoordinate(1,1));
private final Location dummyLocation_1_2 = new Location(Paths.get("dummy file"), new LocationCoordinate(1,2));
private final Violation violation1 = new Violation(dummyLocation_1_1, "msg1", "#1");
private final Violation violation1_clone = new Violation(dummyLocation_1_1, "msg1", "#1");
private final Violation violation1_loc1_2 = new Violation(dummyLocation_1_2, "msg1", "#1");
private final Violation violation2 = new Violation(dummyLocation_1_1, "msg2", "#2");
@Rule
public ExpectedException exception = ExpectedException.none();
@Test
public void testInvalidUsageOfNullLocation() {
exception.expect(NullPointerException.class);
new Violation(null, "dummy msg", "dummy constraint");
}
@Test
public void testInvalidUsageOfNullMessage() {
exception.expect(NullPointerException.class);
new Violation(dummyLocationEmpty, null, "dummy constraint");
}
@Test
public void testInvalidUsageOfNullConstraint() {
exception.expect(NullPointerException.class);
new Violation(dummyLocationEmpty, "dummy msg", null);
}
@Test
public void compareEqualViolations() {
assertEquals(0, violation1.compareTo(violation1_clone));
}
@Test
public void compareViolation1_loc1_2() {
assertEquals(-1, violation1.compareTo(violation1_loc1_2));
assertEquals(1, violation1_loc1_2.compareTo(violation1));
}
@Test
public void compareViolation1_2() {
assertEquals(-1, violation1.compareTo(violation2));
assertEquals(1, violation2.compareTo(violation1));
}
}