/// <summary> /// Create and return a new <see cref="DocumentMetadataManager"/>, /// configured with the properties available in this builder instance /// </summary> /// <returns> /// A new <see cref="DocumentMetadataManager"/> for use in unit tests /// </returns> public DocumentMetadataManager CreateDocumentMetadataManager() { if (DocumentMetadataFactory == null) { var builder = new DocumentMetadataFactoryBuilder(TimeProviderMock); DocumentMetadataFactory = builder.CreateDocumentMetadataFactory(true); } if (UserPreferences == null) { UserPreferences = UserPreferencesBuilder.CreateUserPreferences(); } if (UpdateReactionMapping == null) { var displayNameHighlightEvaluator = new DisplayNameHighlightEvaluator(); var filePathService = new FilePathService(); var updateReactions = new IUpdateReaction[] { new AssignProjectColoursReaction(Mock.Of <IProjectBrushService>()), new GroupByProjectReaction(), new PathSegmentCountReaction(displayNameHighlightEvaluator, filePathService), new SelectedSortOptionReaction(SortOptionsService), new ShowRecentUsageReaction(NormalizedUsageOrderServiceMock.Object) }; UpdateReactionMapping = new UpdateReactionMapping(updateReactions); } if (UpdateReactionManager == null) { UpdateReactionManager = new UpdateReactionManager( UpdateReactionMapping, UserPreferences); } var manager = new DocumentMetadataManager( CollectionViewGenerator ?? new CollectionViewGenerator(), CountdownTimer ?? new TestingCountdownTimer(), DocumentMetadataEqualityService ?? new DocumentMetadataEqualityService(), DocumentMetadataFactory, NormalizedUsageOrderServiceMock.Object, ProjectItemServiceMock.Object, TimeProviderMock.Object, UpdateReactionManager, UserPreferences); // Initialization logic in the constructor of // DocumentMetadataManager will make calls on the mock // NormalizedUsageOrderService. Reset calls so that these are not // counted in the tests that the created DocumentMetadataManager // will be used in. NormalizedUsageOrderServiceMock.Invocations.Clear(); return(manager); }
public void PreHighlightDoesNotContainDirectorySeparatorWhenDirectoryIsEmpty() { // Arrange const string input = @"fileName.extension"; var evaluator = new DisplayNameHighlightEvaluator(); // Act var result = evaluator.GetPreHighlight(input, true); // Arrange Assert.IsEmpty(result); }
public void PostHighlightIsEmptyWhenHighlightFileNameIsFalse() { // Arrange const string input = @"DirectoryName\FileName.extension"; var evaluator = new DisplayNameHighlightEvaluator(); // Act var result = evaluator.GetPostHighlight(input, false); // Arrange Assert.That(result, Is.EqualTo(string.Empty)); }
public void PostHighlightIsExtension() { // Arrange const string extension = ".extension"; var input = $@"DirectoryName\FileName{extension}"; var evaluator = new DisplayNameHighlightEvaluator(); // Act var result = evaluator.GetPostHighlight(input, true); // Arrange Assert.That(result, Is.EqualTo(extension)); }
public void HighlightIsFileName() { // Arrange const string fileName = "FileName"; var input = $@"DirectoryName\{fileName}.extension"; var evaluator = new DisplayNameHighlightEvaluator(); // Act var result = evaluator.GetHighlight(input, true); // Arrange Assert.That(result, Is.EqualTo(fileName)); }
public void PreHighlightIsDirectoryNameWithDirectorySeparator() { // Arrange const string directoryName = @"DirectoryName\"; var input = $@"{directoryName}\fileName.extension"; var evaluator = new DisplayNameHighlightEvaluator(); // Act var result = evaluator.GetPreHighlight(input, true); // Arrange Assert.That(result, Is.EqualTo(directoryName)); }