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(); }
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(); }
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); }
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(); }
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); } }
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(); }
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(); }
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); }
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); }
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(); }
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(); }
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); }
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); }
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); }
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(); }
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(); }
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); }
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(); }
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); }
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); }
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); }