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(); }