示例#1
0
        public void SubclassAbilitiesRepo_GetSubclassAbility_ValidCall()
        {
            //Arrange
            List <SubclassAbility> listofSubclassAbility = CreateTestData.GetListOfSubclassAbility();
            SubclassAbility        expected = CreateTestData.GetSubclassAbility();
            var mockSet = new Mock <DbSet <SubclassAbility> >()
                          .SetupData(listofSubclassAbility, o =>
            {
                return(listofSubclassAbility.Single(x => x.SubclassAbility_id.CompareTo(o.First()) == 0));
            });

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

                //Act
                var toTest = mockContext.Create <SubclassAbilityRepository>();
                var actual = toTest.Get(expected.SubclassAbility_id);

                //Assert
                actual.Should().NotBeNull();
                actual.Should().BeOfType <SubclassAbility>();
                actual.Should().BeEquivalentTo(expected);
            }
        }
示例#2
0
        public void PlayableClassManager_RemoveSubclassAbility_ValidCall()
        {
            //Arrange
            List <SubclassAbility> listofSubclassAbility = CreateTestData.GetListOfSubclassAbility();
            SubclassAbility        notExpected           = CreateTestData.GetSubclassAbility();

            var mockSet = new Mock <DbSet <SubclassAbility> >()
                          .SetupData(listofSubclassAbility, o =>
            {
                return(listofSubclassAbility.Single(x => x.Subclass_id.CompareTo(o.First()) == 0));
            });

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

                //Act
                IUnitOfWork             worker = mockContext.Create <UnitOfWork>();
                IClassManagerUserAccess toTest = UserAccessFactory.GetClassManagerUserAccess(worker);

                toTest.RemoveSubclassAbility(notExpected);

                //Assert
                listofSubclassAbility.Should().NotContain(notExpected);
            }
        }
示例#3
0
        public void SubclassAbilitiesRepo_RemoveSubclassAbility_ValidCall()
        {
            //Arrange
            List <SubclassAbility> listofSubclassAbility = CreateTestData.GetListOfSubclassAbility();
            SubclassAbility        notExpected           = CreateTestData.GetSubclassAbility();

            var mockSet = new Mock <DbSet <SubclassAbility> >()
                          .SetupData(listofSubclassAbility, o =>
            {
                return(listofSubclassAbility.Single(x => x.Subclass_id.CompareTo(o.First()) == 0));
            });

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

                //Act
                var toTest = mockContext.Create <SubclassAbilityRepository>();
                toTest.Remove(notExpected);

                //Assert
                listofSubclassAbility.Should().NotContain(notExpected);
            }
        }
示例#4
0
        public static List <SubclassAbility> GetListOfSubclassAbility()
        {
            List <SubclassAbility> subclassAbilities = new List <SubclassAbility>();

            SubclassAbility AdeptMarksman = GetSubclassAbility();

            subclassAbilities.Add(AdeptMarksman);

            SubclassAbility ExceptionalTraining = new SubclassAbility
            {
                SubclassAbility_id = Guid.Parse("0a547cfc-2c7c-450e-92bd-e844bc8abf18"),
                Subclass_id        = Guid.Parse("c7de67ae-3a65-4261-9c09-05a7b0c527bb"),
                Name         = "Exceptional Training",
                Description  = "On any of your turns when your beast companion doesn’t attack, you can use a bonus action to command the beast to take the Dash, Disengage, or Help action on its turn.",
                LevelLearned = 7
            };

            subclassAbilities.Add(ExceptionalTraining);

            SubclassAbility TransmutationSavant = new SubclassAbility
            {
                SubclassAbility_id = Guid.Parse("5d8db5fd-5603-46bc-af5a-cef3331d9980"),
                Subclass_id        = Guid.Parse("c8d2e23a-a193-4e06-8814-9180d4830732"),
                Name         = "Transmutation Savant",
                Description  = "The gold and time you must spend to copy a Transmutation spell into your spellbook is halved.",
                LevelLearned = 2
            };

            subclassAbilities.Add(TransmutationSavant);

            return(subclassAbilities);
        }
示例#5
0
        public static SubclassAbility GetSubclassAbility()
        {
            SubclassAbility AdeptMarksman = new SubclassAbility
            {
                SubclassAbility_id = Guid.Parse("054cdd07-803d-40b5-9261-cf2392194c09"),
                Subclass_id        = Guid.Parse("a8e9e19f-b04f-4d6c-baf8-ada5cd40c30b"),
                Name         = "Adept Marksman",
                Description  = "You learn to perform powerful trick shots to disable or damage your opponents using your firearms.",
                LevelLearned = 3
            };

            return(AdeptMarksman);
        }
示例#6
0
        public void SubclassAbilitiesRepo_GetAbilitiesOfSubclassAtOrBelowLevel_ValidCall()
        {
            //Arrange
            List <SubclassAbility> listofSubclassAbility = CreateTestData.GetListOfSubclassAbility();

            List <SubclassAbility> expected   = new List <SubclassAbility>();
            SubclassAbility        Gunslinger = CreateTestData.GetSubclassAbility();
            SubclassAbility        Quickdraw  = new SubclassAbility
            {
                Subclass_id        = Gunslinger.Subclass_id,
                SubclassAbility_id = Guid.Parse("eb852e1e-39a6-47af-86e2-5dfb3fc8bdee"),
                Name         = "Quickdraw",
                Description  = "You add your proficiency bonus to your initiative. You can also stow a firearm, then draw another firearm as a single object interaction on your turn.",
                LevelLearned = 7
            };

            listofSubclassAbility.Add(Quickdraw);
            expected.Add(Gunslinger);
            var gunslinger_id = Gunslinger.Subclass_id;
            var mockSet       = new Mock <DbSet <SubclassAbility> >()
                                .SetupData(listofSubclassAbility, o =>
            {
                return(listofSubclassAbility.Single(x => x.Subclass_id.CompareTo(o.First()) == 0));
            });

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

                //Act
                var toTest = mockContext.Create <SubclassAbilityRepository>();
                var actual = toTest.GetAbilitiesOfSubclassAtOrBelowLevel(gunslinger_id, 5);

                //Assert
                actual.Should().BeEquivalentTo(expected);
                actual.Should().NotContain(Quickdraw);
            }
        }
示例#7
0
 public void RemoveSubclassAbility(SubclassAbility toBeRemoved)
 {
     _worker.SubclassAbilities.Remove(toBeRemoved);
 }
示例#8
0
 public void AddSubclassAbility(SubclassAbility subclassAbility)
 {
     _worker.SubclassAbilities.Add(subclassAbility);
 }