public void PlayableClassRepository_CharacterForgetsClass_ValidCall()
        {
            //Arrange
            List <Character_Class_Subclass> listofCharacter_Class_Subclass = CreateTestData.GetListOfCharacter_Class_Subclass();

            var mockSet = new Mock <DbSet <Character_Class_Subclass> >()
                          .SetupData(listofCharacter_Class_Subclass, o =>
            {
                return(listofCharacter_Class_Subclass.Single(x => x.Class_id.CompareTo(o.First()) == 0));
            });
            var toBeDeleted = new Character_Class_Subclass
            {
                Character_id = Guid.Parse("6983e8dc-3e3c-4853-ac49-ba33f236723a"),
                Class_id     = Guid.Parse("15478d70-f96e-4c14-aeaf-4a1e35605874")
            };

            using (var mockContext = AutoMock.GetLoose())
            {
                mockContext.Mock <PlayableClassContext>()
                .Setup(x => x.KnownClasses).Returns(mockSet.Object);

                //Act
                var toTest = mockContext.Create <PlayableClassRepository>();
                toTest.CharacterForgetsClass(toBeDeleted.Character_id, toBeDeleted.Class_id);

                //Assert
                listofCharacter_Class_Subclass.Should().NotContain(toBeDeleted);
            }
        }
        public void PlayableClassRepository_GetAllKnownClassRecordsOfCharacter_ValidCall()
        {
            //Arrange
            List <Character_Class_Subclass> listofCharacter_Class_Subclass = CreateTestData.GetListOfCharacter_Class_Subclass();

            var mockSet = new Mock <DbSet <Character_Class_Subclass> >()
                          .SetupData(listofCharacter_Class_Subclass, o =>
            {
                return(listofCharacter_Class_Subclass.Single(x => x.Class_id.CompareTo(o.First()) == 0));
            });
            var expected = new Character_Class_Subclass
            {
                Character_id     = Guid.Parse("da7d6227-d330-44ab-8001-880dbf52110a"),
                Class_id         = Guid.Parse("969c08ca-f983-4ddd-b351-31962f2429cd"),
                Subclass_id      = Guid.Parse("c7de67ae-3a65-4261-9c09-05a7b0c527bb"),
                RemainingHitDice = 20,
                ClassLevel       = 20
            };

            using (var mockContext = AutoMock.GetLoose())
            {
                mockContext.Mock <PlayableClassContext>()
                .Setup(x => x.KnownClasses).Returns(mockSet.Object);

                //Act
                var toTest = mockContext.Create <PlayableClassRepository>();
                var actual = toTest.GetAllKnownClassRecordsOfCharacter(expected.Character_id);

                //Assert
                actual.Should().ContainEquivalentOf(expected);
            }
        }
        public void PlayableClassRepository_GetClassesOfCharacter_ValidCall()
        {
            //Arrange
            List <PlayableClass>            playableClasses = CreateTestData.GetPlayableClasses();
            List <Character_Class_Subclass> knownclasses    = CreateTestData.GetListOfCharacter_Class_Subclass();

            var classMockSet = new Mock <DbSet <PlayableClass> >()
                               .SetupData(playableClasses, o =>
            {
                return(playableClasses.Single(x => x.Class_id.CompareTo(o.First()) == 0));
            });
            var knownClassesMockSet = new Mock <DbSet <Character_Class_Subclass> >()
                                      .SetupData(knownclasses, o =>
            {
                return(knownclasses.Single(x => x.Character_id.CompareTo(o.First()) == 0));
            });
            var Percy_id = Guid.Parse("6983e8dc-3e3c-4853-ac49-ba33f236723a");
            var expected = CreateTestData.GetSampleClass();

            using (var mockContext = AutoMock.GetLoose())
            {
                mockContext.Mock <PlayableClassContext>()
                .Setup(x => x.Classes).Returns(classMockSet.Object);
                mockContext.Mock <PlayableClassContext>()
                .Setup(x => x.KnownClasses).Returns(knownClassesMockSet.Object);

                //Act
                var toTest = mockContext.Create <PlayableClassRepository>();
                var actual = toTest.GetClassesOfCharacter(Percy_id);

                //Assert
                actual.Should().ContainEquivalentOf(expected);
            }
        }
예제 #4
0
        public void SubclassRepo_CharacterOfClassForgetsSubclass_ValidCall()
        {
            //Arrange
            List <Character_Class_Subclass> knownClasses = CreateTestData.GetListOfCharacter_Class_Subclass();
            var mockSet = new Mock <DbSet <Character_Class_Subclass> >()
                          .SetupData(knownClasses, o =>
            {
                return(knownClasses.Single(x => x.Character_id.CompareTo(o.First()) == 0));
            });
            Character_Class_Subclass expected = new Character_Class_Subclass
            {
                Character_id     = Guid.Parse("11111111-2222-3333-4444-555555555555"),
                Class_id         = Guid.Parse("4e82620a-0496-4ecc-b6d4-05faa064310b"),
                RemainingHitDice = 12,
                ClassLevel       = 12
            };

            using (var mockContext = AutoMock.GetLoose())
            {
                mockContext.Mock <PlayableClassContext>()
                .Setup(x => x.KnownClasses).Returns(mockSet.Object);

                //Act
                var toTest = mockContext.Create <SubclassRepository>();
                toTest.CharacterOfClassForgetsSubclass(
                    expected.Character_id,
                    expected.Class_id,
                    Guid.Parse("c8d2e23a-a193-4e06-8814-9180d4830732"));

                var actual = knownClasses.First();

                actual.Should().NotBeNull();
                expected.Should().NotBeNull();
                actual.Should().BeOfType <Character_Class_Subclass>();
                expected.Should().BeOfType <Character_Class_Subclass>();
                actual.Should().BeEquivalentTo(expected);
            }
        }
        public void CharacterServices_ExistingCharacterLearnsSpell_ValidCall()
        {
            //Arrange
            List <Spell>       listOfSpells     = CreateTestData.GetListOfSpells();
            List <Spell_Class> listOfCastableBy = CreateTestData.GetListOfCastableByRecords();
            List <Character_Class_Subclass> listofKnownClasses = CreateTestData.GetListOfCharacter_Class_Subclass();
            List <Spell_Character>          listOfKnownSpells  = new List <Spell_Character>();

            //Caleb should learn how to cast his tower spell.
            Spell_Character expected = CreateTestData.GetSampleKnownSpell();
            Guid            Caleb_id = expected.Character_id;
            Guid            User_id  = Guid.Parse("5f0d6374-fe3e-4337-9a0a-787db1f7b628");
            Guid            Tower_id = expected.Spell_id;

            var spellMockSet = new Mock <DbSet <Spell> >()
                               .SetupData(listOfSpells, o =>
            {
                return(listOfSpells.Single(x => x.Spell_id.CompareTo(o.First()) == 0));
            });
            var castableByMockSet = new Mock <DbSet <Spell_Class> >()
                                    .SetupData(listOfCastableBy, o =>
            {
                return(listOfCastableBy.Single(x => x.Class_id.CompareTo(o.First()) == 0));
            });
            var knownClassesMockSet = new Mock <DbSet <Character_Class_Subclass> >()
                                      .SetupData(listofKnownClasses, o =>
            {
                return(listofKnownClasses.Single(x => x.Character_id.CompareTo(o.First()) == 0));
            });
            var knownSpellsMockSet = new Mock <DbSet <Spell_Character> >()
                                     .SetupData(listOfKnownSpells, o =>
            {
                return(listOfKnownSpells.Single(x => x.Spell_id.CompareTo(o.First()) == 0));
            });

            using (var mockContext = AutoMock.GetLoose())
            {
                mockContext.Mock <SpellsContext>()
                .Setup(x => x.Spells).Returns(spellMockSet.Object);
                mockContext.Mock <SpellsContext>()
                .Setup(x => x.Set <Spell>()).Returns(spellMockSet.Object);

                mockContext.Mock <SpellsContext>()
                .Setup(x => x.CastableByRecords).Returns(castableByMockSet.Object);
                mockContext.Mock <SpellsContext>()
                .Setup(x => x.Set <Spell_Class>()).Returns(castableByMockSet.Object);

                mockContext.Mock <SpellsContext>()
                .Setup(x => x.KnownSpells).Returns(knownSpellsMockSet.Object);
                mockContext.Mock <SpellsContext>()
                .Setup(x => x.Set <Spell_Character>()).Returns(knownSpellsMockSet.Object);

                mockContext.Mock <PlayableClassContext>()
                .Setup(x => x.KnownClasses).Returns(knownClassesMockSet.Object);
                mockContext.Mock <PlayableClassContext>()
                .Setup(x => x.Set <Character_Class_Subclass>()).Returns(knownClassesMockSet.Object);

                //Act
                ICharacterServices toTest = mockContext.Create <CharacterServices>();
                toTest.ExistingCharacterLearnsSpell(User_id, Caleb_id, Tower_id);

                //Assert
                listOfKnownSpells.Should().ContainEquivalentOf(expected);
                listOfKnownSpells.Where(x => x.Spell_id == expected.Spell_id && x.Character_id == expected.Character_id).Count().Should().Be(1);
            }
        }