public void hides_columns_for_identifier() { // ARRANGE var identifier = "Grid.1"; var columns = new[] { "Col1", "Col2", "Col3", "Col4" }; ISettings settings = new Settings(Enumerable.Empty <Setting>(), new Subject <bool>()); settings[Constants.UI.Settings.Names.Columns] = columns; settings[Constants.UI.Settings.Names.VisibleColumns] = columns; _settingsService.Setup(x => x.TryGet(It.Is <string>(y => y == identifier), out settings)) .Returns(true); var service = new ColumnsService(_settingsService.Object); string changedIdentifier = null; service.Changed .Subscribe(x => changedIdentifier = x); // ACT service.HideColumns(identifier, new[] { "Col1", "Col2" }); // ASSERT Assert.That(changedIdentifier, Is.EqualTo(identifier)); Assert.That(settings.Get <IEnumerable <string> >(Constants.UI.Settings.Names.Columns).SequenceEqual(columns), Is.True); Assert.That( settings.Get <IEnumerable <string> >(Constants.UI.Settings.Names.VisibleColumns).SequenceEqual(columns), Is.False); Assert.That( settings.Get <IEnumerable <string> >(Constants.UI.Settings.Names.VisibleColumns) .SequenceEqual(new[] { "Col3", "Col4" }), Is.True); }
public void does_not_hides_columns_for_invalid_identifier() { // ARRANGE var identifier1 = "Grid.1"; var identifier2 = "Grid.2"; var columns = new[] { "Col1", "Col2", "Col3", "Col4" }; ISettings settings1 = new Settings(Enumerable.Empty <Setting>(), new Subject <bool>()); settings1[Constants.UI.Settings.Names.Columns] = columns; settings1[Constants.UI.Settings.Names.VisibleColumns] = columns; ISettings settings2 = null; _settingsService.Setup(x => x.TryGet(It.Is <string>(y => y == identifier1), out settings1)) .Returns(true); _settingsService.Setup(x => x.TryGet(It.Is <string>(y => y == identifier2), out settings2)) .Returns(false); var service = new ColumnsService(_settingsService.Object); string changedIdentifier = null; service.Changed .Subscribe(x => changedIdentifier = x); // ACT service.HideColumns(identifier2, new[] { "Col1", "Col2" }); // ASSERT Assert.That(changedIdentifier, Is.Null); Assert.That( settings1.Get <string[]>(Constants.UI.Settings.Names.VisibleColumns) .SequenceEqual(columns), Is.True); }