Ejemplo n.º 1
0
        public void MakeAStory_When_Called_With_Story_Components_A_Single_Story_Is_Produced()
        {
            LootCollection fakeLootCollection = new LootCollection();
            var            LootList           = new List <LootModel>();

            LootList.Add(new LootModel("Loot", 10));
            fakeLootCollection.Loot = LootList;

            var mockLootRepository = new Mock <IRepository>();

            mockLootRepository
            .Setup(x => x.GetLootCollection())
            .Returns(fakeLootCollection);


            var fakeMonsterCollection = new MonsterCollection();
            var monsterList           = new List <MonsterModel>();

            monsterList.Add(new MonsterModel("Monster", 1, 1, 1, 10));
            fakeMonsterCollection.Monsters = monsterList;

            var mockMonsterRepository = new Mock <IRepository>();

            mockMonsterRepository
            .Setup(x => x.GetMonsterCollection())
            .Returns(fakeMonsterCollection);

            var stubStoryElements = new StoryElements(
                new MonsterFactory(mockMonsterRepository.Object),
                new LootFactory(mockLootRepository.Object),
                new RoomFactory(1, 1));

            stubStoryElements.CreateStoryElements();

            var sut         = new DungeonGenerator.StoryMaker();
            var storyResult = sut.MakeAStory(stubStoryElements);

            var TestStory = $"You stand in a room 1' x 1'.\n"
                            + $"On the far side of the room you see a Monster, \n"
                            + $"guarding a Loot";

            Assert.Equal(TestStory, storyResult);
        }
Ejemplo n.º 2
0
        public void MakeAStory_When_Called_With_A_Single_Monster_The_Singluar_Joining_Word_Will_Be_Used()
        {
            LootCollection fakeLootCollection = new LootCollection();
            var            LootList           = new List <LootModel>();

            LootList.Add(new LootModel("Loot", 10));
            fakeLootCollection.Loot = LootList;

            var mockLootRepository = new Mock <IRepository>();

            mockLootRepository
            .Setup(x => x.GetLootCollection())
            .Returns(fakeLootCollection);


            var fakeMonsterCollection = new MonsterCollection();
            var monsterList           = new List <MonsterModel>();

            monsterList.Add(new MonsterModel("Monster", 1, 1, 1, 10));
            fakeMonsterCollection.Monsters = monsterList;

            var mockMonsterRepository = new Mock <IRepository>();

            mockMonsterRepository
            .Setup(x => x.GetMonsterCollection())
            .Returns(fakeMonsterCollection);

            var stubStoryElements = new StoryElements(
                new MonsterFactory(mockMonsterRepository.Object),
                new LootFactory(mockLootRepository.Object),
                new RoomFactory(10, 10));

            stubStoryElements.CreateStoryElements();

            var sut         = new StoryMaker();
            var storyResult = sut.MakeAStory(stubStoryElements);

            Assert.Contains("a Monster", storyResult);
        }