public void When_BuildVariable_Expect_Reference() { var builder = new RealBuilder(); var variable = new GetSetVariable <double>("a", Units.Volt); builder.VariableFound += (sender, args) => { if (!args.Created && args.Node.Name == "a") { args.Result = variable.Value; } }; variable.Value = 2.0; Assert.AreEqual(5.0, builder.Build(Node.Add(Node.Variable("a"), 3.0)), 1e-20); }
public void When_BuildVariable_Expect_Reference() { var builder = new RealFunctionBuilder(); var variable = new GetSetVariable <double>("a", Units.Volt); builder.VariableFound += (sender, args) => { if (args.Variable == null && args.Node.Name == "a") { args.Variable = variable; } }; variable.Value = 2.0; Assert.AreEqual(5.0, builder.Build(Node.Variable("a") + 3.0).Invoke(), 1e-20); }
public void When_BuildVariable_Expect_Reference() { var builder = new ComplexFunctionBuilder(); var variable = new GetSetVariable <Complex>("a", Units.Volt); builder.VariableFound += (sender, args) => { if (args.Variable == null && args.Node.Name == "a") { args.Variable = variable; } }; variable.Value = new Complex(1.0, 2.0); var act = builder.Build(Node.Variable("a") + 3.0).Invoke(); Assert.AreEqual(4.0, act.Real, 1e-20); Assert.AreEqual(2.0, act.Imaginary, 1e-20); }
public void When_BuildVariable_Expect_Reference() { var builder = new ComplexBuilder(); var variable = new GetSetVariable <Complex>("a", Units.Volt); builder.VariableFound += (sender, args) => { if (!args.Created && args.Node.Name == "a") { args.Result = variable.Value; } }; variable.Value = 2.0; var act = builder.Build(Node.Add(Node.Variable("a"), 3.0)); Assert.AreEqual(5.0, act.Real, 1e-20); Assert.AreEqual(0.0, act.Imaginary, 1e-20); }