Skip to content

Commit

Permalink
Converted further tests to AssertJ.
Browse files Browse the repository at this point in the history
  • Loading branch information
MAMSiegmund committed May 4, 2017
1 parent d759983 commit 7d9832f
Show file tree
Hide file tree
Showing 4 changed files with 114 additions and 97 deletions.
40 changes: 22 additions & 18 deletions src/test/java/org/logicng/cardinalityconstraints/CCAMKTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,10 @@

package org.logicng.cardinalityconstraints;

import org.junit.Assert;
import org.assertj.core.api.JUnitSoftAssertions;
import org.junit.Rule;
import org.junit.Test;
import org.logicng.configurations.ConfigurationType;
import org.logicng.datastructures.Assignment;
import org.logicng.datastructures.Tristate;
import org.logicng.formulas.CType;
Expand All @@ -38,16 +40,18 @@
import org.logicng.solvers.MiniSat;
import org.logicng.solvers.SATSolver;

import java.util.Arrays;
import java.util.List;

/**
* Unit tests for the at-most-k encoders.
* @version 1.1
* @version 1.2
* @since 1.0
*/
public class CCAMKTest {

@Rule
public final JUnitSoftAssertions softly = new JUnitSoftAssertions();

private CCConfig[] configs;

public CCAMKTest() {
Expand Down Expand Up @@ -75,7 +79,7 @@ public void testAMK() {
testCC(10, 9, 1023, f, false);
testCC(10, 10, 1, f, false);
testCC(10, 15, 1, f, false);
Assert.assertTrue(f.newCCVariable().name().endsWith("_" + counter++));
softly.assertThat(f.newCCVariable().name()).as("New Var after Tests " + config).endsWith("_" + counter++);
}
}

Expand All @@ -94,7 +98,7 @@ public void testAMKMiniCard() {
testCC(10, 9, 1023, f, true);
testCC(10, 10, 1024, f, true);
testCC(10, 15, 1024, f, true);
Assert.assertTrue(f.newCCVariable().name().endsWith("_0"));
softly.assertThat(f.newCCVariable().name()).as("New Var after Tests ").endsWith("_0");
}

@Test
Expand All @@ -104,15 +108,15 @@ public void testLargeAMK() {
for (final CCConfig config : this.configs) {
f.putConfiguration(config);
testCC(150, 2, 1 + 150 + 11175, f, false);
Assert.assertTrue(f.newCCVariable().name().endsWith("_" + counter++));
softly.assertThat(f.newCCVariable().name()).as("New Var after Tests " + config).endsWith("_" + counter++);
}
}

@Test
public void testLargeAMKMiniCard() {
final FormulaFactory f = new FormulaFactory();
testCC(150, 2, 1 + 150 + 11175, f, true);
Assert.assertTrue(f.newCCVariable().name().endsWith("_0"));
softly.assertThat(f.newCCVariable().name()).as("New Var after Tests ").endsWith("_0");
}

private void testCC(int numLits, int rhs, int expected, final FormulaFactory f, boolean miniCard) {
Expand All @@ -121,11 +125,11 @@ private void testCC(int numLits, int rhs, int expected, final FormulaFactory f,
problemLits[i] = f.variable("v" + i);
final SATSolver solver = miniCard ? MiniSat.miniCard(f) : MiniSat.miniSat(f);
solver.add(f.cc(CType.LE, rhs, problemLits));
Assert.assertEquals(Tristate.TRUE, solver.sat());
softly.assertThat(solver.sat()).as("SolverSAT " + numLits + ", " + rhs + ", " + expected + ", " + f.configurationFor(ConfigurationType.CC_ENCODER)).isEqualTo(Tristate.TRUE);
final List<Assignment> models = solver.enumerateAllModels(problemLits);
Assert.assertEquals(expected, models.size());
softly.assertThat(models.size()).as("ModelSize " + numLits + ", " + rhs + ", " + expected + ", " + f.configurationFor(ConfigurationType.CC_ENCODER)).isEqualTo(expected);
for (final Assignment model : models)
Assert.assertTrue(model.positiveLiterals().size() <= rhs);
softly.assertThat(model.positiveLiterals().size()).as("PosLits " + numLits + ", " + rhs + ", " + expected + ", " + f.configurationFor(ConfigurationType.CC_ENCODER)).isLessThanOrEqualTo(rhs);
}

@Test(expected = IllegalArgumentException.class)
Expand All @@ -142,19 +146,19 @@ public void testIllegalCC1() {
@Test
public void testToString() {
FormulaFactory f = new FormulaFactory();
Assert.assertEquals("TOTALIZER", configs[0].amkEncoder.toString());
Assert.assertEquals("MODULAR_TOTALIZER", configs[1].amkEncoder.toString());
Assert.assertEquals("CARDINALITY_NETWORK", configs[2].amkEncoder.toString());
softly.assertThat(configs[0].amkEncoder.toString()).isEqualTo("TOTALIZER");
softly.assertThat(configs[1].amkEncoder.toString()).isEqualTo("MODULAR_TOTALIZER");
softly.assertThat(configs[2].amkEncoder.toString()).isEqualTo("CARDINALITY_NETWORK");

Assert.assertEquals("CCAMKTotalizer", new CCAMKTotalizer().toString());
Assert.assertEquals("CCAMKModularTotalizer", new CCAMKModularTotalizer(f).toString());
Assert.assertEquals("CCAMKCardinalityNetwork", new CCAMKCardinalityNetwork().toString());
softly.assertThat(new CCAMKTotalizer().toString()).isEqualTo("CCAMKTotalizer");
softly.assertThat(new CCAMKModularTotalizer(f).toString()).isEqualTo("CCAMKModularTotalizer");
softly.assertThat(new CCAMKCardinalityNetwork().toString()).isEqualTo("CCAMKCardinalityNetwork");

Assert.assertTrue(Arrays.asList(CCConfig.AMK_ENCODER.values()).contains(CCConfig.AMK_ENCODER.valueOf("TOTALIZER")));
softly.assertThat(CCConfig.AMK_ENCODER.values()).contains(CCConfig.AMK_ENCODER.valueOf("TOTALIZER"));
}

@Test
public void testCCSorting() {
Assert.assertTrue(Arrays.asList(CCSorting.ImplicationDirection.values()).contains(CCSorting.ImplicationDirection.valueOf("INPUT_TO_OUTPUT")));
softly.assertThat(CCSorting.ImplicationDirection.values()).contains(CCSorting.ImplicationDirection.valueOf("INPUT_TO_OUTPUT"));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -28,26 +28,31 @@

package org.logicng.collections;

import org.junit.Assert;
import org.assertj.core.api.JUnitSoftAssertions;
import org.junit.Rule;
import org.junit.Test;
import org.logicng.formulas.FType;
import org.logicng.formulas.FormulaFactory;
import org.logicng.formulas.Variable;

/**
* Unit tests for {@link ImmutableFormulaList}.
* @version 1.1
* @version 1.2
* @since 1.1
*/
public class ImmutableFormulaListTest {

@Rule
public final JUnitSoftAssertions softly = new JUnitSoftAssertions();

private FormulaFactory formulaFactory = new FormulaFactory();
private Variable a = formulaFactory.variable("A");
private Variable b = formulaFactory.variable("B");

@Test
public void testFormula() {
ImmutableFormulaList ifl = new ImmutableFormulaList(FType.AND, a, b);
Assert.assertEquals(ifl.formula(formulaFactory), ifl.formula(formulaFactory)); //On purpose to check if both ways in method lead to the same result
Assert.assertEquals(formulaFactory.and(a, b), ifl.formula(formulaFactory));
softly.assertThat(ifl.formula(formulaFactory)).isEqualTo(ifl.formula(formulaFactory)); //On purpose to check if both ways in method lead to the same result
softly.assertThat(formulaFactory.and(a, b)).isEqualTo(ifl.formula(formulaFactory));
}
}
16 changes: 10 additions & 6 deletions src/test/java/org/logicng/configurations/ConfigurationsTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -28,21 +28,25 @@

package org.logicng.configurations;

import org.junit.Assert;
import org.assertj.core.api.JUnitSoftAssertions;
import org.junit.Rule;
import org.junit.Test;

/**
* Unit tests for the package configurations.
* @version 1.1
* @version 1.2
* @since 1.1
*/
public class ConfigurationsTest {

@Rule
public final JUnitSoftAssertions softly = new JUnitSoftAssertions();

@Test
public void testValueOf() {
Assert.assertEquals(ConfigurationType.CNF, ConfigurationType.valueOf("CNF"));
Assert.assertEquals(ConfigurationType.GLUCOSE, ConfigurationType.valueOf("GLUCOSE"));
Assert.assertEquals(ConfigurationType.MAXSAT, ConfigurationType.valueOf("MAXSAT"));
Assert.assertEquals(ConfigurationType.CC_ENCODER, ConfigurationType.valueOf("CC_ENCODER"));
softly.assertThat(ConfigurationType.valueOf("CNF")).isEqualTo(ConfigurationType.CNF);
softly.assertThat(ConfigurationType.valueOf("GLUCOSE")).isEqualTo(ConfigurationType.GLUCOSE);
softly.assertThat(ConfigurationType.valueOf("MAXSAT")).isEqualTo(ConfigurationType.MAXSAT);
softly.assertThat(ConfigurationType.valueOf("CC_ENCODER")).isEqualTo(ConfigurationType.CC_ENCODER);
}
}

0 comments on commit 7d9832f

Please sign in to comment.