示例#1
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();
        }
示例#2
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();
        }
示例#3
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();
        }
示例#4
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();
        }
示例#5
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();
        }
示例#6
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();
        }
示例#7
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();
        }
示例#8
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();
        }
示例#9
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();
        }