public void ConditionPasses_WithCurrentRuntimeSetToSameIntent_ReturnsTrue() { SkillRequest request = new SkillRequest(); request.Request = new IntentRequest() { Intent = new Intent() { Name = "Test" } }; RequestContext requestContext = new RequestContext(request, null, null); StoryRuntime runtime = new StoryRuntime(requestContext); Story story = new Story(); story.Runtime = runtime; SpeechNode speechNode = story.CreateNode("TestNode"); Transition transition = speechNode.CreateTransition(new SpeechNode()); IntentCondition intentCondition = transition.CreateCondition <IntentCondition>(); intentCondition.IntentName = "Test"; Assert.IsTrue(intentCondition.ConditionPasses()); }
public void InputtingExistentValidFile_SetsUpTransitionsCorrectly() { Story story = new Story(); SpeechNode speechNode = story.CreateNode("Node1"); SpeechNode destinationNode = story.CreateNode("Node2"); Transition transition = speechNode.CreateTransition(destinationNode); IntentCondition condition = transition.CreateCondition <IntentCondition>(); condition.IntentName = "TestIntent"; string filePath = Path.Combine(Resources.TempDir, "Test.txt"); SaveStoryBinary(story, filePath); FileAssert.FileExists(filePath); Story loadedStory = Story.Load(filePath); Assert.IsNotNull(loadedStory); Assert.AreEqual(2, loadedStory.NodeCount); SpeechNode loadedNode = loadedStory.GetNodeAt(0); SpeechNode loadedDestinationNode = loadedStory.GetNodeAt(1); Assert.IsNotNull(loadedNode); Assert.IsNotNull(loadedDestinationNode); Assert.AreEqual(1, loadedNode.TransitionCount); Transition loadedTransition = loadedNode.GetTransitionAt(0); Assert.AreSame(loadedNode, loadedTransition.Source); Assert.AreSame(loadedDestinationNode, loadedTransition.Destination); Assert.AreEqual(1, loadedTransition.ConditionCount); TransitionCondition loadedCondition = loadedTransition.GetConditionAt(0); Assert.IsInstanceOfType(loadedCondition, typeof(IntentCondition)); Assert.AreEqual("TestIntent", (loadedCondition as IntentCondition).IntentName); Assert.AreSame(loadedTransition, loadedCondition.Transition); }