Beispiel #1
0
        public void GivenValidWmtsConnectionInfos_WhenConstructed_ThenExpectedProperties()
        {
            // Given
            mockRepository.ReplayAll();

            var settingsHelper = new TestSettingsHelper
            {
                ApplicationLocalUserSettingsDirectory = TestHelper.GetTestDataPath(testPath)
            };
            settingsHelper.SetApplicationVersion("twoValidWmtsConnectionInfos");

            using (new UseCustomTileSourceFactoryConfig(tileFactory))
            using (new UseCustomSettingsHelper(settingsHelper))
            {
                // When
                using (var control = new WmtsLocationControl(null, wmtsCapabilityFactory))
                using (var form = new Form())
                {
                    form.Controls.Add(control);
                    form.Show();

                    // Then
                    ComboBox urlLocations = form.Controls.Find("urlLocationComboBox", true).OfType<ComboBox>().First();
                    var dataSource = (IList<WmtsConnectionInfo>) urlLocations.DataSource;
                    Assert.AreEqual(2, dataSource.Count);

                    var firstWmtsConnectionInfo = (WmtsConnectionInfo) urlLocations.Items[0];
                    Assert.AreEqual("Actueel Hoogtebestand Nederland (AHN1)", firstWmtsConnectionInfo.Name);
                    Assert.AreEqual("https://geodata.nationaalgeoregister.nl/tiles/service/wmts/ahn1?request=GetCapabilities", firstWmtsConnectionInfo.Url);

                    var secondWmtsConnectionInfo = (WmtsConnectionInfo) urlLocations.Items[1];
                    Assert.AreEqual("Zeegraskartering", secondWmtsConnectionInfo.Name);
                    Assert.AreEqual("https://geodata.nationaalgeoregister.nl/zeegraskartering/wfs?request=GetCapabilities",
                                    secondWmtsConnectionInfo.Url);

                    Assert.AreSame(urlLocations.SelectedItem, firstWmtsConnectionInfo);

                    DataGridViewControl dataGridViewControl = form.Controls.Find("dataGridViewControl", true).OfType<DataGridViewControl>().First();
                    CollectionAssert.IsEmpty(dataGridViewControl.Rows);
                }
            }
        }
Beispiel #2
0
        public void GetSelectedMapData_WithSelectedComboBoxWithoutSelectedRow_ReturnsNull()
        {
            // Setup
            mockRepository.ReplayAll();

            using (new UseCustomTileSourceFactoryConfig(tileFactory))
            using (new UseCustomSettingsHelper(new TestSettingsHelper
            {
                ApplicationLocalUserSettingsDirectory = TestHelper.GetTestDataPath(testPath, "noConfig")
            }))
            using (var form = new Form())
            using (WmtsLocationControl control = ShowFullyConfiguredWmtsLocationControl(form, wmtsCapabilityFactory))
            {
                // Call                
                MapData selectedMapData = control.SelectedMapData;

                // Assert
                Assert.IsNull(selectedMapData);
            }
        }
Beispiel #3
0
        public void Dispose_AlreadyDisposed_DoesNotThrowException()
        {
            // Setup
            mockRepository.ReplayAll();

            using (new UseCustomTileSourceFactoryConfig(tileFactory))
            {
                // Call
                TestDelegate call = () =>
                {
                    using (var control = new WmtsLocationControl(null, wmtsCapabilityFactory))
                    {
                        control.Dispose();
                    }
                };

                // Assert
                Assert.DoesNotThrow(call);
            }
        }
Beispiel #4
0
        public void GivenInvalidWmtsConnectionInfos_WhenConstructed_ThenLogGenerated()
        {
            // Given
            mockRepository.ReplayAll();

            var settingsHelper = new TestSettingsHelper
            {
                ApplicationLocalUserSettingsDirectory = TestHelper.GetTestDataPath(testPath)
            };
            settingsHelper.SetApplicationVersion("WmtsConnectionInfosWithoutWmtsConnectionsElement");

            using (new UseCustomTileSourceFactoryConfig(tileFactory))
            using (new UseCustomSettingsHelper(settingsHelper))
            {
                // When
                Action action = () =>
                {
                    using (var control = new WmtsLocationControl(null, wmtsCapabilityFactory))
                    using (var form = new Form())
                    {
                        form.Controls.Add(control);

                        // Then
                        ComboBox urlLocations = form.Controls.Find("urlLocationComboBox", true).OfType<ComboBox>().First();
                        var dataSource = (IList<WmtsConnectionInfo>) urlLocations.DataSource;
                        Assert.AreEqual(0, dataSource.Count);
                    }
                };

                string wmtsConnectionInfoConfig = Path.Combine(TestHelper.GetTestDataPath(
                                                                   testPath,
                                                                   "WmtsConnectionInfosWithoutWmtsConnectionsElement"),
                                                               "wmtsConnectionInfo.config");
                string expectedMessage = $"Fout bij het lezen van bestand '{wmtsConnectionInfoConfig}': "
                                         + "het bestand kon niet worden geopend. Mogelijk is het bestand corrupt of in gebruik door een andere applicatie.";
                TestHelper.AssertLogMessageWithLevelIsGenerated(action, Tuple.Create(expectedMessage, LogLevelConstant.Error));
            }
        }
Beispiel #5
0
        public void Constructor_WithFactory_DataGridViewCorrectlyInitialized()
        {
            // Setup
            mockRepository.ReplayAll();

            using (new UseCustomTileSourceFactoryConfig(tileFactory))
            {
                // Call
                using (var control = new WmtsLocationControl(null, wmtsCapabilityFactory))
                using (var form = new Form())
                {
                    form.Controls.Add(control);

                    // Assert
                    DataGridViewControl dataGridViewControl = form.Controls.Find("dataGridViewControl", true).OfType<DataGridViewControl>().First();
                    DataGridView dataGridView = dataGridViewControl.Controls.OfType<DataGridView>().First();

                    Assert.AreEqual(DataGridViewSelectionMode.FullRowSelect, dataGridViewControl.SelectionMode);
                    Assert.IsFalse(dataGridViewControl.MultiSelect);
                    Assert.AreEqual(4, dataGridView.ColumnCount);

                    var mapLayerIdColumn = (DataGridViewTextBoxColumn) dataGridViewControl.GetColumnFromIndex(mapLayerIdColumnIndex);
                    Assert.AreEqual("Kaartlaag", mapLayerIdColumn.HeaderText);
                    Assert.AreEqual("Id", mapLayerIdColumn.DataPropertyName);
                    Assert.IsTrue(mapLayerIdColumn.ReadOnly);

                    var mapLayerFormatColumn = (DataGridViewTextBoxColumn) dataGridViewControl.GetColumnFromIndex(mapLayerFormatColumnIndex);
                    Assert.AreEqual("Formaat", mapLayerFormatColumn.HeaderText);
                    Assert.AreEqual("Format", mapLayerFormatColumn.DataPropertyName);
                    Assert.IsTrue(mapLayerFormatColumn.ReadOnly);

                    var mapLayerTitleColumn = (DataGridViewTextBoxColumn) dataGridViewControl.GetColumnFromIndex(mapLayerTitleColumnIndex);
                    Assert.AreEqual("Titel", mapLayerTitleColumn.HeaderText);
                    Assert.AreEqual("Title", mapLayerTitleColumn.DataPropertyName);
                    Assert.IsTrue(mapLayerTitleColumn.ReadOnly);

                    var mapLayerCoordinateSystemColumn = (DataGridViewTextBoxColumn) dataGridViewControl.GetColumnFromIndex(mapLayerCoordinateSystemColumnIndex);
                    Assert.AreEqual("Coördinatenstelsel", mapLayerCoordinateSystemColumn.HeaderText);
                    Assert.AreEqual("CoordinateSystem", mapLayerCoordinateSystemColumn.DataPropertyName);
                    Assert.IsTrue(mapLayerCoordinateSystemColumn.ReadOnly);

                    CollectionAssert.IsEmpty(dataGridViewControl.Rows);

                    Label urlLocationLabel = form.Controls.Find("urlLocationLabel", true).OfType<Label>().First();
                    Assert.AreEqual("Locatie (URL)", urlLocationLabel.Text);

                    ComboBox urlLocations = form.Controls.Find("urlLocationComboBox", true).OfType<ComboBox>().First();
                    Assert.AreEqual(ComboBoxStyle.DropDownList, urlLocations.DropDownStyle);
                    Assert.IsInstanceOf<ICollection<WmtsConnectionInfo>>(urlLocations.DataSource);
                    Assert.AreEqual("Name", urlLocations.DisplayMember);
                    Assert.AreEqual("Url", urlLocations.ValueMember);
                    Assert.IsTrue(urlLocations.Sorted);
                    Assert.IsNotNull(urlLocations.SelectedItem);

                    Button buttonConnectTo = form.Controls.Find("connectToButton", true).OfType<Button>().First();
                    Assert.AreEqual("Verbinding maken", buttonConnectTo.Text);
                    Assert.IsTrue(buttonConnectTo.Enabled);

                    Button buttonAddLocation = form.Controls.Find("addLocationButton", true).OfType<Button>().First();
                    Assert.AreEqual("Locatie toevoegen...", buttonAddLocation.Text);

                    Button buttonEditLocation = form.Controls.Find("editLocationButton", true).OfType<Button>().First();
                    Assert.AreEqual("Locatie aanpassen...", buttonEditLocation.Text);
                }
            }
        }