public void ExpressionSetTestRemoveVariable() { var tests = new List<Tuple<string, string, double>> { new Tuple<string, string, double>("a", "2", 2), new Tuple<string, string, double>("b", "{a}-1", 1), new Tuple<string, string, double>("c","{a}+{b}", 3), new Tuple<string, string, double>("d","{a}*{c}", 6), new Tuple<string, string, double>("e","{d}-{b}", 5), new Tuple<string, string, double>("f","{e}+4*{b}", 9), new Tuple<string, string, double>("g","{f}/{c}+1", 4), new Tuple<string, string, double>("all","({f}/{c}-{g}+{b})*({a}+{f})+{d}*{e}", 30) }; var set = new AlgexSet(); set.ImmediateSolve = true; foreach (var test in tests) { set.Add(test.Item1, test.Item2); } set.Remove("a"); tests.RemoveAt(0); foreach (var test in tests) { Assert.AreEqual(true, double.IsNaN(set[test.Item1])); } set.Add("a", 2); foreach (var test in tests) { Assert.AreEqual(test.Item3, set[test.Item1]); } }