public void TestComplex()
{
Parser p = new Parser();
var cplx = new Ast.ComplexNumberNode() {
Real = 4.2,
Imaginary = 3.2
};
var cplx2 = new Ast.ComplexNumberNode() {
Real = 4.2,
Imaginary = 99
};
Assert.AreNotEqual(cplx, cplx2);
cplx2.Imaginary = 3.2;
Assert.AreEqual(cplx, cplx2);
Assert.AreEqual(cplx, p.Parse("(4.2+3.2j)").Root);
cplx.Real = 0;
Assert.AreEqual(cplx, p.Parse("(0+3.2j)").Root);
Assert.AreEqual(cplx, p.Parse("3.2j").Root);
Assert.AreEqual(cplx, p.Parse("+3.2j").Root);
cplx.Imaginary = -3.2;
Assert.AreEqual(cplx, p.Parse("-3.2j").Root);
cplx.Real = -9.9;
Assert.AreEqual(cplx, p.Parse("(-9.9-3.2j)").Root);
cplx.Real = 2;
cplx.Imaginary = 3;
Assert.AreEqual(cplx, p.Parse("(2+3j)").Root);
cplx.Imaginary = -3;
Assert.AreEqual(cplx, p.Parse("(2-3j)").Root);
cplx.Real = 0;
Assert.AreEqual(cplx, p.Parse("-3j").Root);
}