private void GetBlankPrimaryTab(CharacterVM vm)
        {
            PrimaryTabVM primaryTab = new PrimaryTabVM();

            GetSelectableRaces(primaryTab);

            ClassRowCM[] selectedClasses = new ClassRowCM[1];
            selectedClasses[0] = new ClassRowCM
            {
                Index = 1
            };

            GetSelectableClasses(selectedClasses);
            primaryTab.Classes = new ClassesCM
            {
                SelectedClasses = selectedClasses
            };
            primaryTab.Stats = new StatsCM
            {
                Bonus = new StatBonusCM()
            };
            primaryTab.Saves  = new SavesCM();
            primaryTab.Combat = new CombatCM();
            primaryTab.Skills = new ProficiencyCM
            {
                isProficient = new IsProficientCM(),
                TotalBonus   = new SkillBonusCM()
            };

            vm.PrimaryTab = primaryTab;
        }
Exemplo n.º 2
0
        public void CMBuilder_buildNewClassRowCM()
        {
            //Arrange
            List <PlayableClass>    playableClasses = CreateTestData.GetPlayableClasses();
            List <ClassesListModel> ClassesLM       = new List <ClassesListModel>();

            foreach (PlayableClass playableClass in playableClasses)
            {
                ReadModelMapper <PlayableClass, ClassesListModel> mapper = new ReadModelMapper <PlayableClass, ClassesListModel>();
                ClassesListModel lm = mapper.mapDataModelToViewModel(playableClass);
                ClassesLM.Add(lm);
            }

            var expected = new ClassRowCM
            {
                Index            = 5,
                Level            = 1,
                RemainingHitDice = 1,
                playableClasses  = ClassesLM.ToArray()
            };

            using (var mockAccess = AutoMock.GetLoose())
            {
                mockAccess.Mock <IBaseUserAccess>()
                .Setup(x => x.GetAllPlayableClasses()).Returns(playableClasses);

                IBaseUserAccess access = mockAccess.Create <IBaseUserAccess>();
                //Act
                ICharacterCMBuilder toTest = ProcessorFactory.GetCharacterCMBuilder(access);
                var actual = toTest.buildNewClassRowCM(5);

                //Assert
                actual.Should().BeEquivalentTo(expected);
            }
        }
Exemplo n.º 3
0
        public ClassRowCM buildKnownClassRowCM(int Index, Character_Class_Subclass ccsc, ClassesListModel[] CLM)
        {
            // Takes the set of list models as an argument, as
            //being passed references to the same set is more efficient than searching and obtaining the set again and again.
            //Still have to search for each class' subclasses, as that changes depending on the class.
            ReadModelMapper <Subclass, SubclassesListModel> subclassMapper = new ReadModelMapper <Subclass, SubclassesListModel>();
            List <Subclass>            foundSubclasses = _userAccess.GetAllSubclassesForClass(ccsc.Class_id).ToList();
            List <SubclassesListModel> sclm            = new List <SubclassesListModel>();

            foreach (Subclass x in foundSubclasses)
            {
                SubclassesListModel lm = subclassMapper.mapDataModelToViewModel(x);
                sclm.Add(lm);
            }

            ClassRowCM cm = new ClassRowCM
            {
                Index            = Index,
                playableClasses  = CLM,
                SelectedClass_id = ccsc.Class_id,

                Level            = ccsc.ClassLevel,
                RemainingHitDice = ccsc.RemainingHitDice,

                subclasses          = sclm.ToArray(),
                SelectedSubclass_id = ccsc.Subclass_id
            };

            return(cm);
        }
Exemplo n.º 4
0
        public static ClassesCM GetNonNullClassesCM()
        {
            List <ClassesListModel> classes = new List <ClassesListModel>();

            foreach (PlayableClass pc in GetPlayableClasses())
            {
                ClassesListModel clm = new ClassesListModel
                {
                    Class_id = pc.Class_id,
                    Name     = pc.Name
                };
                classes.Add(clm);
            }

            ClassRowCM classRowCM = new ClassRowCM
            {
                playableClasses = classes.ToArray(),
                Index           = 1
            };

            ClassRowCM[] classesArray = new ClassRowCM[1];
            classesArray[0] = classRowCM;

            ClassesCM classesCM = new ClassesCM
            {
                SelectedClasses = classesArray
            };

            return(classesCM);
        }
Exemplo n.º 5
0
        //Subclasses are not set in here, as that is planned to be handled dynamically by javascript getting only subclasses for the class.
        public ClassRowCM buildNewClassRowCM(int Index)
        {
            ReadModelMapper <PlayableClass, ClassesListModel> mapper = new ReadModelMapper <PlayableClass, ClassesListModel>();
            List <PlayableClass>    foundClasses = _userAccess.GetAllPlayableClasses().ToList();
            List <ClassesListModel> clm          = new List <ClassesListModel>();

            foreach (PlayableClass x in foundClasses)
            {
                ClassesListModel lm = mapper.mapDataModelToViewModel(x);
                clm.Add(lm);
            }

            ClassRowCM cm = new ClassRowCM
            {
                Index            = Index,
                Level            = 1,
                RemainingHitDice = 1,
                playableClasses  = clm.ToArray()
            };

            return(cm);
        }
Exemplo n.º 6
0
        public void CMBuilder_buildKnownClassRowCM()
        {
            //Arrange
            var Wizard_id        = Guid.Parse("4e82620a-0496-4ecc-b6d4-05faa064310b");
            var Caleb_id         = Guid.Parse("361bd911-0702-437f-ab59-a29da0f9fba4");
            var Transmutation_id = Guid.Parse("c8d2e23a-a193-4e06-8814-9180d4830732");

            List <PlayableClass>    playableClasses = CreateTestData.GetPlayableClasses();
            List <ClassesListModel> ClassesLM       = new List <ClassesListModel>();

            foreach (PlayableClass playableClass in playableClasses)
            {
                ReadModelMapper <PlayableClass, ClassesListModel> mapper = new ReadModelMapper <PlayableClass, ClassesListModel>();
                ClassesListModel lm = mapper.mapDataModelToViewModel(playableClass);
                ClassesLM.Add(lm);
            }

            List <Subclass>            playableSubclasses = CreateTestData.GetListOfSubclass();
            List <SubclassesListModel> SubclassesLM       = new List <SubclassesListModel>();

            foreach (Subclass subclass in playableSubclasses.Where(x => x.Class_id == Wizard_id))
            {
                ReadModelMapper <Subclass, SubclassesListModel> mapper = new ReadModelMapper <Subclass, SubclassesListModel>();
                SubclassesListModel lm = mapper.mapDataModelToViewModel(subclass);
                SubclassesLM.Add(lm);
            }

            Character_Class_Subclass Caleb_Wizard_Transmutation = new Character_Class_Subclass
            {
                Character_id     = Guid.Parse("361bd911-0702-437f-ab59-a29da0f9fba4"),
                Class_id         = Guid.Parse("4e82620a-0496-4ecc-b6d4-05faa064310b"),
                Subclass_id      = Guid.Parse("c8d2e23a-a193-4e06-8814-9180d4830732"),
                RemainingHitDice = 12,
                ClassLevel       = 12
            };

            ClassRowCM expected = new ClassRowCM
            {
                Index            = 1,
                playableClasses  = ClassesLM.ToArray(),
                SelectedClass_id = Wizard_id,

                Level            = 12,
                RemainingHitDice = 12,

                subclasses          = SubclassesLM.ToArray(),
                SelectedSubclass_id = Transmutation_id
            };

            using (var mockAccess = AutoMock.GetLoose())
            {
                mockAccess.Mock <IBaseUserAccess>()
                .Setup(x => x.GetKnownClassRecordOfCharaterAndClass(Caleb_id, Wizard_id))
                .Returns(Caleb_Wizard_Transmutation);
                mockAccess.Mock <IBaseUserAccess>()
                .Setup(x => x.GetAllSubclassesForClass(Wizard_id))
                .Returns(playableSubclasses.Where(x => x.Class_id == Wizard_id));

                IBaseUserAccess access = mockAccess.Create <IBaseUserAccess>();
                //Act
                ICharacterCMBuilder toTest = ProcessorFactory.GetCharacterCMBuilder(access);
                var actual = toTest.buildKnownClassRowCM(1, Caleb_Wizard_Transmutation, ClassesLM.ToArray());

                //Assert
                actual.Should().BeEquivalentTo(expected);
            }
        }