public void test_reify_1() { /* * //ax+by+c=0 * b = 1 * a = 2 */ var variable = new Var('a'); var variable2 = new Var('b'); var variable3 = new Var('c'); var line = new Line(variable, variable2, variable3); var ls = new LineSymbol(line); //a = 2 var goal = new EqGoal(variable, 2.0); ls.Reify(goal); Assert.False(line.Concrete); Assert.True(ls.CachedSymbols.Count == 1); Assert.True(ls.CachedGoals.Count == 1); //b = 1 goal = new EqGoal(variable2, 1); ls.Reify(goal); Assert.False(line.Concrete); Assert.True(ls.CachedSymbols.Count == 1); Assert.True(ls.CachedGoals.Count == 2); //c = -3.2 goal = new EqGoal(variable3, -3.2); ls.Reify(goal); Assert.False(line.Concrete); Assert.True(ls.CachedSymbols.Count == 1); Assert.True(ls.CachedGoals.Count == 3); //c = 4 goal = new EqGoal(variable3, 4); ls.Reify(goal); Assert.False(line.Concrete); Assert.True(ls.CachedSymbols.Count == 2); Assert.True(ls.CachedGoals.Count == 4); }
public void test_unreify_1() { var variable = new Var('a'); var variable2 = new Var('b'); var variable3 = new Var('c'); var line = new Line(variable, variable2, variable3); var ls = new LineSymbol(line); //a = 2 var goal = new EqGoal(variable, 2.0); ls.Reify(goal); Assert.False(line.Concrete); Assert.True(ls.CachedSymbols.Count == 1); Assert.True(ls.CachedGoals.Count == 1); ls.UnReify(goal); Assert.True(ls.CachedSymbols.Count == 0); Assert.True(ls.CachedGoals.Count == 0); }