コード例 #1
0
ファイル: MapCtrlTests.cs プロジェクト: tuga1975/MindMate
        public void MapCtrl_Test()
        {
            string xmlString = System.IO.File.ReadAllText(@"Resources\Feature Display.mm");

            MapTree tree = new MapTree();

            new MindMapSerializer().Deserialize(xmlString, tree);

            tree.SelectedNodes.Add(tree.RootNode, false);

            var form = new System.Windows.Forms.Form();

            MetaModel.MetaModel.Initialize();
            MetaModel.MetaModel.Instance.MapEditorBackColor  = Color.White;
            MetaModel.MetaModel.Instance.NoteEditorBackColor = Color.White;
            MapCtrl mapCtrl = new MapCtrl(new MapView(tree), new MainCtrlStub(form));

            form.Controls.Add(mapCtrl.MapView.Canvas);

            tree.TurnOnChangeManager();

            // folding test
            mapCtrl.AppendNodeAndEdit();
            mapCtrl.MapView.NodeTextEditor.EndNodeEdit(true, true);
            mapCtrl.UpdateNodeText(tree.RootNode.LastChild, "Test Folding");
            mapCtrl.AppendChildNode(tree.RootNode.LastChild);
            mapCtrl.AppendChildNode(tree.RootNode.LastChild);
            mapCtrl.AppendChildNode(tree.RootNode.LastChild);
            mapCtrl.SelectNodeRightOrUnfold();
            mapCtrl.ToggleFolded();

            // delete test
            mapCtrl.SelectNodeAbove();
            mapCtrl.DeleteSelectedNodes();

            // move up
            mapCtrl.MoveNodeUp();

            // move right
            mapCtrl.SelectNodeBelow();
            for (int i = 0; i < 20; i++)
            {
                mapCtrl.MoveNodeUp();
            }

            //*****
            if (CONDUCT_INTERMEDIATE_TESTS)
            {
                ImageTest(mapCtrl.MapView, "MapCtrl1");
            }

            // move down
            mapCtrl.SelectNodeRightOrUnfold();
            for (int i = 0; i < 5; i++)
            {
                mapCtrl.SelectNodeAbove();
            }
            for (int i = 0; i < 5; i++)
            {
                mapCtrl.MoveNodeDown();
            }

            // move up
            mapCtrl.SelectNodeAbove();
            for (int i = 0; i < 5; i++)
            {
                mapCtrl.MoveNodeUp();
            }

            // move left
            mapCtrl.SelectNodeLeftOrUnfold();
            for (int i = 0; i < 20; i++)
            {
                mapCtrl.MoveNodeDown();
            }

            // select siblings above
            mapCtrl.SelectNodeLeftOrUnfold();
            for (int i = 0; i < 3; i++)
            {
                mapCtrl.SelectNodeBelow();
            }
            mapCtrl.SelectAllSiblingsAbove();
            mapCtrl.ToggleBold();

            // select siblings below
            mapCtrl.SelectNodeRightOrUnfold();
            mapCtrl.SelectNodeLeftOrUnfold();
            for (int i = 0; i < 3; i++)
            {
                mapCtrl.SelectNodeAbove();
            }
            mapCtrl.SelectNodeBelow();
            mapCtrl.SelectAllSiblingsBelow();
            mapCtrl.ToggleItalic();

            //*****
            if (CONDUCT_INTERMEDIATE_TESTS)
            {
                ImageTest(mapCtrl.MapView, "MapCtrl2");
            }

            // add icon
            mapCtrl.AppendIcon("clock");
            mapCtrl.AppendIcon("idea");

            // remove last icon
            mapCtrl.RemoveLastIcon();

            // remove all icon
            mapCtrl.SelectNodeRightOrUnfold();
            mapCtrl.SelectNodeLeftOrUnfold();
            for (int i = 0; i < 3; i++)
            {
                mapCtrl.SelectNodeBelow();
            }
            mapCtrl.RemoveAllIcon();

            //*****
            if (CONDUCT_INTERMEDIATE_TESTS)
            {
                ImageTest(mapCtrl.MapView, "MapCtrl3");
            }

            mapCtrl.AppendNodeAndEdit();
            mapCtrl.MapView.NodeTextEditor.EndNodeEdit(true, true);
            mapCtrl.UpdateNodeText(tree.SelectedNodes.First, "Format Test");

            mapCtrl.ChangeLineColorUsingPicker();
            mapCtrl.ChangeLinePattern(System.Drawing.Drawing2D.DashStyle.Dash);
            mapCtrl.ChangeLineWidth(2);
            mapCtrl.ChangeFont();

            //*****
            if (CONDUCT_INTERMEDIATE_TESTS)
            {
                ImageTest(mapCtrl.MapView, "MapCtrl4");
            }


            mapCtrl.SelectNodeRightOrUnfold();
            mapCtrl.AppendSiblingNodeAndEdit();
            mapCtrl.MapView.NodeTextEditor.EndNodeEdit(true, true);
            mapCtrl.UpdateNodeText(tree.SelectedNodes.First, "Node Color");

            // change node color
            mapCtrl.AppendChildNode(tree.SelectedNodes.First);
            mapCtrl.UpdateNodeText(tree.SelectedNodes.First, "Node Color");
            mapCtrl.ChangeTextColorByPicker();

            // unfolding
            mapCtrl.SelectNodeRightOrUnfold();
            mapCtrl.ToggleFolded();
            mapCtrl.SelectNodeLeftOrUnfold();

            // change background color
            mapCtrl.AppendChildNodeAndEdit();
            mapCtrl.MapView.NodeTextEditor.EndNodeEdit(true, true);
            mapCtrl.UpdateNodeText(tree.SelectedNodes.First, "Background Color");
            mapCtrl.ChangeBackColorByPicker();
            mapCtrl.SelectNodeRightOrUnfold();

            //*****
            if (CONDUCT_INTERMEDIATE_TESTS)
            {
                ImageTest(mapCtrl.MapView, "MapCtrl5");
            }

            //select top/bottom sibling
            mapCtrl.SelectTopSibling();
            mapCtrl.AppendSiblingAboveAndEdit();
            mapCtrl.MapView.NodeTextEditor.EndNodeEdit(true, true);
            mapCtrl.UpdateNodeText(tree.SelectedNodes.First, "SelectTopSibling");
            mapCtrl.ChangeNodeShapeBubble();
            mapCtrl.SelectBottomSibling();

            //insert parent
            mapCtrl.InsertParentAndEdit();
            mapCtrl.EndNodeEdit();
            mapCtrl.UpdateNodeText(tree.SelectedNodes.First, "Parent Inserted");
            mapCtrl.ChangeNodeShapeBullet();

            //move nodes
            var n = mapCtrl.MapView.SelectedNodes.First;

            tree.RootNode.GetLastChild(NodePosition.Right).Selected = true;
            mapCtrl.SelectNodeAbove(true);
            mapCtrl.MapView.SelectedNodes.Last.ForEach(a => tree.SelectedNodes.Add(a, true));
            mapCtrl.MoveNodes(new DropLocation()
            {
                Parent             = n,
                InsertAfterSibling = false
            });
            mapCtrl.SelectNodeBelow(true);

            //change node shape
            mapCtrl.ChangeNodeShapeBox();
            mapCtrl.MapView.SelectedNodes.Add(tree.SelectedNodes.First(a => a.Text == "Deep Hierarchy"));
            mapCtrl.ToggleFolded();
            mapCtrl.SelectNodeLeftOrUnfold();
            mapCtrl.SelectNodeLeftOrUnfold();
            mapCtrl.SelectNodeBelow(true);
            mapCtrl.SelectNodeAbove(true);
            mapCtrl.ChangeNodeShapeFork();

            ImageTest(mapCtrl.MapView, "MapCtrl6");

            VerifyUndoRedo(mapCtrl, "Feature Display");

            VerifySerializeDeserialize(mapCtrl);

            form.Dispose();
            //form.Close();
        }