예제 #1
0
        /*
         * Tests the GetTotal<Category>Credit method. Called by specific test cases above
         */
        private void CanGetTotalCredit(Advancement.Category category, int[] credits, int expectedTotal)
        {
            ActiveCiv testCiv = new ActiveCiv
            {
                //Convert the array of credits into a collection of mocked advancements
                OwnedAdvancements = PrepareMockOwnedAdvancements(credits, category)
            };

            int actualTotal = -1;

            switch (category)
            {
            case Advancement.Category.Art:
                actualTotal = testCiv.GetTotalArtCredit();
                break;

            case Advancement.Category.Civic:
                actualTotal = testCiv.GetTotalCivicCredit();
                break;

            case Advancement.Category.Craft:
                actualTotal = testCiv.GetTotalCraftCredit();
                break;

            case Advancement.Category.Religion:
                actualTotal = testCiv.GetTotalReligionCredit();
                break;

            case Advancement.Category.Science:
                actualTotal = testCiv.GetTotalScienceCredit();
                break;
            }

            Assert.Equal(expectedTotal, actualTotal);
        }
예제 #2
0
        private int GetTotalCredit(Advancement.Category category)
        {
            int totalCredit = 0;

            //TODO: swap loop out for a proper map/reduce construct
            foreach (OwnedAdvancement ownedAdvancement in OwnedAdvancements)
            {
                switch (category)
                {
                case Advancement.Category.Art:
                    totalCredit += ownedAdvancement.Advancement.CreditArt;
                    break;

                case Advancement.Category.Civic:
                    totalCredit += ownedAdvancement.Advancement.CreditCivic;
                    break;

                case Advancement.Category.Craft:
                    totalCredit += ownedAdvancement.Advancement.CreditCraft;
                    break;

                case Advancement.Category.Religion:
                    totalCredit += ownedAdvancement.Advancement.CreditReligion;
                    break;

                case Advancement.Category.Science:
                    totalCredit += ownedAdvancement.Advancement.CreditScience;
                    break;
                }
            }

            return(totalCredit);
        }
예제 #3
0
        /*
         * Generates a collection of owned advancements with the specified credit values and credit category
         */
        private ICollection <OwnedAdvancement> PrepareMockOwnedAdvancements(int[] credits, Advancement.Category category)
        {
            ICollection <OwnedAdvancement> ownedAdvancements = new Collection <OwnedAdvancement>();

            foreach (int credit in credits)
            {
                //TODO: swap these to mocked versions
                Advancement advancement = new Advancement();
                switch (category)
                {
                case Advancement.Category.Art:
                    advancement.CreditArt = credit;
                    break;

                case Advancement.Category.Civic:
                    advancement.CreditCivic = credit;
                    break;

                case Advancement.Category.Craft:
                    advancement.CreditCraft = credit;
                    break;

                case Advancement.Category.Religion:
                    advancement.CreditReligion = credit;
                    break;

                case Advancement.Category.Science:
                    advancement.CreditScience = credit;
                    break;
                }

                ownedAdvancements.Add(
                    new OwnedAdvancement
                {
                    Advancement = advancement
                }
                    );
            }

            return(ownedAdvancements);
        }