示例#1
0
        public void RecipeStepCallNoNextConstructorTest()
        {
            MockRecipeStep mockStep = new MockRecipeStep("messageToUser", "nextGrammarNeeded", true, true, true);
            RecipeStepCall stepCall = new RecipeStepCall(mockStep);

            Assert.AreEqual(true, stepCall.IsDone);
            Assert.AreEqual(true, stepCall.IsValid);
            Assert.AreEqual(mockStep.MessageToUser, stepCall.MessageToUser);
            Assert.AreEqual(mockStep.NextGrammarNeeded, stepCall.NextGrammarNeeded);
            Assert.AreEqual(mockStep.ShouldCancel, stepCall.ShouldCancel);
        }
示例#2
0
        public void RecipeStepCallCallNoAdvanceTest()
        {
            MockRecipeStep mockNextStep           = new MockRecipeStep("messageToUser", "nextGrammarNeeded", false, false, false);
            RecipeStepCall nextStepCall           = new RecipeStepCall(mockNextStep);
            MockRecipeStep mockStep               = new MockRecipeStep("messageToUser", "nextGrammarNeeded", false, false, false);
            RecipeStepCall stepCall               = new RecipeStepCall(mockStep, nextStepCall);
            Mock <IBartenderController> bartender = new Mock <IBartenderController>(MockBehavior.Strict);

            bartender.Setup(s => s.IsValid).Returns(true);
            Assert.AreEqual(stepCall, stepCall.Call(new Dialog(new Dictionary <String, String>(), "Phrase"), bartender.Object));
            Assert.AreEqual(true, mockStep.DoStepIsCalled);
            Assert.AreEqual(false, mockNextStep.DoStepIsCalled);
        }
示例#3
0
        public void RecipeStepCallCloneTest()
        {
            MockRecipeStep mockNextStep = new MockRecipeStep("messageToUser", "nextGrammarNeeded", false, false, true);
            RecipeStepCall nextStepCall = new RecipeStepCall(mockNextStep);
            MockRecipeStep mockStep     = new MockRecipeStep("messageToUser", "nextGrammarNeeded", false, false, true);
            RecipeStepCall stepCall     = new RecipeStepCall(mockStep, nextStepCall);

            RecipeStepCall clonedCall = stepCall.Clone() as RecipeStepCall;

            Assert.AreNotSame(clonedCall, stepCall);

            Mock <IBartenderController> bartender = new Mock <IBartenderController>(MockBehavior.Strict);

            bartender.Setup(s => s.IsValid).Returns(true);
            clonedCall.Call(new Dialog(new Dictionary <String, String>(), "Phrase"), bartender.Object);
            Assert.IsFalse(mockStep.DoStepIsCalled);
            Assert.IsFalse(mockNextStep.DoStepIsCalled);
        }
示例#4
0
        public override object Clone()
        {
            MockRecipeStep step = new MockRecipeStep(MessageToUser, NextGrammarNeeded, IsStepDone, ShouldCancel, _endAfterCall);

            return(CopyValuesToClone(step));
        }