From 2cf27da1e2d10d358f7438e702e075ef1360fcbe Mon Sep 17 00:00:00 2001 From: anqili426 Date: Wed, 22 Apr 2020 13:14:23 -0400 Subject: Added new test --- .../viatra2logic/NumericProblemSolver.java | 48 +++++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) (limited to 'Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericProblemSolver.java') diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericProblemSolver.java b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericProblemSolver.java index 7845c528..ff3a85eb 100644 --- a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericProblemSolver.java +++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericProblemSolver.java @@ -5,6 +5,7 @@ import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; +import java.util.Random; import java.util.Set; import org.eclipse.xtext.common.types.JvmIdentifiableElement; @@ -165,7 +166,7 @@ public class NumericProblemSolver { } public void testGetOneSol2(XExpression expression, Term t) throws Exception { - int count = 100; + int count = 250; Map>> matches = new HashMap>>(); Set> matchSet = new HashSet>(); ArrayList allElem = getJvmIdentifiableElements(expression); @@ -208,6 +209,49 @@ public class NumericProblemSolver { System.out.println("Number of matches: " + matchSet.size()); for (int i = 0; i < 10; i++) { Map sol = getOneSolution(obj, matches); + System.out.println("**********************"); + Thread.sleep(3000); + } + } + + public void testGetOneSol3(XExpression expression, Term t) throws Exception { + int count = 15000; + Random rand = new Random(); + Map>> matches = new HashMap>>(); + Set> matchSet = new HashSet>(); + ArrayList allElem = getJvmIdentifiableElements(expression); + List obj = new ArrayList(); + for (int i = 0; i < count; i++) { + Map match = new HashMap(); + if (obj.size() > 1) { + for (JvmIdentifiableElement e: allElem) { + FakeIntegerElement intE = null; + int useOld = rand.nextInt(10); + if (useOld == 1) { + System.out.println("here "); + int index = rand.nextInt(obj.size()); + intE = (FakeIntegerElement) obj.get(index); + } else { + intE = new FakeIntegerElement(); + } + obj.add(intE); + match.put(e, intE); + } + } else { + for (JvmIdentifiableElement e: allElem) { + FakeIntegerElement intE = new FakeIntegerElement(); + obj.add(intE); + match.put(e, intE); + } + } + matchSet.add(match); + } + matches.put(expression, matchSet); + + System.out.println("Number of matches: " + matchSet.size()); + for (int i = 0; i < 10; i++) { + Map sol = getOneSolution(obj, matches); + System.out.println("**********************"); Thread.sleep(3000); } } @@ -257,6 +301,8 @@ public class NumericProblemSolver { } long endFormingSolution = System.currentTimeMillis(); System.out.println("Forming solution: " + (endFormingSolution - startFormingSolution)); + } else { + System.out.println("Unsatisfiable"); } return sol; -- cgit v1.2.3-54-g00ecf