@Test
public void getScoreTotal() {
TestdataEntity e1 = new TestdataEntity("e1");
TestdataEntity e2 = new TestdataEntity("e2");
TestdataEntity e3 = new TestdataEntity("e3");
Indictment indictment = new Indictment(e1, SimpleScore.ZERO);
assertEquals(SimpleScore.ZERO, indictment.getScore());
ConstraintMatch match1 = new ConstraintMatch("package1", "constraint1", asList(e1), SimpleScore.of(-1));
indictment.addConstraintMatch(match1);
assertEquals(SimpleScore.of(-1), indictment.getScore());
ConstraintMatch match2 = new ConstraintMatch("package1", "constraint2", asList(e1), SimpleScore.of(-20));
indictment.addConstraintMatch(match2);
assertEquals(SimpleScore.of(-21), indictment.getScore());
indictment.addConstraintMatch(new ConstraintMatch("package1", "constraint3", asList(e1, e2), SimpleScore.of(-300)));
assertEquals(SimpleScore.of(-321), indictment.getScore());
indictment.addConstraintMatch(new ConstraintMatch("package1", "constraint3", asList(e1, e3), SimpleScore.of(-4000)));
assertEquals(SimpleScore.of(-4321), indictment.getScore());
indictment.addConstraintMatch(new ConstraintMatch("package1", "constraint3", asList(e2, e1), SimpleScore.of(-50000)));
assertEquals(SimpleScore.of(-54321), indictment.getScore());
indictment.removeConstraintMatch(match2);
assertEquals(SimpleScore.of(-54301), indictment.getScore());
indictment.removeConstraintMatch(match1);
assertEquals(SimpleScore.of(-54300), indictment.getScore());
}