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