コード例 #1
0
        public void ShouldUseBuildLogTransformerToGenerateView()
        {
            DynamicMock buildLogTransformerMock = new DynamicMock(typeof(IBuildLogTransformer));
            DynamicMock cruiseRequestMock       = new DynamicMock(typeof(ICruiseRequest));
            DynamicMock buildSpecifierMock      = new DynamicMock(typeof(IBuildSpecifier));
            DynamicMock requestStub             = new DynamicMock(typeof(IRequest));

            ICruiseRequest  cruiseRequest  = (ICruiseRequest)cruiseRequestMock.MockInstance;
            IBuildSpecifier buildSpecifier = (IBuildSpecifier)buildSpecifierMock.MockInstance;
            IRequest        request        = (IRequest)requestStub.MockInstance;

            cruiseRequestMock.ExpectAndReturn("BuildSpecifier", buildSpecifier);
            cruiseRequestMock.SetupResult("Request", request);
            requestStub.SetupResult("ApplicationPath", "myAppPath");
            Hashtable expectedXsltArgs = new Hashtable();

            expectedXsltArgs["applicationPath"] = "myAppPath";
            buildLogTransformerMock.ExpectAndReturn("Transform", "transformed", buildSpecifier, new string[] { @"xsl\myxsl.xsl" }, new HashtableConstraint(expectedXsltArgs), null);

            XslReportBuildAction action = new XslReportBuildAction((IBuildLogTransformer)buildLogTransformerMock.MockInstance, null);

            action.XslFileName = @"xsl\myxsl.xsl";

            Assert.AreEqual("transformed", ((HtmlFragmentResponse)action.Execute(cruiseRequest)).ResponseFragment);

            buildLogTransformerMock.Verify();
            cruiseRequestMock.Verify();
            buildSpecifierMock.Verify();
        }
コード例 #2
0
        public void ShouldUseBuildLogTransformerToGenerateView()
        {
            var buildLogTransformerMock = new Mock <IBuildLogTransformer>();
            var cruiseRequestMock       = new Mock <ICruiseRequest>();
            var buildSpecifierMock      = new Mock <IBuildSpecifier>();
            var requestStub             = new Mock <IRequest>();

            ICruiseRequest  cruiseRequest  = (ICruiseRequest)cruiseRequestMock.Object;
            IBuildSpecifier buildSpecifier = (IBuildSpecifier)buildSpecifierMock.Object;
            IRequest        request        = (IRequest)requestStub.Object;

            cruiseRequestMock.SetupGet(_cruiseRequest => _cruiseRequest.BuildSpecifier).Returns(buildSpecifier).Verifiable();
            cruiseRequestMock.SetupGet(_cruiseRequest => _cruiseRequest.Request).Returns(request).Verifiable();
            requestStub.SetupGet(_request => _request.ApplicationPath).Returns("myAppPath").Verifiable();
            buildLogTransformerMock.Setup(transformer => transformer.Transform(buildSpecifier, new string[] { @"xsl\myxsl.xsl" }, It.Is <Hashtable>(t => t.Count == 1 && (string)t["applicationPath"] == "myAppPath"), null)).
            Returns("transformed").Verifiable();

            XslReportBuildAction action = new XslReportBuildAction((IBuildLogTransformer)buildLogTransformerMock.Object, null);

            action.XslFileName = @"xsl\myxsl.xsl";

            Assert.AreEqual("transformed", ((HtmlFragmentResponse)action.Execute(cruiseRequest)).ResponseFragment);

            buildLogTransformerMock.Verify();
            cruiseRequestMock.Verify();
            buildSpecifierMock.Verify();
        }
コード例 #3
0
        public void ShouldUseObjectGiverToInstantiateActions()
        {
            DynamicMock   objectSourceMock  = new DynamicMock(typeof(ObjectSource));
            Type          typeToInstantiate = typeof(XslReportBuildAction);
            ICruiseAction instantiated      = new XslReportBuildAction(null, null);

            objectSourceMock.ExpectAndReturn("GetByType", instantiated, typeToInstantiate);

            ActionInstantiatorWithObjectSource instantiator = new ActionInstantiatorWithObjectSource((ObjectSource)objectSourceMock.MockInstance);

            Assert.AreEqual(instantiated, instantiator.InstantiateAction(typeToInstantiate));
            objectSourceMock.Verify();
        }
        public void ShouldUseObjectGiverToInstantiateActions()
        {
            var           objectSourceMock  = new Mock <ObjectSource>();
            Type          typeToInstantiate = typeof(XslReportBuildAction);
            ICruiseAction instantiated      = new XslReportBuildAction(null, null);

            objectSourceMock.Setup(objectSource => objectSource.GetByType(typeToInstantiate)).Returns(instantiated).Verifiable();

            ActionInstantiatorWithObjectSource instantiator = new ActionInstantiatorWithObjectSource((ObjectSource)objectSourceMock.Object);

            Assert.AreEqual(instantiated, instantiator.InstantiateAction(typeToInstantiate));
            objectSourceMock.Verify();
        }
コード例 #5
0
        public void ShouldCreateAnXslReportActionWithCorrectNameXslFileName()
        {
            buildPlugin.ActionName = "MyAction";
            buildPlugin.ConfiguredLinkDescription = "My Plugin";
            buildPlugin.XslFileName = @"xsl\myxsl.xsl";

            XslReportBuildAction xslReportAction = new XslReportBuildAction(null, null);

            actionInstantiatorMock.ExpectAndReturn("InstantiateAction", xslReportAction, typeof(XslReportBuildAction));

            INamedAction[] namedActions = buildPlugin.NamedActions;

            Assert.AreEqual(1, namedActions.Length);
            Assert.AreEqual("MyAction", namedActions[0].ActionName);
            Assert.AreEqual(xslReportAction, namedActions[0].Action);
            Assert.AreEqual(@"xsl\myxsl.xsl", ((XslReportBuildAction)namedActions[0].Action).XslFileName);

            VerifyAll();
        }