public void MakeMeADrinkConversationFailureTest() { Dictionary <String, String> input = new Dictionary <string, string> { { "Command", "Bartender" }, { "DrinkName", "Recipe 2" }, }; IConfigurationManager configMan = GetConfigurationManager(); Mock <IBartenderController> bartender = new Mock <IBartenderController>(MockBehavior.Strict); bartender.Setup(s => s.IsValid).Returns(true); AddComponentToConfigurationManager(bartender.Object); CurrentConversation = new BartenderConversation(GetConfigurationManager(), GetProvider()); bartender.Setup(s => s.AvailableLiquids).Returns(new List <String> { "testLiquid1", "testLiquid2", "testLiquid3", }); Assert.AreEqual("Testing request", RunSingleConversation <BartenderConversation>(input, false)); Dictionary <String, String> responseInput = new Dictionary <string, string> { { "Command", "Bartender" }, { "answer", "false" }, }; Assert.AreEqual(BartenderApp.ConfirmationRuleName, CurrentConversation.GrammarRuleName); Assert.AreEqual("Never mind", RunSingleConversation <BartenderConversation>(responseInput)); bartender.Verify(s => s.AvailableLiquids, Times.Exactly(1)); }
public void WhatDrinksCanYouMakeConversationTest() { Dictionary <String, String> input = new Dictionary <string, string> { { "Command", "Bartender" }, { "Subcommand", "drinkList" }, }; IConfigurationManager configMan = GetConfigurationManager(); Mock <IBartenderController> bartender = new Mock <IBartenderController>(MockBehavior.Strict); bartender.Setup(s => s.IsValid).Returns(true); AddComponentToConfigurationManager(bartender.Object); bartender.Setup(s => s.AvailableLiquids).Returns(new List <String> { "testLiquid1", "testLiquid2", "testLiquid3", }); CurrentConversation = new BartenderConversation(GetConfigurationManager(), GetProvider()); Assert.AreEqual("I can make Recipe 1. Recipe 2. and Recipe 3.", RunSingleConversation <BartenderConversation>(input)); bartender.Verify(s => s.AvailableLiquids, Times.Exactly(1)); }
public void CleanPumpsConversationFailureTest() { Dictionary <String, String> input = new Dictionary <string, string> { { "Command", "Bartender" }, { "Subcommand", "cleanPumps" }, }; IConfigurationManager configMan = GetConfigurationManager(); Mock <IBartenderController> bartender = new Mock <IBartenderController>(MockBehavior.Strict); bartender.Setup(s => s.IsValid).Returns(true); AddComponentToConfigurationManager(bartender.Object); CurrentConversation = new BartenderConversation(GetConfigurationManager(), GetProvider()); Assert.AreEqual("Make sure that the pumps are all no longer in the drinks. Pumps will run one at a time until all have been cleaned. Tell me when you are ready.", RunSingleConversation <BartenderConversation>(input, false)); Dictionary <String, String> responseInput = new Dictionary <string, string> { { "Command", "Bartender" }, { "answer", "false" }, }; Assert.AreEqual(BartenderApp.ConfirmationRuleName, CurrentConversation.GrammarRuleName); Assert.AreEqual("Never mind.", RunSingleConversation <BartenderConversation>(responseInput)); }
public void NoControllersConversationTest() { Dictionary <String, String> input = new Dictionary <string, string> { { "Command", "Bartender" }, { "Subcommand", "ingredientList" }, { "DrinkName", "Recipe 1" }, }; CurrentConversation = new BartenderConversation(GetConfigurationManager(), GetProvider()); Assert.AreEqual(String.Empty, RunSingleConversation <BartenderConversation>(input)); }
public void WhatIsInAConversationTest() { Dictionary <String, String> input = new Dictionary <string, string> { { "Command", "Bartender" }, { "Subcommand", "ingredientList" }, { "DrinkName", "Recipe 1" }, }; IConfigurationManager configMan = GetConfigurationManager(); Mock <IBartenderController> bartender = new Mock <IBartenderController>(MockBehavior.Strict); bartender.Setup(s => s.IsValid).Returns(true); AddComponentToConfigurationManager(bartender.Object); CurrentConversation = new BartenderConversation(GetConfigurationManager(), GetProvider()); Assert.AreEqual("A Recipe 1 contains testLiquid1. and testLiquid2.", RunSingleConversation <BartenderConversation>(input)); }
public void MakeMeADrinkConversationFailureNoControllersTest() { Dictionary <String, String> input = new Dictionary <string, string> { { "Command", "Bartender" }, { "DrinkName", "Recipe 2" }, }; IConfigurationManager configMan = GetConfigurationManager(); Mock <IBartenderController> bartender = new Mock <IBartenderController>(MockBehavior.Strict); bartender.Setup(s => s.IsValid).Returns(true); AddComponentToConfigurationManager(bartender.Object); CurrentConversation = new BartenderConversation(GetConfigurationManager(), GetProvider()); bartender.Setup(s => s.AvailableLiquids).Returns(new List <String>()); Assert.AreEqual(String.Empty, RunSingleConversation <BartenderConversation>(input)); bartender.Verify(s => s.AvailableLiquids, Times.Exactly(1)); }
public void CleanPumpsConversationSuccessTest() { Dictionary <String, String> input = new Dictionary <string, string> { { "Command", "Bartender" }, { "Subcommand", "cleanPumps" }, }; IConfigurationManager configMan = GetConfigurationManager(); Mock <IBartenderController> bartender = new Mock <IBartenderController>(MockBehavior.Strict); bartender.Setup(s => s.IsValid).Returns(true); AddComponentToConfigurationManager(bartender.Object); CurrentConversation = new BartenderConversation(GetConfigurationManager(), GetProvider()); Assert.AreEqual("Make sure that the pumps are all no longer in the drinks. Pumps will run one at a time until all have been cleaned. Tell me when you are ready.", RunSingleConversation <BartenderConversation>(input, false)); Dictionary <String, String> responseInput = new Dictionary <string, string> { { "Command", "Bartender" }, { "answer", "true" }, }; Assert.AreEqual(BartenderApp.ConfirmationRuleName, CurrentConversation.GrammarRuleName); bartender.Setup(s => s.AvailableLiquids).Returns(new List <String> { "testLiquid1", "testLiquid2", "testLiquid3", }); bartender.Setup(s => s.DispenseLiquid("testLiquid1", 25)); bartender.Setup(s => s.DispenseLiquid("testLiquid2", 25)); bartender.Setup(s => s.DispenseLiquid("testLiquid3", 25)); Assert.AreEqual("Cleaning the pumps now.", RunSingleConversation <BartenderConversation>(responseInput)); bartender.Verify(s => s.AvailableLiquids, Times.Exactly(1)); bartender.Verify(s => s.DispenseLiquid("testLiquid1", 25), Times.Exactly(1)); bartender.Verify(s => s.DispenseLiquid("testLiquid2", 25), Times.Exactly(1)); bartender.Verify(s => s.DispenseLiquid("testLiquid3", 25), Times.Exactly(1)); }