public void FindHierarchicalItems_WithNestedBasePath(string basePath) { // Arrange var path = "/Areas/MyArea/Views/Home/Test.cshtml"; var items = new List <RazorProjectItem> { CreateProjectItem("/Areas/MyArea/File.cshtml"), CreateProjectItem("/File.cshtml") }; var project = new TestRazorProject(items); // Act var result = project.FindHierarchicalItems(basePath, path, "File.cshtml"); // Assert Assert.Collection( result, item => { Assert.Equal("/Areas/MyArea/Views/Home/File.cshtml", item.FilePath); Assert.False(item.Exists); }, item => { Assert.Equal("/Areas/MyArea/Views/File.cshtml", item.FilePath); Assert.False(item.Exists); }); }
public void FindHierarchicalItems_DoesNotIncludePassedInItem() { // Arrange var path = "/Areas/MyArea/Views/Home/File.cshtml"; var items = new List <RazorProjectItem> { CreateProjectItem("/Areas/MyArea/Views/Home/File.cshtml"), CreateProjectItem("/Areas/MyArea/Views/File.cshtml"), CreateProjectItem("/Areas/MyArea/File.cshtml"), CreateProjectItem("/Areas/File.cshtml"), CreateProjectItem("/File.cshtml"), }; var project = new TestRazorProject(items); // Act var result = project.FindHierarchicalItems(path, "File.cshtml"); // Assert Assert.Collection( result, item => Assert.Equal("/Areas/MyArea/Views/File.cshtml", item.FilePath), item => Assert.Equal("/Areas/MyArea/File.cshtml", item.FilePath), item => Assert.Equal("/Areas/File.cshtml", item.FilePath), item => Assert.Equal("/File.cshtml", item.FilePath)); }
public void FindHierarchicalItems_ReturnsEmptySequenceIfPathIsAtRoot() { // Arrange var project = new TestRazorProject(); // Act var result = project.FindHierarchicalItems("/", "File.cshtml"); // Assert Assert.Empty(result); }
public void FindHierarchicalItems_ReturnsEmptySequenceIfPassedInItemWithFileNameIsAtRoot() { // Arrange var path = "/File.cshtml"; var items = new List <RazorProjectItem> { CreateProjectItem("/File.cshtml") }; var project = new TestRazorProject(items); // Act var result = project.FindHierarchicalItems(path, "File.cshtml"); // Assert Assert.Empty(result); }
public void FindHierarchicalItems_ReturnsItemsForPathAtRoot() { // Arrange var path = "/Index.cshtml"; var items = new List <RazorProjectItem> { CreateProjectItem("/File.cshtml") }; var project = new TestRazorProject(items); // Act var result = project.FindHierarchicalItems(path, "File.cshtml"); // Assert Assert.Collection( result, item => Assert.Equal("/File.cshtml", item.FilePath)); }
public void FindHierarchicalItems_ReturnsEmptySequenceIfPathIsNotASubPathOfBasePath() { // Arrange var basePath = "/Pages"; var path = "/Areas/MyArea/Views/Home/Test.cshtml"; var items = new List <RazorProjectItem> { CreateProjectItem("/Areas/MyArea/File.cshtml"), CreateProjectItem("/File.cshtml"), }; var project = new TestRazorProject(items); // Act var result = project.FindHierarchicalItems(basePath, path, "File.cshtml"); // Assert Assert.Empty(result); }
public void FindHierarchicalItems_ReturnsItemsForPath(string fileName) { // Arrange var path = "/Views/Home/Index.cshtml"; var items = new List <RazorProjectItem> { CreateProjectItem($"/{fileName}"), CreateProjectItem($"/Views/{fileName}"), CreateProjectItem($"/Views/Home/{fileName}") }; var project = new TestRazorProject(items); // Act var result = project.FindHierarchicalItems(path, $"{fileName}"); // Assert Assert.Collection( result, item => Assert.Equal($"/Views/Home/{fileName}", item.FilePath), item => Assert.Equal($"/Views/{fileName}", item.FilePath), item => Assert.Equal($"/{fileName}", item.FilePath)); }