public void LessThan_Optimize_FullyConstant_Value() { var originalnode = new LessThanComparisonNode(new ShortValueNode(1), new ShortValueNode(2)); var optimizednode = originalnode.Optimize(NoVariables); Assert.AreEqual(1, optimizednode.GetValue()); }
public void LessThanComparison_Optimize_UnknownVariableRemains() { var originalnode = new LessThanComparisonNode(new ShortValueNode(1), new VariableValueNode("x")); var optimizednode = originalnode.Optimize(NoVariables); Assert.IsInstanceOfType(optimizednode, typeof(LessThanComparisonNode)); }
public void LessThanComparison_Optimize_FullyConstantCollapses() { var originalnode = new LessThanComparisonNode(new ShortValueNode(1), new ShortValueNode(1)); var optimizednode = originalnode.Optimize(NoVariables); Assert.IsInstanceOfType(optimizednode, typeof(ConstantNode)); }
public void LessThan_Optimize_RecursiveReduction() { var originalnode = new LessThanComparisonNode( new VariableValueNode("a"), new VariableValueNode("b") ); var optimizednode = originalnode.Optimize(new Dictionary <string, ushort> { { "a", 0 }, { "b", 1 } }); Assert.IsInstanceOfType(optimizednode, typeof(ConstantNode)); }