Example #1
0
        public void AllLinksExistFor_Test()
        {
            // Arrange

            var sut = new StoryContext
            {
                Stories = new List <IStory>
                {
                    new Story
                    {
                        Acts = new List <IAct>
                        {
                            new Act
                            {
                                Name    = "Something",
                                Choices = new List <IChoice>
                                {
                                    new BaseChoice
                                    {
                                        Text     = "abc",
                                        Triggers = new List <ITrigger>
                                        {
                                            new BaseTrigger
                                            {
                                                Link = "Link 1"
                                            }
                                        }
                                    }
                                }
                            },
                            new Sequence
                            {
                                Name    = "Link 1",
                                Choices = new List <IChoice>
                                {
                                    new BaseChoice
                                    {
                                        Text     = "def",
                                        Triggers = new List <ITrigger>
                                        {
                                            new BaseTrigger
                                            {
                                                Link = "Link 2"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    new Story
                    {
                        Acts = new List <IAct>
                        {
                            new Act
                            {
                                Name    = "A Name",
                                Choices = new List <IChoice>
                                {
                                    new BaseChoice
                                    {
                                        Text     = "ghi",
                                        Triggers = new List <ITrigger>
                                        {
                                            new BaseTrigger
                                            {
                                                Link = "Link 1"
                                            }
                                        }
                                    }
                                }
                            },
                            new Sequence
                            {
                                Name    = "Link 2",
                                Choices = new List <IChoice>
                                {
                                    new BaseChoice
                                    {
                                        Text     = "jkl",
                                        Triggers = new List <ITrigger>
                                        {
                                            new BaseTrigger
                                            {
                                                Link = "A Name"
                                            }
                                        }
                                    }
                                }
                            }
                        },
                        Sequences = new List <ISequence>
                        {
                            new Sequence
                            {
                                Name    = "Another",
                                Choices = new List <IChoice>
                                {
                                    new BaseChoice
                                    {
                                        Text     = "mno",
                                        Triggers = new List <ITrigger>
                                        {
                                            new BaseTrigger
                                            {
                                                Link = "Something"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            };

            // Act
            var t1 = sut.AllLinksExistFor(sut.Stories[0].Acts[0]);
            var t2 = sut.AllLinksExistFor(sut.Stories[0].Acts[1]);
            var t3 = sut.AllLinksExistFor(sut.Stories[1].Acts[0]);
            var t4 = sut.AllLinksExistFor(sut.Stories[1].Acts[1]);
            var t5 = sut.AllLinksExistFor(sut.Stories[1].Sequences[0]);

            // Assert
            t1.Should().BeTrue();
            t2.Should().BeTrue();
            t3.Should().BeTrue();
            t4.Should().BeTrue();
            t5.Should().BeTrue();
        }