public void UndefVarTest() { var parameters = new ParameterCollection { { "a", 1 } }; var undef = new Undefine(new Variable("a")); undef.Execute(parameters); Assert.False(parameters.ContainsKey("a")); }
public void UndefConstTest() { var parameters = new ParameterCollection(); var undef = new Undefine(new Variable("π")); Assert.Throws<ArgumentException>(() => undef.Execute(parameters)); }
public void UndefFuncWithParamsTest() { var key1 = new UserFunction("f", new IExpression[0], 0); var key2 = new UserFunction("f", 1); var functions = new FunctionCollection { { key1, new Number(1) }, { key2, new Number(2) } }; var undef = new Undefine(key2); var result = undef.Execute(functions); Assert.True(functions.ContainsKey(key1)); Assert.False(functions.ContainsKey(key2)); Assert.Equal("The 'f(x1)' function is removed.", result); }