/** * */ package it.univr.di.labeledvalue; import it.unimi.dsi.fastutil.ints.IntSet; import it.unimi.dsi.fastutil.objects.Object2IntMap.Entry; import it.unimi.dsi.fastutil.objects.*; import org.junit.Before; import org.junit.Test; import javax.annotation.Nonnull; import java.io.Serial; import java.util.Iterator; import java.util.Objects; import java.util.Set; import static org.junit.Assert.assertEquals; /** * @author posenato */ @SuppressWarnings("ForLoopReplaceableByForEach") public class LabeledIntHierarchyMapTest { /** * */ LabeledIntMapSupplier factory = new LabeledIntMapSupplier<>(LabeledIntHierarchyMap.class); /** * */ LabeledIntHierarchyMap actual = factory.get(); /** * */ LabeledIntMap expected = factory.get(); /** * */ LabeledIntHierarchyMap actual1 = new LabeledIntHierarchyMap(); /** * Check if the management of the base is correct. */ @SuppressWarnings("SpellCheckingInspection") @Test public final void caso20141021() { actual.clear(); actual.put(Label.parse("¬b"), 29); actual.put(Label.parse("a"), 26); actual.put(Label.parse("ab"), 24); actual.put(Label.emptyLabel, 30); actual.put(Label.parse("¬ab"), 28); actual.put(Label.parse("¬a"), 25); actual.put(Label.parse("¬ab"), 23); actual.put(Label.parse("a¬b"), 24); // E,25 a,24 ¬ab,23 expected.clear(); expected.put(Label.emptyLabel, 25); expected.put(Label.parse("a"), 24); expected.put(Label.parse("¬ab"), 23); // System.out.println("map:"+map); // System.out.println("result:"+result); // assertEquals( // "Rimuovo componenti maggiori con elementi consistenti della base:\nexpected:" + expected + ".size: " + expected.size() + "\nactual" + actual // + ".size: " + actual.size() // + "\n", // expected, actual); } /** * */ @Test public final void caso20141128() { actual.clear(); actual.put(Label.parse("bgp"), 10); actual.put(Label.parse("cp"), -1); // System.out.println(map); assertEquals("{(-1, cp) (10, bgp) }", actual.toString()); } /** * Check if the management of the base is correct. */ @Test public final void caso20160108() { actual.clear(); // SEVERE: Put history: (A, -40) (A, -56) (¬a¬b¬c¬DE, -46) (¬a¬c¬DE, -4) (-20, ¬a¬b) (⊡, -16) final Label a = Label.parse("a"); final Label NaNbNcNde = Label.parse("¬a¬b¬c¬de"); final Label NaNcNde = Label.parse("¬a¬c¬de"); final Label NaNb = Label.parse("¬a¬b"); actual.put(a, -40); actual.put(a, -56); actual.put(NaNbNcNde, -46); actual.put(NaNcNde, -4); actual.put(NaNb, -20); actual.put(Label.emptyLabel, -16); assertEquals("{(-16, ⊡) (-56, a) (-20, ¬a¬b) (-46, ¬a¬b¬c¬de) }", actual.toString()); // System.out.println("actual: " + actual); } /** * stub class just to have a different implementation of the interface. * * @author posenato */ private static class LabeledIntMapStub implements LabeledIntMap { @Serial private static final long serialVersionUID = 1L; /** * */ Object2IntRBTreeMap