private void AssertExprRoots(Set roots, Entity expr)
        {
            roots = (Set)roots.InnerSimplified;
            var finite = Assert.IsType <FiniteSet>(roots);

            foreach (var root in finite)
            {
                SolveOneEquation.AssertRoots(expr, x, root);
            }
        }
        public void TestAllcomplexNumeric8_4()
        {
            var expr    = (x - 5 + MathS.i * 3) * (x - 7 + MathS.i * 6) * (x - 0 + MathS.i * 7) * (x - 4 + MathS.i * 1);
            var newexpr = expr.Expand();

            foreach (var root in newexpr.SolveEquation(x).FiniteSet())
            {
                SolveOneEquation.AssertRoots(newexpr, x, root);
            }
        }
        public void TestAllcomplexNumeric7_3()
        {
            var expr    = (x - 5) * (x - 6) * (x - 9);
            var newexpr = expr.Expand();

            foreach (var root in newexpr.SolveEquation(x).FiniteSet())
            {
                SolveOneEquation.AssertRoots(newexpr, x, root);
            }
        }
        public void TestAllcomplexNumeric2_4()
        {
            var expr    = (x - 2 + MathS.i * 0) * (x - 8 + MathS.i * 3) * (x - 4 + MathS.i * 8) * (x - 6 + MathS.i * 8);
            var newexpr = expr.Expand();

            foreach (var root in newexpr.SolveEquation(x).FiniteSet())
            {
                SolveOneEquation.AssertRoots(newexpr, x, root);
            }
        }