[Javabdd-checkins] SF.net SVN: javabdd: [462] trunk/JavaBDD_tests/bdd
Brought to you by:
joewhaley
From: <joe...@us...> - 2006-07-21 14:32:20
|
Revision: 462 Author: joewhaley Date: 2006-07-21 07:32:13 -0700 (Fri, 21 Jul 2006) ViewCVS: http://svn.sourceforge.net/javabdd/?rev=462&view=rev Log Message: ----------- Changed MicroFactory, JDDFactory to use new BDDFactoryIntImpl shared superclass. More bug fixes in the test cases. Now the test cases won't fail if a BDD library doesn't support a (nonessential) operation and throws UnsupportedOperationException. Modified Paths: -------------- trunk/JavaBDD_tests/bdd/BDDTestCase.java trunk/JavaBDD_tests/bdd/BasicTests.java trunk/JavaBDD_tests/bdd/CallbackTests.java trunk/JavaBDD_tests/bdd/IteratorTests.java trunk/JavaBDD_tests/highlevel/NQueensTest.java trunk/JavaBDD_tests/regression/R1.java trunk/JavaBDD_tests/regression/R2.java trunk/JavaBDD_tests/regression/R3.java Modified: trunk/JavaBDD_tests/bdd/BDDTestCase.java =================================================================== --- trunk/JavaBDD_tests/bdd/BDDTestCase.java 2006-07-21 14:32:02 UTC (rev 461) +++ trunk/JavaBDD_tests/bdd/BDDTestCase.java 2006-07-21 14:32:13 UTC (rev 462) @@ -23,9 +23,9 @@ "net.sf.javabdd.JFactory", "net.sf.javabdd.BuDDyFactory", "net.sf.javabdd.MicroFactory", - "net.sf.javabdd.CUDDFactory", + //"net.sf.javabdd.CUDDFactory", //"net.sf.javabdd.CALFactory", - //"net.sf.javabdd.JDDFactory", + "net.sf.javabdd.JDDFactory", }; protected static Collection factories; Modified: trunk/JavaBDD_tests/bdd/BasicTests.java =================================================================== --- trunk/JavaBDD_tests/bdd/BasicTests.java 2006-07-21 14:32:02 UTC (rev 461) +++ trunk/JavaBDD_tests/bdd/BasicTests.java 2006-07-21 14:32:13 UTC (rev 462) @@ -55,7 +55,9 @@ while (hasNext()) { BDDFactory bdd = nextFactory(); if (bdd.varNum() < 5) bdd.setVarNum(5); - bdd.setVarOrder(new int[] { 0, 1, 2, 3, 4 }); + try { + bdd.setVarOrder(new int[] { 0, 1, 2, 3, 4 }); + } catch (UnsupportedOperationException _) { } BDD a = bdd.ithVar(1); BDD b = bdd.ithVar(2); BDD c = bdd.ithVar(3); @@ -66,11 +68,11 @@ Assert.assertEquals(3, c.var()); try { d.var(); - Assert.fail(); + Assert.fail(bdd.getVersion()); } catch (BDDException x) { } try { e.var(); - Assert.fail(); + Assert.fail(bdd.getVersion()); } catch (BDDException x) { } BDD f = a.and(b); Assert.assertEquals(1, f.var()); @@ -84,7 +86,12 @@ while (hasNext()) { BDDFactory bdd = nextFactory(); if (bdd.varNum() < 5) bdd.setVarNum(5); - bdd.setVarOrder(new int[] { 0, 1, 2, 3, 4 }); + try { + bdd.setVarOrder(new int[] { 0, 1, 2, 3, 4 }); + } catch (UnsupportedOperationException _) { + System.err.println("Warning: "+bdd.getVersion()+" does not support setVarOrder()"); + continue; + } BDD a = bdd.ithVar(0); BDD b = bdd.ithVar(1); BDD c = bdd.ithVar(2); @@ -116,7 +123,9 @@ while (hasNext()) { BDDFactory bdd = nextFactory(); if (bdd.varNum() < 5) bdd.setVarNum(5); - bdd.setVarOrder(new int[] { 0, 1, 2, 3, 4 }); + try { + bdd.setVarOrder(new int[] { 0, 1, 2, 3, 4 }); + } catch (UnsupportedOperationException _) { } BDD a, b, c; a = bdd.ithVar(0); a.andWith(bdd.ithVar(1)); @@ -124,6 +133,16 @@ Assert.assertEquals(0, a.var()); b = a.low(); Assert.assertEquals(true, b.isZero()); + try { + b.low(); + Assert.fail(); + } catch (BDDException _) { + } + try { + b.high(); + Assert.fail(); + } catch (BDDException _) { + } b.free(); b = a.high(); Assert.assertEquals(1, b.var()); @@ -132,6 +151,16 @@ Assert.assertEquals(2, c.var()); b = c.low(); Assert.assertEquals(true, b.isOne()); + try { + b.low(); + Assert.fail(); + } catch (BDDException _) { + } + try { + b.high(); + Assert.fail(); + } catch (BDDException _) { + } a.free(); b.free(); c.free(); } } @@ -318,7 +347,9 @@ while (hasNext()) { BDDFactory bdd = nextFactory(); // TODO: more tests - testApply(bdd, BDDFactory.less, false, true, false, false); + try { + testApply(bdd, BDDFactory.less, false, true, false, false); + } catch (UnsupportedOperationException _) { } } } @@ -328,7 +359,9 @@ while (hasNext()) { BDDFactory bdd = nextFactory(); // TODO: more tests - testApply(bdd, BDDFactory.invimp, true, false, true, true); + try { + testApply(bdd, BDDFactory.invimp, true, false, true, true); + } catch (UnsupportedOperationException _) { } } } @@ -362,12 +395,18 @@ testApplyWith(bdd, BDDFactory.or, false, true, true, true); testApplyWith(bdd, BDDFactory.xor, false, true, true, false); testApplyWith(bdd, BDDFactory.imp, true, true, false, true); - testApplyWith(bdd, BDDFactory.biimp, true, false, false, true); testApplyWith(bdd, BDDFactory.diff, false, false, true, false); - testApplyWith(bdd, BDDFactory.less, false, true, false, false); - testApplyWith(bdd, BDDFactory.invimp, true, false, true, true); testApplyWith(bdd, BDDFactory.nand, true, true, true, false); testApplyWith(bdd, BDDFactory.nor, true, false, false, false); + try { + testApplyWith(bdd, BDDFactory.biimp, true, false, false, true); + } catch (UnsupportedOperationException _) { } + try { + testApplyWith(bdd, BDDFactory.less, false, true, false, false); + } catch (UnsupportedOperationException _) { } + try { + testApplyWith(bdd, BDDFactory.invimp, true, false, true, true); + } catch (UnsupportedOperationException _) { } } } Modified: trunk/JavaBDD_tests/bdd/CallbackTests.java =================================================================== --- trunk/JavaBDD_tests/bdd/CallbackTests.java 2006-07-21 14:32:02 UTC (rev 461) +++ trunk/JavaBDD_tests/bdd/CallbackTests.java 2006-07-21 14:32:13 UTC (rev 462) @@ -45,7 +45,12 @@ Assert.assertTrue(hasNext()); while (hasNext()) { BDDFactory bdd = nextFactory(); - bdd.registerGCCallback(this, m); + try { + bdd.registerGCCallback(this, m); + } catch (UnsupportedOperationException _) { + System.err.println("Warning: "+bdd.getVersion()+" does not support callbacks"); + continue; + } gc_called = 0; final int numBits = 20; final int max = (1 << numBits) - 1; @@ -89,7 +94,12 @@ Assert.assertTrue(hasNext()); while (hasNext()) { BDDFactory bdd = nextFactory(); - bdd.registerReorderCallback(this, m); + try { + bdd.registerReorderCallback(this, m); + } catch (UnsupportedOperationException _) { + System.err.println("Warning: "+bdd.getVersion()+" does not support callbacks"); + continue; + } reorder_called = false; if (bdd.varNum() < 5) bdd.setVarNum(5); //bdd.varBlockAll(); @@ -127,7 +137,12 @@ Assert.assertTrue(hasNext()); while (hasNext()) { BDDFactory bdd = nextFactory(); - bdd.registerResizeCallback(this, m); + try { + bdd.registerResizeCallback(this, m); + } catch (UnsupportedOperationException _) { + System.err.println("Warning: "+bdd.getVersion()+" does not support callbacks"); + continue; + } resize_called = false; int newSize = bdd.getNodeTableSize() * 2; bdd.setNodeTableSize(newSize); Modified: trunk/JavaBDD_tests/bdd/IteratorTests.java =================================================================== --- trunk/JavaBDD_tests/bdd/IteratorTests.java 2006-07-21 14:32:02 UTC (rev 461) +++ trunk/JavaBDD_tests/bdd/IteratorTests.java 2006-07-21 14:32:13 UTC (rev 462) @@ -37,7 +37,7 @@ BDDVarSet var = d.set(); Iterator i = b.iterator(var); b.free(); - Assert.assertEquals(i.hasNext(), false); + Assert.assertEquals(bdd.getVersion(), i.hasNext(), false); try { i.next(); Assert.fail(); @@ -53,18 +53,18 @@ while (i1.hasNext()) { BDD b1 = (BDD) i1.next(); double sc = b1.satCount(var); - Assert.assertEquals(1., sc, 0.0000001); + Assert.assertEquals(bdd.getVersion(), 1., sc, 0.0000001); s1.add(b1); } while (i2.hasNext()) { BDD b2 = (BDD) i2.next(); double sc = b2.satCount(var); - Assert.assertEquals(1., sc, 0.0000001); + Assert.assertEquals(bdd.getVersion(), 1., sc, 0.0000001); s2.add(b2); } var.free(); - Assert.assertEquals(s1.size(), domainSize); - Assert.assertEquals(s2.size(), domainSize); + Assert.assertEquals(bdd.getVersion(), s1.size(), domainSize); + Assert.assertEquals(bdd.getVersion(), s2.size(), domainSize); if (!s1.equals(s2)) { Set s1_minus_s2 = new HashSet(s1); s1_minus_s2.removeAll(s2); @@ -118,13 +118,13 @@ while (i1.hasNext()) { BDD b1 = (BDD) i1.next(); double sc = b1.satCount(var); - Assert.assertEquals(1., sc, 0.0000001); + Assert.assertEquals(bdd.getVersion(), 1., sc, 0.0000001); s1.add(b1); } while (i2.hasNext()) { BDD b2 = (BDD) i2.next(); double sc = b2.satCount(var); - Assert.assertEquals(1., sc, 0.0000001); + Assert.assertEquals(bdd.getVersion(), 1., sc, 0.0000001); s2.add(b2); } var.free(); @@ -133,7 +133,7 @@ s1_minus_s2.removeAll(s2); Set s2_minus_s1 = new HashSet(s2); s2_minus_s1.removeAll(s1); - Assert.fail("iterator() contains these extras: "+s1_minus_s2+"\n"+ + Assert.fail(bdd.getVersion()+": iterator() contains these extras: "+s1_minus_s2+"\n"+ "iterator2() contains these extras: "+s2_minus_s1); } for (Iterator k = s1.iterator(); k.hasNext(); ) { Modified: trunk/JavaBDD_tests/highlevel/NQueensTest.java =================================================================== --- trunk/JavaBDD_tests/highlevel/NQueensTest.java 2006-07-21 14:32:02 UTC (rev 461) +++ trunk/JavaBDD_tests/highlevel/NQueensTest.java 2006-07-21 14:32:13 UTC (rev 462) @@ -34,7 +34,7 @@ for (int i = 1; i <= CHECK; ++i) { NQueens.N = i; double n = NQueens.runTest(); - Assert.assertEquals(n, ANSWERS[i-1], 0.1); + Assert.assertEquals(NQueens.B.getVersion(), n, ANSWERS[i-1], 0.1); NQueens.freeAll(); } } Modified: trunk/JavaBDD_tests/regression/R1.java =================================================================== --- trunk/JavaBDD_tests/regression/R1.java 2006-07-21 14:32:02 UTC (rev 461) +++ trunk/JavaBDD_tests/regression/R1.java 2006-07-21 14:32:13 UTC (rev 462) @@ -31,7 +31,7 @@ double s1 = x.satCount(set); if (bdd.varNum() < 20) bdd.setVarNum(20); double s2 = x.satCount(set); - Assert.assertEquals(bdd.toString(), s1, s2, 0.00001); + Assert.assertEquals(bdd.getVersion(), s1, s2, 0.00001); x.free(); set.free(); } } Modified: trunk/JavaBDD_tests/regression/R2.java =================================================================== --- trunk/JavaBDD_tests/regression/R2.java 2006-07-21 14:32:02 UTC (rev 461) +++ trunk/JavaBDD_tests/regression/R2.java 2006-07-21 14:32:13 UTC (rev 462) @@ -26,12 +26,12 @@ BDDFactory bdd = nextFactory(); BDD zero = bdd.zero(); BDD one = bdd.one(); - Assert.assertTrue(bdd.toString(), zero.isZero()); - Assert.assertTrue(bdd.toString(), one.isOne()); + Assert.assertTrue(bdd.getVersion(), zero.isZero()); + Assert.assertTrue(bdd.getVersion(), one.isOne()); BDDVarSet s0 = zero.support(); BDDVarSet s1 = one.support(); - Assert.assertTrue(bdd.toString(), s0.isEmpty()); - Assert.assertTrue(bdd.toString(), s1.isEmpty()); + Assert.assertTrue(bdd.getVersion(), s0.isEmpty()); + Assert.assertTrue(bdd.getVersion(), s1.isEmpty()); zero.free(); one.free(); s0.free(); s1.free(); } Modified: trunk/JavaBDD_tests/regression/R3.java =================================================================== --- trunk/JavaBDD_tests/regression/R3.java 2006-07-21 14:32:02 UTC (rev 461) +++ trunk/JavaBDD_tests/regression/R3.java 2006-07-21 14:32:13 UTC (rev 462) @@ -35,28 +35,33 @@ one = bdd.one(); or = x0.or(x1); - z0 = or.unique(xs0); + try { + z0 = or.unique(xs0); + } catch (UnsupportedOperationException _) { + System.err.println("Warning: "+bdd.getVersion()+" does not support unique()"); + continue; + } t = x1.not(); - Assert.assertTrue(bdd.getVersion()+": "+z0.toString(), z0.equals(t)); + Assert.assertTrue(bdd.getVersion(), z0.equals(t)); t.free(); z1 = or.unique(xs1); t = x0.not(); - Assert.assertTrue(bdd.getVersion()+": "+z1.toString(), z1.equals(t)); + Assert.assertTrue(bdd.getVersion(), z1.equals(t)); t.free(); t = one.unique(xs0); - Assert.assertTrue(bdd.getVersion()+": "+t.toString(), t.isZero()); + Assert.assertTrue(bdd.getVersion(), t.isZero()); t.free(); y0 = x0.applyUni(x1, BDDFactory.or, xs0); t = x1.not(); - Assert.assertTrue(bdd.getVersion()+": "+y0.toString(), y0.equals(t)); + Assert.assertTrue(bdd.getVersion(), y0.equals(t)); t.free(); y1 = x0.applyUni(x1, BDDFactory.or, xs1); t = x0.not(); - //Assert.assertTrue(bdd.getVersion()+": "+y1.toString(), y1.equals(t)); + //Assert.assertTrue(bdd.getVersion(), y1.equals(t)); t.free(); x0.free(); x1.free(); y0.free(); y1.free(); z0.free(); z1.free(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |