Ejemplo n.º 1
0
        public void TestListCopy()
        {
            var list  = new MathList();
            var atom  = MathAtoms.Placeholder;
            var atom2 = MathAtoms.Times;
            var atom3 = MathAtoms.Divide;

            list.Add(atom);
            list.Add(atom2);
            list.Add(atom3);

            var list2 = AtomCloner.Clone(list, false);

            CheckClone(list, list2);
        }
Ejemplo n.º 2
0
        public void TestListCopyWithFusedItems()
        {
            var builder = new MathListBuilder("12+x");
            var list    = builder.Build();

            var finalized  = list.FinalizedList();
            var fusedCount = finalized.Sum(atom => atom.FusedAtoms?.Count ?? 0);

            Assert.Equal(2, fusedCount);

            var copy           = AtomCloner.Clone(finalized, true);
            var fusedCopyCount = copy.Sum(atom => atom.FusedAtoms?.Count ?? 0);

            Assert.Equal(2, fusedCopyCount);
        }
Ejemplo n.º 3
0
        public void TestCopyMathTable()
        {
            var table = new Table();

            Assert.Equal(MathAtomType.Table, table.AtomType);

            var atom  = MathAtoms.Placeholder;
            var atom2 = MathAtoms.Times;
            var atom3 = MathAtoms.Divide;
            var list  = new MathList {
                atom,
                atom2,
                atom3
            };

            var list2 = new MathList {
                atom3,
                atom2
            };

            table.SetCell(list, 0, 1);
            table.SetCell(list2, 0, 2);

            table.SetAlignment(ColumnAlignment.Left, 2);
            table.SetAlignment(ColumnAlignment.Right, 1);

            var clone = AtomCloner.Clone(table, false) as Table;

            CheckClone(table, clone);
            Assert.Equal(clone.InterColumnSpacing, table.InterColumnSpacing);
            Assert.Equal(clone.Alignments, table.Alignments);
            Assert.False(ReferenceEquals(clone.Alignments, table.Alignments));
            Assert.False(ReferenceEquals(clone.Cells, table.Cells));
            Assert.False(ReferenceEquals(clone.Cells[0], table.Cells[0]));
            Assert.Equal(clone.Cells[0].Count, table.Cells[0].Count);
            Assert.Empty(clone.Cells[0][0]);

            CheckClone(table.Cells[0][1], clone.Cells[0][1]);
            CheckClone(table.Cells[0][2], clone.Cells[0][2]);
            Assert.False(ReferenceEquals(clone.Cells[0][0], table.Cells[0][0]));
        }
Ejemplo n.º 4
0
        public void TestCopy()
        {
            var list = new MathList {
                MathAtoms.Placeholder,
                MathAtoms.Times,
                MathAtoms.Divide
            };

            var list2 = new MathList {
                MathAtoms.Divide,
                MathAtoms.Times
            };

            var open = MathAtoms.Create(MathAtomType.Open, "(");

            open.Subscript   = list;
            open.Superscript = list2;

            var clone = AtomCloner.Clone(open, false);

            CheckClone(open, clone);
            CheckClone(open.Superscript, clone.Superscript);
            CheckClone(open.Subscript, clone.Subscript);
        }