public void MinMaxWithSelfTest() { GetConverter(out var varX, out _); MathProgram prog1 = new MaxFunction(varX, varX); var prog2 = varX; var simp = prog1.Simplify(); Console.WriteLine($"{prog1}->{simp}, {prog2}"); Assert.AreEqual(simp, prog2, $"{prog1} simplification ({simp}) should be equal to {prog2}"); prog1 = new MinFunction(varX, varX); simp = prog1.Simplify(); Console.WriteLine($"{prog1}->{simp}, {prog2}"); Assert.AreEqual(simp, prog2, $"{prog1} simplification ({simp}) should be equal to {prog2}"); }
public void MaxTest() { GetConverter(out var varX, out _); MathProgram prog1 = new MaxFunction(varX, new Constant(double.MinValue)); var prog2 = varX; var simp = prog1.Simplify(); Console.WriteLine($"{prog1}->{simp}, {prog2}"); Assert.AreEqual(simp, prog2, $"{prog1} simplification ({simp}) should be equal to {prog2}"); prog1 = new MaxFunction(varX, new Constant(double.NegativeInfinity)); simp = prog1.Simplify(); Console.WriteLine($"{prog1}->{simp}, {prog2}"); Assert.AreEqual(simp, prog2, $"{prog1} simplification ({simp}) should be equal to {prog2}"); }