public void Ctor_AllowsNullForImports()
    {
        // Arrange
        var source = TestRazorSourceDocument.Create();

        // Act
        var code = new DefaultRazorCodeDocument(source, imports: null);

        // Assert
        Assert.Same(source, code.Source);
        Assert.NotNull(code.Items);
        Assert.Empty(code.Imports);
    }
    public static RazorCodeDocument Create(
        RazorSourceDocument source,
        IEnumerable <RazorSourceDocument> imports,
        RazorParserOptions parserOptions,
        RazorCodeGenerationOptions codeGenerationOptions)
    {
        if (source == null)
        {
            throw new ArgumentNullException(nameof(source));
        }

        var codeDocument = new DefaultRazorCodeDocument(source, imports);

        codeDocument.SetParserOptions(parserOptions);
        codeDocument.SetCodeGenerationOptions(codeGenerationOptions);
        return(codeDocument);
    }
    public void Ctor()
    {
        // Arrange
        var source = TestRazorSourceDocument.Create();

        var imports = new RazorSourceDocument[]
        {
            TestRazorSourceDocument.Create(),
        };

        // Act
        var code = new DefaultRazorCodeDocument(source, imports);

        // Assert
        Assert.Same(source, code.Source);
        Assert.NotNull(code.Items);

        Assert.NotSame(imports, code.Imports);
        Assert.Collection(imports, d => Assert.Same(imports[0], d));
    }