Beispiel #1
0
    public void Process_CallsAllPhases()
    {
        // Arrange
        var features = new IRazorEngineFeature[]
        {
            Mock.Of <IRazorEngineFeature>(),
            Mock.Of <IRazorEngineFeature>(),
        };

        var phases = new IRazorEnginePhase[]
        {
            Mock.Of <IRazorEnginePhase>(),
            Mock.Of <IRazorEnginePhase>(),
        };

        var engine   = new DefaultRazorEngine(features, phases);
        var document = TestRazorCodeDocument.CreateEmpty();

        // Act
        engine.Process(document);

        // Assert
        for (var i = 0; i < phases.Length; i++)
        {
            var mock = Mock.Get(phases[i]);
            mock.Verify(p => p.Execute(document), Times.Once());
        }
    }
Beispiel #2
0
    public void Ctor_InitializesPhasesAndFeatures()
    {
        // Arrange
        var features = new IRazorEngineFeature[]
        {
            Mock.Of <IRazorEngineFeature>(),
            Mock.Of <IRazorEngineFeature>(),
        };

        var phases = new IRazorEnginePhase[]
        {
            Mock.Of <IRazorEnginePhase>(),
            Mock.Of <IRazorEnginePhase>(),
        };

        // Act
        var engine = new DefaultRazorEngine(features, phases);

        // Assert
        for (var i = 0; i < features.Length; i++)
        {
            Assert.Same(engine, features[i].Engine);
        }

        for (var i = 0; i < phases.Length; i++)
        {
            Assert.Same(engine, phases[i].Engine);
        }
    }
Beispiel #3
0
        public RazorEngine Build()
        {
            var features = new IRazorEngineFeature[Features.Count];

            Features.CopyTo(features, arrayIndex: 0);

            var phases = new IRazorEnginePhase[Phases.Count];

            Phases.CopyTo(phases, arrayIndex: 0);

            return(new DefaultRazorEngine(features, phases));
        }