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());
        }
Exemplo n.º 2
0
        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);
        }