Beispiel #1
0
        public void GivenMapLegendView_WhenSelectedNodeChanged_SelectionChangedFired()
        {
            // Given
            var mapData           = new MapPointData("test");
            var mapDataCollection = new MapDataCollection("collection");

            mapDataCollection.Add(mapData);

            using (var view = new MapLegendView(contextMenuBuilderProvider)
            {
                Data = mapDataCollection
            })
            {
                var treeViewControl = TypeUtils.GetField <TreeViewControl>(view, "treeViewControl");
                WindowsFormsTestHelper.Show(treeViewControl);

                var selectionChangedCount = 0;
                view.SelectionChanged += (sender, args) => selectionChangedCount++;

                // When
                var context = new MapPointDataContext(mapData, new MapDataCollectionContext(mapDataCollection, null));
                treeViewControl.TrySelectNodeForData(context);

                // Then
                Assert.AreEqual(1, selectionChangedCount);
            }

            WindowsFormsTestHelper.CloseAll();
        }
Beispiel #2
0
        public void ClearSelectionOnParentGroupLayerRemove()
        {
            var featureProvider = new DataTableFeatureProvider();

            featureProvider.Add(new WKTReader().Read("POINT(0 0)"));
            var layer = new VectorLayer {
                DataSource = featureProvider
            };
            var groupLayer = new GroupLayer {
                Layers = { layer }
            };

            using (var mapControl = new MapControl {
                Map = { Layers = { groupLayer } }, AllowDrop = false
            })
            {
                var selectTool = mapControl.SelectTool;

                selectTool.Select(featureProvider.Features.Cast <IFeature>());

                WindowsFormsTestHelper.Show(mapControl);

                mapControl.Map.Layers.Remove(groupLayer);

                mapControl.WaitUntilAllEventsAreProcessed();

                selectTool.Selection
                .Should("selection is cleared on layer remove").Be.Empty();
            }

            WindowsFormsTestHelper.CloseAll();
        }
Beispiel #3
0
        public void FillOutCustomClass()
        {
            //don't run on on buildserver because the keys will go everywhere ;)
            if (WindowsFormsTestHelper.IsBuildServer)
            {
                return;
            }
            var persons   = new BindingList <Person>();
            var tableView = new TableView {
                Data = persons
            };
            bool ranOnShown = false;

            Action <Form> onShown = delegate
            {
                tableView.Focus();
                SendKeys.SendWait("J");       // goto row 1 column 2
                SendKeys.SendWait("{RIGHT}"); // goto row 1 column 2
                SendKeys.SendWait("3");       // also select cell below
                SendKeys.SendWait("{DOWN}");  //commit cells

                Assert.AreEqual(1, persons.Count);
                ranOnShown = true;
            };

            WindowsFormsTestHelper.Show(tableView, onShown);
            Assert.IsTrue(ranOnShown);
        }
Beispiel #4
0
        public void ClearFunctionThatIsBoundToDecorator()
        {
            IFunction function = new Function("time series");

            function.Arguments.Add(new Variable <DateTime>("time"));
            function.Components.Add(new Variable <double>("water_discharge"));

            // set initial values
            DateTime time1 = DateTime.Now;
            DateTime time2 = time1.AddMinutes(1);
            DateTime time3 = time2.AddMinutes(1);

            function[time1] = 0.0;
            function[time2] = 1.0;
            function[time3] = 2.0;

            ILineChartSeries lineChartSeries = ChartSeriesFactory.CreateLineSeries();

            lineChartSeries.XValuesDataMember = function.Arguments[0].DisplayName;
            lineChartSeries.YValuesDataMember = function.Components[0].DisplayName;

            var control = new Control();

            WindowsFormsTestHelper.Show(control);

            var functionBindingList = new FunctionBindingList(function)
            {
                SynchronizeInvoke = control
            };

            lineChartSeries.DataSource = functionBindingList;

            function.Clear();
        }
Beispiel #5
0
        public void DisablingLayerShouldRefreshMapControlOnce()
        {
            using (var mapControl = new MapControl {
                AllowDrop = false
            })
            {
                WindowsFormsTestHelper.Show(mapControl);

                mapControl.Map.Layers.Add(new GroupLayer("group1"));

                while (mapControl.IsProcessing)
                {
                    Application.DoEvents();
                }

                var refreshCount = 0;
                mapControl.MapRefreshed += delegate
                {
                    refreshCount++;
                };


                mapControl.Map.Layers.First().Visible = false;

                while (mapControl.IsProcessing)
                {
                    Application.DoEvents();
                }

                // TODO: currently second refresh can happen because of timer in MapControl - timer must be replaced by local Map / Layer / MapControl custom event
                refreshCount.Should("map should be refreshed once when layer property changes").Be.LessThanOrEqualTo(2);
            }
        }
Beispiel #6
0
        public void GivenChartLegendView_WhenSettingData_SelectionChangedFired()
        {
            // Given
            var mocks = new MockRepository();
            var contextMenuBuilderProvider = mocks.Stub <IContextMenuBuilderProvider>();

            mocks.ReplayAll();

            using (var view = new ChartLegendView(contextMenuBuilderProvider)
            {
                Data = new ChartDataCollection("collection")
            })
            {
                var treeViewControl = TypeUtils.GetField <TreeViewControl>(view, "treeViewControl");
                WindowsFormsTestHelper.Show(treeViewControl);

                var selectionChangedCount = 0;
                view.SelectionChanged += (sender, args) => selectionChangedCount++;

                // When
                view.Data = new ChartDataCollection("collection");

                // Then
                Assert.AreEqual(1, selectionChangedCount);
            }

            WindowsFormsTestHelper.CloseAll();
            mocks.VerifyAll();
        }
Beispiel #7
0
        public void Selection_Always_ReturnsDataContext()
        {
            // Setup
            var mapData           = new TestFeatureBasedMapData();
            var mapDataCollection = new MapDataCollection("collection");

            mapDataCollection.Add(mapData);

            using (var view = new MapLegendView(contextMenuBuilderProvider)
            {
                Data = mapDataCollection
            })
            {
                var treeViewControl = TypeUtils.GetField <TreeViewControl>(view, "treeViewControl");
                WindowsFormsTestHelper.Show(treeViewControl);
                treeViewControl.TrySelectNodeForData(view.Data);

                // Call
                var selection = (MapDataCollectionContext)view.Selection;

                // Assert
                Assert.AreSame(mapDataCollection, selection.WrappedData);
            }

            WindowsFormsTestHelper.CloseAll();
        }
Beispiel #8
0
        public void DisablingLayerShouldRefreshMapControlOnce()
        {
            var mapControl = new MapControl();

            WindowsFormsTestHelper.Show(mapControl);

            mapControl.Map.Layers.Add(new LayerGroup("group1"));

            while (mapControl.IsProcessing)
            {
                Application.DoEvents();
            }

            var refreshCount = 0;

            mapControl.MapRefreshed += delegate
            {
                refreshCount++;
            };


            mapControl.Map.Layers.First().Enabled = false;

            while (mapControl.IsProcessing)
            {
                Application.DoEvents();
            }

            refreshCount.Should("map should be refreshed once when layer property changes").Be.EqualTo(1);
        }
Beispiel #9
0
        public void GivenDataGridViewWithDataSource_WhenShown_ThenCurrentCellChangedFiredOnlyOnce()
        {
            // Given
            var count        = 0;
            var dataGridView = new EnhancedDataGridView
            {
                DataSource = new List <TestDataRow>
                {
                    new TestDataRow
                    {
                        A = 1.0,
                        B = 1.1
                    },
                    new TestDataRow
                    {
                        A = 2.0,
                        B = 2.1
                    }
                }
            };

            dataGridView.CurrentCellChanged += (s, e) => count++;

            // When
            WindowsFormsTestHelper.Show(dataGridView);

            // Then
            Assert.AreEqual(1, count);
        }
Beispiel #10
0
        public void ChangingEnvelopeAfterMapControlIsShownWorksCorrectly()
        {
            var layer = new VectorLayer {
                DataSource = new DataTableFeatureProvider("POINT(1 1)")
            };
            var map = new Map {
                Layers = { layer }
            };

            var mapControl = new MapControl {
                Map = map, AllowDrop = false
            };

            var viewEnvelope = new Envelope(10000, 10010, 10000, 10010);

            WindowsFormsTestHelper.Show(mapControl,
                                        delegate
            {
                map.ZoomToFit(viewEnvelope);
            });

            for (var i = 0; i < 10; i++)
            {
                Application.DoEvents();
                Thread.Sleep(100);
            }

            Assert.IsTrue(map.Envelope.Contains(viewEnvelope));

            WindowsFormsTestHelper.CloseAll();
        }
Beispiel #11
0
        public void Selection_RootNodeData_ReturnsObjectData()
        {
            // Setup
            var mocks = new MockRepository();
            var contextMenuBuilderProvider = mocks.Stub <IContextMenuBuilderProvider>();

            mocks.ReplayAll();

            ChartData chartData           = CreateChartData();
            var       chartDataCollection = new ChartDataCollection("collection");

            chartDataCollection.Add(chartData);

            using (var view = new ChartLegendView(contextMenuBuilderProvider)
            {
                Data = chartDataCollection
            })
            {
                var treeViewControl = TypeUtils.GetField <TreeViewControl>(view, "treeViewControl");
                WindowsFormsTestHelper.Show(treeViewControl);
                treeViewControl.TrySelectNodeForData(chartDataCollection);

                // Call
                object selection = view.Selection;

                // Assert
                Assert.AreSame(chartDataCollection, selection);
            }

            WindowsFormsTestHelper.CloseAll();

            mocks.VerifyAll();
        }
Beispiel #12
0
        public void ContextMenuPasteTextIntoGridBoundToBindingList()
        {
            IFunction function = new Function();

            function.Arguments.Add(new Variable <string>("A"));
            function.Components.Add(new Variable <string>("B"));
            function["a"] = "b";
            var bindingList = new FunctionBindingList(function);

            var gridControl         = new GridControl();
            var xtraGridContextMenu = new XtraGridContextMenu {
                SourceGrid = gridControl
            };

            gridControl.ContextMenuStrip = xtraGridContextMenu;
            gridControl.DataSource       = bindingList;

            bindingList.SynchronizeInvoke     = gridControl;
            bindingList.SynchronizeWaitMethod = delegate { Application.DoEvents(); };

            const string argumentvalue1  = "argumentvalue1";
            const string componentvalue1 = "componentvalue1";
            const string argumentvalue2  = "argumentvalue2";
            string       componentvalue2 = "componentvalue2" + (char)0x03A9;

            Clipboard.SetText(string.Format("{0}\t{1}" + Environment.NewLine +
                                            "{2}\t{3}", argumentvalue1, componentvalue1, argumentvalue2,
                                            componentvalue2));

            WindowsFormsTestHelper.Show(gridControl);

            for (int i = 0; i < 5; i++)
            {
                Application.DoEvents();
                Thread.Sleep(50);
            }

            var v = (GridView)gridControl.FocusedView;

            xtraGridContextMenu.PasteClipboardContents();

            for (int i = 0; i < 5; i++)
            {
                Application.DoEvents();
                Thread.Sleep(50);
            }

            Assert.AreEqual(argumentvalue1, v.GetRowCellValue(0, v.Columns[0]));
            Assert.AreEqual(componentvalue1, v.GetRowCellValue(0, v.Columns[1]));
            Assert.AreEqual(argumentvalue2, v.GetRowCellValue(1, v.Columns[0]));
            Assert.AreEqual(componentvalue2, v.GetRowCellValue(1, v.Columns[1]));
            WindowsFormsTestHelper.ShowModal(gridControl);
        }
Beispiel #13
0
        public void ShowActionIsRunForUserControl()
        {
            var uc        = new UserControl();
            int callCount = 0;

            WindowsFormsTestHelper.Show(uc, delegate
            {
                callCount++;
            });
            //assert the show action was called
            Assert.AreEqual(1, callCount);
        }
Beispiel #14
0
        public void ShowActionIsRunForAFormUsingShow()
        {
            var form      = new Form();
            int callCount = 0;

            WindowsFormsTestHelper.Show(form, delegate
            {
                callCount++;
            });
            //assert the show action was called
            Assert.AreEqual(1, callCount);
        }
Beispiel #15
0
        public void TreeViewSelectedNodeChanged_Always_SelectionChangedFired()
        {
            // Setup
            var mocks        = new MockRepository();
            var viewCommands = mocks.StrictMock <IViewCommands>();
            var project      = mocks.Stub <IProject>();

            mocks.ReplayAll();

            const string stringA = "testA";
            const string stringB = "testB";

            IEnumerable <TreeNodeInfo> treeNodeInfos = new[]
            {
                new TreeNodeInfo
                {
                    TagType          = typeof(IProject),
                    ChildNodeObjects = o => new object[]
                    {
                        stringA,
                        stringB
                    }
                },
                new TreeNodeInfo
                {
                    TagType = typeof(string)
                }
            };

            using (var explorer = new ProjectExplorer(viewCommands, treeNodeInfos)
            {
                Data = project
            })
            {
                var treeViewControl = TypeUtils.GetField <TreeViewControl>(explorer, "treeViewControl");

                WindowsFormsTestHelper.Show(treeViewControl);

                var selectionChangedCount = 0;
                explorer.SelectionChanged += (sender, args) => selectionChangedCount++;

                // Call
                treeViewControl.TrySelectNodeForData(stringA);

                // Assert
                Assert.AreEqual(1, selectionChangedCount);
            }

            WindowsFormsTestHelper.CloseAll();
            mocks.VerifyAll();
        }
Beispiel #16
0
        public void Selection_Always_ReturnsSelectedNodeData()
        {
            // Setup
            var mocks        = new MockRepository();
            var viewCommands = mocks.Stub <IViewCommands>();
            var project      = mocks.Stub <IProject>();

            mocks.ReplayAll();

            const string stringA = "testA";
            const string stringB = "testB";

            IEnumerable <TreeNodeInfo> treeNodeInfos = new[]
            {
                new TreeNodeInfo
                {
                    TagType          = typeof(IProject),
                    ChildNodeObjects = o => new object[]
                    {
                        stringA,
                        stringB
                    }
                },
                new TreeNodeInfo
                {
                    TagType = typeof(string)
                }
            };

            using (var explorer = new ProjectExplorer(viewCommands, treeNodeInfos)
            {
                Data = project
            })
            {
                var treeViewControl = TypeUtils.GetField <TreeViewControl>(explorer, "treeViewControl");

                WindowsFormsTestHelper.Show(treeViewControl);
                treeViewControl.TrySelectNodeForData(stringA);

                // Call
                object selection = explorer.Selection;

                // Assert
                Assert.AreSame(stringA, selection);
            }

            WindowsFormsTestHelper.CloseAll();
            mocks.VerifyAll();
        }
Beispiel #17
0
        public void Show()
        {
            LogHelper.ConfigureLogging();

            var parent = new Parent {
                Name = "original name"
            };

            // setup undo/redo for parent
            var undoRedoManager = new UndoRedoManager(parent);

            // create undo/redo control
            var undoRedoHistoryControl = new UndoRedoHistoryControl {
                UndoRedoManager = undoRedoManager
            };

            // show parent using tree view
            var parentTreeView      = new TreeView();
            var parentNodePresenter = new ParentTreeViewNodePresenter();
            var childNodePresenter  = new ChildTreeViewNodePresenter();

            parentTreeView.NodePresenters.Add(parentNodePresenter);
            parentTreeView.NodePresenters.Add(childNodePresenter);
            parentTreeView.Data = parent;
            WindowsFormsTestHelper.Show(parentTreeView);

            // do some actions
            parent.Name = "name1";
            parent.Name = "name2";
            parent.Children.Add(new Child {
                Name = "child1"
            });

            var editable = (IEditableObject)parent;

            editable.BeginEdit("Add new child and change name");
            parent.Children.Add(new Child {
                Name = "child2"
            });
            parent.Name = "name3";
            editable.EndEdit();

            parent.Children.RemoveAt(0);

            WindowsFormsTestHelper.ShowModal(undoRedoHistoryControl);
        }
Beispiel #18
0
        public void GivenMapLegendView_WhenSettingData_SelectionChangedFired()
        {
            // Given
            using (var view = new MapLegendView(contextMenuBuilderProvider))
            {
                var selectionChangedCount = 0;
                view.SelectionChanged += (sender, args) => selectionChangedCount++;

                var treeViewControl = TypeUtils.GetField <TreeViewControl>(view, "treeViewControl");
                WindowsFormsTestHelper.Show(treeViewControl);

                // When
                view.Data = new MapDataCollection("collection");

                // Then
                Assert.AreEqual(1, selectionChangedCount);
            }

            WindowsFormsTestHelper.CloseAll();
        }
Beispiel #19
0
        public void SelectMultipleCellsUsingApi()
        {
            var table = new DataTable();

            table.Columns.Add("column1", typeof(string));
            table.Columns.Add("column2", typeof(string));
            table.Rows.Add(new object[] { "1", "2" });
            table.Rows.Add(new object[] { "3", "4" });

            var tableView = new TableView {
                Data = table
            };

            var selectionTableView = new TableView {
                Data = new BindingList <TableViewCell>(tableView.SelectedCells)
            };

            WindowsFormsTestHelper.Show(selectionTableView);

            WindowsFormsTestHelper.ShowModal(tableView);
        }
Beispiel #20
0
        public void DevExpressTableView_ContextMenuPasteTextIntoGridBoundToDataTable()
        {
            var tableWithTwoStrings = new DataTable();

            tableWithTwoStrings.Columns.Add("A", typeof(string));
            tableWithTwoStrings.Columns.Add("B", typeof(string));
            tableWithTwoStrings.Rows.Add("a", "b");

            var gridControl         = new GridControl();
            var xtraGridContextMenu = new XtraGridContextMenu {
                SourceGrid = gridControl
            };

            gridControl.ContextMenuStrip = xtraGridContextMenu;
            gridControl.DataSource       = tableWithTwoStrings;


            Clipboard.SetText(string.Format("{0}\t{1}" + Environment.NewLine + "{0}\t{1}", "oe", "oe1"));
            WindowsFormsTestHelper.Show(gridControl);
            var v = (GridView)gridControl.FocusedView;

            Assert.AreEqual(1, v.RowCount);
            gridControl.Select();
            v.SelectRow(0);

            //copies data to the grid (two new rows are added.

            xtraGridContextMenu.PasteClipboardContents();

            Assert.AreEqual("oe", v.GetRowCellValue(0, v.Columns[0]));
            Assert.AreEqual("oe1", v.GetRowCellValue(0, v.Columns[1]));
            Assert.AreEqual("oe", v.GetRowCellValue(1, v.Columns[0]));
            Assert.AreEqual("oe1", v.GetRowCellValue(1, v.Columns[1]));

            WindowsFormsTestHelper.ShowModal(gridControl);
        }
Beispiel #21
0
        public void ShowUsingMapViewWithFacesAndTimeNavigation()
        {
            LogHelper.ConfigureLogging(Level.Debug);

            var points = new[, ]
            {
                { new Point(0.0, 1.0), new Point(0.0, 0.0) },
                { new Point(0.5, 1.5), new Point(1.0, 0.0) },
                { new Point(1.0, 2.0), new Point(2.0, 2.0) }
            };

            var coverage = new DiscreteGridPointCoverage(3, 2, points.Cast <IPoint>())
            {
                IsTimeDependent = true
            };

            var values1 = new[, ]
            {
                { 1.0, 2.0 },
                { 3.0, 4.0 },
                { 5.0, 6.0 }
            };

            var values2 = new[, ]
            {
                { 2.0, 2.0 },
                { 2.0, 4.0 },
                { 1.0, 2.0 }
            };

            coverage[new DateTime(2000, 1, 1)] = values1;
            coverage[new DateTime(2001, 1, 1)] = values2;
            coverage[new DateTime(2002, 1, 1)] = values1;
            coverage[new DateTime(2003, 1, 1)] = values2;

            var coverageLayer = new DiscreteGridPointCoverageLayer {
                Coverage = coverage, ShowFaces = true
            };

            var map = new Map {
                Layers = { coverageLayer }
            };

            // create time navigation track bar
            var form = new Form {
                Width = 500, Height = 100
            };

            var trackBar = new TrackBar {
                Dock = DockStyle.Fill, Minimum = 0, Maximum = coverage.Time.Values.Count - 1
            };

            trackBar.ValueChanged += delegate
            {
                coverageLayer.SetCurrentTimeSelection(coverage.Time.Values[trackBar.Value], null);
            };

            form.Controls.Add(trackBar);
            WindowsFormsTestHelper.Show(form);

            WindowsFormsTestHelper.ShowModal(new MapControl {
                Map = map, AllowDrop = false
            }, coverageLayer);
        }