public override RazorProjectItem GetItem(string path, string fileKind) { if (!_lookup.TryGetValue(path, out var value)) { value = new NotFoundProjectItem("", path, fileKind); } return(value); }
public void GetItem_ReturnsFirstInstanceThatExists() { // Arrange var basePath = "base-path"; var filePath = "file-path"; var file1 = new NotFoundProjectItem(basePath, filePath, fileKind: null); var file2 = new TestRazorProjectItem(filePath); RazorProjectItem nullItem = null; var fileSystem1 = Mock.Of <RazorProjectFileSystem>( f => f.GetItem(filePath, null) == file1); var fileSystem2 = Mock.Of <RazorProjectFileSystem>( f => f.GetItem(filePath, null) == nullItem); var fileSystem3 = Mock.Of <RazorProjectFileSystem>( f => f.GetItem(filePath, null) == file2); var compositeRazorProjectFileSystem = new CompositeRazorProjectFileSystem(new[] { fileSystem1, fileSystem2, fileSystem3 }); // Act var result = compositeRazorProjectFileSystem.GetItem(filePath, fileKind: null); // Assert Assert.Same(file2, result); }