public void SettingSelectedDocumentSortOptionToDifferentValueRaisesPropertyChanged() { // Arrange var propertyChangedRaised = false; var builder = new UserPreferencesBuilder(); var preferences = builder.CreateUserPreferences(); var handler = new PropertyChangedEventHandler((s, e) => { propertyChangedRaised = true; }); preferences.SelectedDocumentSortOption = new AlphabeticalSort(); preferences.PropertyChanged += handler; // Act preferences.SelectedDocumentSortOption = new ChronologicalSort(); preferences.PropertyChanged -= handler; // Assert Assert.IsTrue(propertyChangedRaised); }
public void SettingPathSegmentCountToDifferentValueRaisesPropertyChanged() { // Arrange var propertyChangedRaised = false; var builder = new UserPreferencesBuilder(); var preferences = builder.CreateUserPreferences(); var handler = new PropertyChangedEventHandler((s, e) => { propertyChangedRaised = true; }); preferences.PropertyChanged += handler; // Act preferences.PathSegmentCount = 7; preferences.PropertyChanged -= handler; // Assert Assert.IsTrue(propertyChangedRaised); }
public void HighlightFileNameValueIsRestoredOnInstanceCreation() { // Arrange const bool highlightFileName = true; var builder = new UserPreferencesBuilder(); builder.UserPreferencesModelRepositoryMock .Setup(u => u.LoadInto(It.IsAny <IUserPreferencesModel>())) .Callback <IUserPreferencesModel>(u => { u.HighlightFileName = highlightFileName; }); // Act var preferences = builder.CreateUserPreferences(); // Assert builder.UserPreferencesModelRepositoryMock .Verify(u => u.LoadInto(preferences), Times.Once()); builder.StoredSettingsRepositoryMock .Verify(s => s.SetHighlightFileName( It.IsAny <bool>()), Times.Never); Assert.That(preferences.HighlightFileName, Is.EqualTo(highlightFileName)); }
public void GroupByProjectValueIsRestoredOnInstanceCreation() { // Arrange const bool groupByProject = true; var builder = new UserPreferencesBuilder(); builder.UserPreferencesModelRepositoryMock .Setup(u => u.LoadInto(It.IsAny <IUserPreferencesModel>())) .Callback <IUserPreferencesModel>(u => { u.GroupByProject = groupByProject; }); // Act var preferences = builder.CreateUserPreferences(); // Assert builder.UserPreferencesModelRepositoryMock .Verify(u => u.LoadInto(preferences), Times.Once()); builder.StoredSettingsRepositoryMock .Verify(s => s.SetGroupByProject( It.IsAny <bool>()), Times.Never); Assert.That(preferences.GroupByProject, Is.EqualTo(groupByProject)); }
public void SettingSelectedProjectSortOptionToSameValueDoesNotRaisePropertyChanged() { // Arrange var alphabeticalSort = new AlphabeticalSort(); var propertyChangedRaised = false; var builder = new UserPreferencesBuilder(); var preferences = builder.CreateUserPreferences(); var handler = new PropertyChangedEventHandler((s, e) => { propertyChangedRaised = true; }); preferences.SelectedProjectSortOption = alphabeticalSort; preferences.PropertyChanged += handler; // Act preferences.SelectedProjectSortOption = alphabeticalSort; preferences.PropertyChanged -= handler; // Assert Assert.IsFalse(propertyChangedRaised); }
public void ShowFileTypeIconsValueIsRestoredOnInstanceCreation() { // Arrange const bool showFileTypeIcons = true; var builder = new UserPreferencesBuilder(); builder.UserPreferencesModelRepositoryMock .Setup(u => u.LoadInto(It.IsAny <IUserPreferencesModel>())) .Callback <IUserPreferencesModel>(u => { u.ShowFileTypeIcons = showFileTypeIcons; }); // Act var preferences = builder.CreateUserPreferences(); // Assert builder.UserPreferencesModelRepositoryMock .Verify(u => u.LoadInto(preferences), Times.Once()); builder.StoredSettingsRepositoryMock .Verify(s => s.SetShowFileTypeIcons( It.IsAny <bool>()), Times.Never); Assert.That(preferences.ShowFileTypeIcons, Is.EqualTo(showFileTypeIcons)); }
public void SettingPathSegmentCountToSameValueDoesNotRaisePropertyChanged() { // Arrange const int pathSegmentCount = 7; var propertyChangedRaised = false; var builder = new UserPreferencesBuilder(); var preferences = builder.CreateUserPreferences(); var handler = new PropertyChangedEventHandler((s, e) => { propertyChangedRaised = true; }); preferences.PathSegmentCount = pathSegmentCount; preferences.PropertyChanged += handler; // Act preferences.PathSegmentCount = pathSegmentCount; preferences.PropertyChanged -= handler; // Assert Assert.IsFalse(propertyChangedRaised); }
public void SettingShowFileTypeIconsToSameValueDoesNotRaisePropertyChanged() { // Arrange const bool showFileTypeIcons = true; var propertyChangedRaised = false; var builder = new UserPreferencesBuilder(); var preferences = builder.CreateUserPreferences(); var handler = new PropertyChangedEventHandler((s, e) => { propertyChangedRaised = true; }); preferences.ShowFileTypeIcons = showFileTypeIcons; preferences.PropertyChanged += handler; // Act preferences.ShowFileTypeIcons = showFileTypeIcons; preferences.PropertyChanged -= handler; // Assert Assert.IsFalse(propertyChangedRaised); }
public void UnityRefreshDelayValueIsRestoredOnInstanceCreation() { // Arrange const int value = 100; var builder = new UserPreferencesBuilder(); builder.UserPreferencesModelRepositoryMock .Setup(u => u.LoadInto(It.IsAny <IUserPreferencesModel>())) .Callback <IUserPreferencesModel>(u => { u.UnityRefreshDelay = value; }); // Act var preferences = builder.CreateUserPreferences(); // Assert builder.UserPreferencesModelRepositoryMock .Verify(u => u.LoadInto(preferences), Times.Once()); builder.StoredSettingsRepositoryMock .Verify(s => s.SetUnityRefreshDelay( It.IsAny <int>()), Times.Never); Assert.That(preferences.UnityRefreshDelay, Is.EqualTo(value)); }
public void ProjectSortOptionNameIsRestoredOnInstanceCreation() { // Arrange const string displayName = "DisplayName"; var builder = new UserPreferencesBuilder(); builder.UserPreferencesModelRepositoryMock .Setup(u => u.LoadInto(It.IsAny <IUserPreferencesModel>())) .Callback <IUserPreferencesModel>(u => { u.ProjectSortOptionName = displayName; }); // Act var preferences = builder.CreateUserPreferences(); // Assert builder.UserPreferencesModelRepositoryMock .Verify(u => u.LoadInto(preferences), Times.Once()); builder.StoredSettingsRepositoryMock .Verify(s => s.SetProjectSortOptionName( It.IsAny <string>()), Times.Never); Assert.That(preferences.ProjectSortOptionName, Is.EqualTo(displayName)); }
public void SettingAssignProjectColoursToSameValueDoesNotRaisePropertyChanged() { // Arrange const bool assignProjectColours = true; var propertyChangedRaised = false; var builder = new UserPreferencesBuilder(); var preferences = builder.CreateUserPreferences(); var handler = new PropertyChangedEventHandler((s, e) => { propertyChangedRaised = true; }); preferences.AssignProjectColours = assignProjectColours; preferences.PropertyChanged += handler; // Act preferences.AssignProjectColours = assignProjectColours; preferences.PropertyChanged -= handler; // Assert Assert.IsFalse(propertyChangedRaised); }
public void PropertyGroupDescriptionForProjectNamesIsAddedWhenGroupByProjectIsTrue() { // Arrange var builder = new UserPreferencesBuilder(); var preferences = builder.CreateUserPreferences(); preferences.GroupByProject = true; var collection = new DocumentMetadata[0]; var view = new ListCollectionView(collection); var reaction = new GroupByProjectReaction(); // Act reaction.UpdateCollection(view, preferences); // Assert Assert.That(view.GroupDescriptions.Count, Is.EqualTo(1)); var description = (PropertyGroupDescription)view.GroupDescriptions[0]; const string propertyName = nameof(DocumentMetadata.ProjectNames); Assert.That(description.PropertyName, Is.EqualTo(propertyName)); }
public void ProjectSortIsReturnedBeforeDocumentSort() { // Arrange var alphabeticalSort = new AlphabeticalSort(); var projectReverseAlphabeticalSort = new ProjectReverseAlphabeticalSort(); var builder = new UserPreferencesBuilder(); var preferences = builder.CreateUserPreferences(); preferences.SelectedDocumentSortOption = alphabeticalSort; preferences.SelectedProjectSortOption = projectReverseAlphabeticalSort; var service = new SortOptionsService(); // Act var appliedSortOptions = service.EvaluateAppliedSortDescriptions( preferences); // Assert Assert.That(appliedSortOptions.Length, Is.EqualTo(2)); Assert.That( appliedSortOptions[0].Direction, Is.EqualTo(projectReverseAlphabeticalSort.SortDirection)); Assert.That( appliedSortOptions[0].PropertyName, Is.EqualTo(projectReverseAlphabeticalSort.PropertyName)); Assert.That( appliedSortOptions[1].Direction, Is.EqualTo(alphabeticalSort.SortDirection)); Assert.That( appliedSortOptions[1].PropertyName, Is.EqualTo(alphabeticalSort.PropertyName)); Assert.That( appliedSortOptions[0].Direction, Is.Not.EqualTo(appliedSortOptions[1].Direction)); Assert.That( appliedSortOptions[0].PropertyName, Is.Not.EqualTo(appliedSortOptions[1].PropertyName)); }
public void SettingShowSearchBarSetsVisibility(bool value, Visibility expected) { // Arrange var builder = new UserPreferencesBuilder(); var preferences = builder.CreateUserPreferences(); preferences.ShowSearchBar = !value; // Act preferences.ShowSearchBar = value; // Verify Assert.That(preferences.SearchBarVisibility, Is.EqualTo(expected)); }
public void SettingAssignProjectColoursStoresNewValueInRepository() { // Arrange const bool assignProjectColours = true; var builder = new UserPreferencesBuilder(); var preferences = builder.CreateUserPreferences(); // Act preferences.AssignProjectColours = assignProjectColours; // Verify builder.StoredSettingsRepositoryMock .Verify(r => r.SetAssignProjectColours(assignProjectColours)); }
public void SettingProjectSortOptionNameStoresNewValueInRepository() { // Arrange const string sortOptionName = "SortOptionName"; var builder = new UserPreferencesBuilder(); var preferences = builder.CreateUserPreferences(); // Act preferences.ProjectSortOptionName = sortOptionName; // Verify builder.StoredSettingsRepositoryMock .Verify(r => r.SetProjectSortOptionName(sortOptionName)); }
public void SettingUnityRefreshDelayStoresNewValueInRepository() { // Arrange const int value = 50; var builder = new UserPreferencesBuilder(); var preferences = builder.CreateUserPreferences(); // Act preferences.UnityRefreshDelay = value; // Verify builder.StoredSettingsRepositoryMock .Verify(r => r.SetUnityRefreshDelay(value)); }
public void SettingShowFileTypeIconsStoresNewValueInRepository() { // Arrange const bool showFileTypeIcons = true; var builder = new UserPreferencesBuilder(); var preferences = builder.CreateUserPreferences(); // Act preferences.ShowFileTypeIcons = showFileTypeIcons; // Verify builder.StoredSettingsRepositoryMock .Verify(r => r.SetShowFileTypeIcons(showFileTypeIcons)); }
public void SettingShowRecentUsageStoresNewValueInRepository() { // Arrange const bool showRecentUsage = true; var builder = new UserPreferencesBuilder(); var preferences = builder.CreateUserPreferences(); // Act preferences.ShowRecentUsage = showRecentUsage; // Verify builder.StoredSettingsRepositoryMock .Verify(r => r.SetShowRecentUsage(showRecentUsage)); }
public void SettingGroupByProjectStoresNewValueInRepository() { // Arrange const bool groupByProject = true; var builder = new UserPreferencesBuilder(); var preferences = builder.CreateUserPreferences(); // Act preferences.GroupByProject = groupByProject; // Verify builder.StoredSettingsRepositoryMock .Verify(r => r.SetGroupByProject(groupByProject)); }
public void SettingPathSegmentCountStoresNewValueInRepository() { // Arrange const int value = 5; var builder = new UserPreferencesBuilder(); var preferences = builder.CreateUserPreferences(); // Act preferences.PathSegmentCount = value; // Verify builder.StoredSettingsRepositoryMock .Verify(r => r.SetPathSegmentCount(value)); }
public void SettingHighlightFileNameStoresNewValueInRepository() { // Arrange const bool highlightFileName = true; var builder = new UserPreferencesBuilder(); var preferences = builder.CreateUserPreferences(); // Act preferences.HighlightFileName = highlightFileName; // Verify builder.StoredSettingsRepositoryMock .Verify(r => r.SetHighlightFileName(highlightFileName)); }
public void SettingSelectedProjectSortOptionStoresNewValueDisplayNameInRepository() { // Arrange var option = new AlphabeticalSort(); var builder = new UserPreferencesBuilder(); var preferences = builder.CreateUserPreferences(); // Act preferences.SelectedProjectSortOption = option; // Verify var typeString = option.ToString(); builder.StoredSettingsRepositoryMock .Verify(r => r.SetSelectedProjectSortType(typeString)); }
public void SettingShowSearchBarStoresNewValueInRepository() { // Arrange const bool showSearchBar = true; var builder = new UserPreferencesBuilder(); var preferences = builder.CreateUserPreferences(); preferences.ShowSearchBar = false; // Act preferences.ShowSearchBar = showSearchBar; // Verify builder.StoredSettingsRepositoryMock .Verify(r => r.SetShowSearchBar(showSearchBar)); }
public void GroupDescriptionsAreEmptyWhenGroupByProjectIsFalse() { // Arrange var builder = new UserPreferencesBuilder(); var preferences = builder.CreateUserPreferences(); preferences.GroupByProject = false; var collection = new DocumentMetadata[0]; var view = new ListCollectionView(collection); var reaction = new GroupByProjectReaction(); // Act reaction.UpdateCollection(view, preferences); // Assert Assert.That(view.GroupDescriptions, Is.Empty); }
public void SortDescriptionIsReturnedForApplicableSelectedProjectSortOption() { // Arrange var alphabeticalSort = new AlphabeticalSort(); var builder = new UserPreferencesBuilder(); var preferences = builder.CreateUserPreferences(); preferences.SelectedDocumentSortOption = Mock.Of <ISortOption>(s => s.HasSortDescription == false); preferences.SelectedProjectSortOption = alphabeticalSort; var service = new SortOptionsService(); // Act var appliedSortOptions = service.EvaluateAppliedSortDescriptions( preferences); // Assert // Returned collection should only contain sort option for // SelectedProjectSortOption: the ISortOption of // SelectedDocumentSortOption has its HasSortDescription property // set to return false Assert.That(appliedSortOptions.Length, Is.EqualTo(1)); Assert.That( appliedSortOptions[0].Direction, Is.EqualTo(alphabeticalSort.SortDirection)); Assert.That( appliedSortOptions[0].PropertyName, Is.EqualTo(alphabeticalSort.PropertyName)); }
public void GroupByProjectValueIsRestoredOnInstanceCreation() { // Arrange const bool groupByProject = true; var builder = new UserPreferencesBuilder(); builder.StoredSettingsRepositoryMock .Setup(s => s.GetGroupByProject()) .Returns(groupByProject); // Act var preferences = builder.CreateUserPreferences(); // Assert builder.StoredSettingsRepositoryMock .Verify(s => s.GetGroupByProject()); Assert.That(preferences.GroupByProject, Is.EqualTo(groupByProject)); }
public void AssignProjectColoursValueIsRestoredOnInstanceCreation() { // Arrange const bool assignProjectColours = true; var builder = new UserPreferencesBuilder(); builder.StoredSettingsRepositoryMock .Setup(s => s.GetAssignProjectColours()) .Returns(assignProjectColours); // Act var preferences = builder.CreateUserPreferences(); // Assert builder.StoredSettingsRepositoryMock .Verify(s => s.GetAssignProjectColours()); Assert.That(preferences.AssignProjectColours, Is.EqualTo(assignProjectColours)); }
public void ShowFileTypeIconsValueIsRestoredOnInstanceCreation() { // Arrange const bool showFileTypeIcons = true; var builder = new UserPreferencesBuilder(); builder.StoredSettingsRepositoryMock .Setup(s => s.GetShowFileTypeIcons()) .Returns(showFileTypeIcons); // Act var preferences = builder.CreateUserPreferences(); // Assert builder.StoredSettingsRepositoryMock .Verify(s => s.GetShowFileTypeIcons()); Assert.That(preferences.ShowFileTypeIcons, Is.EqualTo(showFileTypeIcons)); }
public void PathSegmentCountValueIsRestoredOnInstanceCreation() { // Arrange const int value = 47; var builder = new UserPreferencesBuilder(); builder.StoredSettingsRepositoryMock .Setup(s => s.GetPathSegmentCount()) .Returns(value); // Act var preferences = builder.CreateUserPreferences(); // Assert builder.StoredSettingsRepositoryMock .Verify(s => s.GetPathSegmentCount()); Assert.That(preferences.PathSegmentCount, Is.EqualTo(value)); }