public void EnumerateItems_WithNoFilesInRoot_ReturnsEmptySequence()
    {
        // Arrange
        var projectSystem = new VirtualRazorProjectFileSystem();

        // Act
        var result = projectSystem.EnumerateItems("/");

        // Assert
        Assert.Empty(result);
    }
    public void EnumerateItems_ForNonExistentDirectory_ReturnsEmptySequence()
    {
        // Arrange
        var projectSystem = new VirtualRazorProjectFileSystem();

        projectSystem.Add(new TestRazorProjectItem("/subDirectory/dir2/file1.cshtml"));
        projectSystem.Add(new TestRazorProjectItem("/file2.cshtml"));

        // Act
        var result = projectSystem.EnumerateItems("/dir3");

        // Assert
        Assert.Empty(result);
    }
    public void EnumerateItems_AtSubDirectory_ReturnsAllFilesUnderDirectoryHierarchy()
    {
        // Arrange
        var projectSystem = new VirtualRazorProjectFileSystem();
        var file1         = new TestRazorProjectItem("/subDirectory/dir2/file1.cshtml");
        var file2         = new TestRazorProjectItem("/file2.cshtml");
        var file3         = new TestRazorProjectItem("/dir3/file3.cshtml");
        var file4         = new TestRazorProjectItem("/subDirectory/file4.cshtml");

        projectSystem.Add(file1);
        projectSystem.Add(file2);
        projectSystem.Add(file3);
        projectSystem.Add(file4);

        // Act
        var result = projectSystem.EnumerateItems("/subDirectory");

        // Assert
        Assert.Equal(new[] { file4, file1 }, result);
    }