public void AndComparison_Optimize_UnknownVariableRemains() { var originalnode = new AndComparisonNode(new ShortValueNode(1), new VariableValueNode("x")); var optimizednode = originalnode.Optimize(NoVariables); Assert.IsInstanceOfType(optimizednode, typeof(AndComparisonNode)); }
public void And_Optimize_FullyConstant_Value() { var originalnode = new AndComparisonNode(new ShortValueNode(1), new ShortValueNode(1)); var optimizednode = originalnode.Optimize(NoVariables); Assert.AreEqual(1, optimizednode.GetValue()); }
public void AndComparison_Optimize_FullyConstantCollapses() { var originalnode = new AndComparisonNode(new ShortValueNode(1), new ShortValueNode(1)); var optimizednode = originalnode.Optimize(NoVariables); Assert.IsInstanceOfType(optimizednode, typeof(ConstantNode)); }
public void And_Optimize_RecursiveReduction() { var originalnode = new AndComparisonNode( new VariableValueNode("a"), new VariableValueNode("b") ); var optimizednode = originalnode.Optimize(new Dictionary <string, ushort> { { "a", 1 }, { "b", 1 } }); Assert.IsInstanceOfType(optimizednode, typeof(ConstantNode)); }