コード例 #1
0
        public void SpellsRepository_GetIdsOfClassesThatCanCastSpell_ValidCall()
        {
            //Arrange
            List <Spell_Class> castableByList = CreateTestData.GetListOfCastableByRecords();
            var mockSet = new Mock <DbSet <Spell_Class> >()
                          .SetupData(castableByList, o =>
            {
                return(castableByList.Single(x => x.Spell_id.CompareTo(o.First()) == 0));
            });
            var expected = new Spell_Class
            {
                Spell_id = Guid.Parse("46d10bb8-84d2-408d-a928-5847ff99461f"),
                Class_id = Guid.Parse("b74e228f-015d-45b4-af0f-a6781976535a")
            };

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

                //Act
                ISpellsRepository toTest = mockContext.Create <SpellsRepository>();
                var actual = toTest.GetIdsOfClassesThatCanCastSpell(expected.Spell_id);

                //Assert
                actual.Should().Contain(expected.Class_id);
            }
        }
コード例 #2
0
        public void CharacterCommons_spellCanBeCastByClass_returnFalse()
        {
            List <Spell_Class> spell_Classes = CreateTestData.GetListOfCastableByRecords();
            List <Spell>       spells        = CreateTestData.GetListOfSpells();
            var spellMockSet = new Mock <DbSet <Spell> >()
                               .SetupData(spells, o =>
            {
                return(spells.Single(x => x.Spell_id.CompareTo(o.First()) == 0));
            });
            var castableByMockSet = new Mock <DbSet <Spell_Class> >()
                                    .SetupData(spell_Classes, o =>
            {
                return(spell_Classes.Single(x => x.Spell_id.CompareTo(o.First()) == 0));
            });
            var realSpellID  = CreateTestData.GetSampleSpell().Spell_id;
            var falseClassID = Guid.Parse("16310468-2345-460f-a408-d9f7c908ad2a");

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

                IUnitOfWork     uow    = UoW_Factory.getUnitofWork(mockContext);
                IBaseUserAccess access = UserAccessFactory.getBaseUserAccess(uow);

                //act
                ICharacterCommonFunctions toTest = ProcessorFactory.GetCharacterCommonFunctions(access);
                var actual = toTest.spellCanBeCastByClass(realSpellID, falseClassID);

                //Assert
                actual.Should().BeFalse();
            }
        }
コード例 #3
0
        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);
            }
        }
コード例 #4
0
        public void SpellsRepository_GetSpellsCastableBy_ValidCall()
        {
            //Arrange
            List <Spell> spells = CreateTestData.GetListOfSpells();

            List <Spell_Class> CastableByRecords = CreateTestData.GetListOfCastableByRecords();

            //I expect three spells - Web of Fire, Voltaic Bolt, and the Tower, all of which can be cast by a wizard.
            List <Spell> expected       = new List <Spell>();
            Spell        NineSidedTower = new Spell
            {
                Spell_id              = Guid.Parse("46d10bb8-84d2-408d-a928-5847ff99461f"),
                Name                  = "Widogast's Nascent Nine-sided Tower",
                Description           = "A flavored Magnificent Mansion",
                Level                 = 7,
                School_id             = Guid.Parse("361bd911-0702-437f-ab59-a29da0f9fba4"),
                CastingTime           = "1 minute",
                Range                 = "100 feet",
                Duration              = "24 hours",
                RequiresVerbal        = true,
                RequiresSomantic      = true,
                RequiresMaterial      = false,
                RequiresConcentration = true
            };

            expected.Add(NineSidedTower);
            Spell WebOfFire = new Spell
            {
                Spell_id              = Guid.Parse("51b4c563-2040-4c7d-a23e-cab8d5d3c73b"),
                Name                  = "Widogast's Web Of Fire",
                Description           = "The caster deals a shitton of fire damage to the target.",
                Level                 = 4,
                School_id             = Guid.Parse("11111111-2222-3333-4444-555555555555"),
                CastingTime           = "1 Action",
                Duration              = "Instant",
                Range                 = "120 feet",
                RequiresVerbal        = true,
                RequiresSomantic      = true,
                RequiresMaterial      = true,
                RequiresConcentration = false
            };

            expected.Add(WebOfFire);
            Spell VoltaicBolt = new Spell
            {
                Spell_id              = Guid.Parse("a9756f3d-55d0-40cd-8083-6b547e4932ab"),
                Name                  = "Brenatto's Voltaic Bolt",
                Description           = "The caster's next ranged attack deals an additional 3d6 lightning damage",
                Level                 = 1,
                School_id             = Guid.Parse("11111111-2222-3333-4444-555555555555"),
                CastingTime           = "1 Bonus Action",
                Duration              = "1 round",
                Range                 = "30 feet",
                RequiresVerbal        = false,
                RequiresSomantic      = true,
                RequiresMaterial      = true,
                RequiresConcentration = false
            };

            expected.Add(VoltaicBolt);

            var spellMockSet = new Mock <DbSet <Spell> >()
                               .SetupData(spells, o =>
            {
                return(spells.Single(x => x.Spell_id.CompareTo(o.First()) == 0));
            });

            var SpellCastableByMockSet = new Mock <DbSet <Spell_Class> >()
                                         .SetupData(CastableByRecords, o =>
            {
                return(CastableByRecords.Single(x => x.Class_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.CastableByRecords).Returns(SpellCastableByMockSet.Object);


                //Act
                ISpellsRepository toTest = mockContext.Create <SpellsRepository>();
                Guid WIzard_id           = Guid.Parse("b74e228f-015d-45b4-af0f-a6781976535a");
                var  actual = toTest.GetSpellsCastableBy(WIzard_id).ToList();

                //Assert
                actual.Should().NotBeEmpty();
                actual.Should().NotBeNull();
                actual.Should().BeOfType <List <Spell> >();
                actual.Should().BeEquivalentTo(expected);
            }
        }