public void testBuildGameDataThreeDivisonsFourPicksWithLoss()
        {
            //Custom input for a game
            GameSetupModel gs = new GameSetupModel();

            gs.maxPermutations = 1000;
            gs.totalPicks      = 4;

            PrizeLevel pl1 = new PrizeLevel();

            pl1.isInstantWin   = false;
            pl1.numCollections = 3;
            pl1.prizeValue     = 100;

            PrizeLevel pl2 = new PrizeLevel();

            pl2.isInstantWin   = false;
            pl2.numCollections = 2;
            pl2.prizeValue     = 50;

            PrizeLevel pl3 = new PrizeLevel();

            pl3.isInstantWin   = false;
            pl3.numCollections = 2;
            pl3.prizeValue     = 25;

            PrizeLevels pls = new PrizeLevels();

            pls.addPrizeLevel(pl1);
            pls.addPrizeLevel(pl2);
            pls.addPrizeLevel(pl3);

            DivisionModel dm1 = new DivisionModel();

            dm1.addPrizeLevel(pl1);

            DivisionModel dm2 = new DivisionModel();

            dm2.addPrizeLevel(pl2);

            DivisionModel dm3 = new DivisionModel();

            dm3.addPrizeLevel(pl2);
            dm3.addPrizeLevel(pl3);

            DivisionModel dm4 = new DivisionModel();

            DivisionsModel dms = new DivisionsModel();

            dms.addDivision(dm1);
            dms.addDivision(dm2);
            dms.addDivision(dm3);
            dms.addDivision(dm4);

            //File Generator
            FileGenerationService fgs = new FileGenerationService();

            fgs.buildGameData(dms, pls, gs, "testBuildGameDataThreeDivisonsFourPicksWithLoss");
        }
Beispiel #2
0
        public void Test_Prize_Level_Assignment()
        {
            PrizeLevel pl1 = new PrizeLevel();

            pl1.prizeLevel = 10;

            Assert.IsTrue(pl1.prizeLevel == 10);
        }
Beispiel #3
0
        public void Test_Prize_Comparison_Null()
        {
            PrizeLevel pl1 = new PrizeLevel();

            pl1.prizeValue = 100;

            Assert.IsTrue(pl1.CompareTo(null) > 0);
        }
Beispiel #4
0
        public void Test_Prize_Win_Assignment()
        {
            PrizeLevel pl1 = new PrizeLevel();

            pl1.isInstantWin = true;

            Assert.IsTrue(pl1.isInstantWin);
        }
Beispiel #5
0
        public void Test_Prize_Value_Assignment()
        {
            PrizeLevel pl1 = new PrizeLevel();

            pl1.prizeValue = 100;

            Assert.IsTrue(pl1.prizeValue == 100);
        }
Beispiel #6
0
        public void Test_Prize_Collection_Assignment()
        {
            PrizeLevel pl1 = new PrizeLevel();

            pl1.numCollections = 5;

            Assert.IsTrue(pl1.numCollections == 5);
        }
Beispiel #7
0
        public void Test_Prize_Comparison()
        {
            PrizeLevel pl1 = new PrizeLevel();
            PrizeLevel pl2 = new PrizeLevel();

            pl1.prizeValue = 50;
            pl2.prizeValue = 100;

            Assert.IsTrue(pl1.CompareTo(pl2) < 0);
        }
Beispiel #8
0
        public void Test_Invalid_Level_Prize_Level()
        {
            PrizeLevels pls = new PrizeLevels();

            PrizeLevel pl1 = new PrizeLevel();

            pls.addPrizeLevel(pl1);

            Assert.IsTrue(pls.getLevelOfPrize(null) == -1);
        }
Beispiel #9
0
        public void Test_Invalid_Add_At_Prize_Level()
        {
            PrizeLevels pls = new PrizeLevels();
            PrizeLevel  pl1 = new PrizeLevel();

            pls.addPrizeLevelAt(null, 0);
            pls.addPrizeLevelAt(pl1, 40);

            Assert.IsTrue(pls.getNumPrizeLevels() == 0);
        }
Beispiel #10
0
        public void Test_Add_Get_Prize_Level()
        {
            PrizeLevels pls = new PrizeLevels();

            PrizeLevel pl1 = new PrizeLevel();

            pls.addPrizeLevel(pl1);

            Assert.IsTrue(pl1.Equals(pls.getPrizeLevel(0)));
        }
Beispiel #11
0
 public override bool Equals(object obj)
 {
     if (obj as DivisionModel != null)
     {
         bool samePrizeLevel = PrizeLevel.Equals((obj as DivisionModel).PrizeLevel);
         bool sameMultiplier = Multiplier == (obj as DivisionModel).Multiplier;
         return(samePrizeLevel && sameMultiplier);
     }
     return(false);
 }
Beispiel #12
0
        public void testGetPrizeLevelsAtDivision()
        {
            DivisionModel dm = new DivisionModel();

            for (int i = 0; i < testAmount; i++)
            {
                PrizeLevel pl = new PrizeLevel();
                pl.prizeValue = 100.0f + i;
                dm.addPrizeLevel(pl);
                Assert.IsTrue(dm.getPrizeLevelsAtDivision().Count == i + 1, "incorrect amount of prizes");
            }
        }
Beispiel #13
0
        public void Test_Remove_Count_Prize_Level()
        {
            PrizeLevels pls = new PrizeLevels();

            PrizeLevel pl1 = new PrizeLevel();

            pls.addPrizeLevel(pl1);

            pls.removePrizeLevel(0);

            Assert.IsTrue(pls.getNumPrizeLevels() == 0);
        }
Beispiel #14
0
        public void Test_Add_At_Prize_Level()
        {
            PrizeLevels pls = new PrizeLevels();

            PrizeLevel pl1 = new PrizeLevel();
            PrizeLevel pl2 = new PrizeLevel();

            pls.addPrizeLevel(pl1);
            pls.addPrizeLevelAt(pl2, 0);

            Assert.IsTrue(pls.getLevelOfPrize(pl2) == 0);
        }
Beispiel #15
0
        public void testGetPrizeLevel()
        {
            DivisionModel dm = new DivisionModel();

            for (int i = 0; i < testAmount; i++)
            {
                PrizeLevel pl = new PrizeLevel();
                pl.prizeValue = 100 + i;
                dm.addPrizeLevel(pl);
                Assert.IsTrue(dm.getPrizeLevel(i) != null, "PrizeLevel not added to Division.");
                Assert.IsTrue(dm.getPrizeLevel(i).prizeValue == 100 + i, "PrizeLevel not correct value.");
            }
        }
Beispiel #16
0
        public void testGetDivisionValue()
        {
            DivisionModel dm         = new DivisionModel();
            double        prizeLevel = 0.0f;

            for (int i = 0; i < testAmount; i++)
            {
                PrizeLevel pl = new PrizeLevel();
                pl.prizeValue = 100 + i;
                prizeLevel   += pl.prizeValue;
                dm.addPrizeLevel(pl);
                Assert.IsTrue(dm.getPrizeLevel(i) != null, "PrizeLevel not added to Division.");
                Assert.IsTrue(dm.calculateDivisionValue() == prizeLevel, "PrizeLevel not correct value.");
            }
        }
        public void testBuildGameDataMaxDivison()
        {
            GameSetupModel gs = new GameSetupModel();

            gs.maxPermutations = 300000;
            gs.totalPicks      = 20;

            int numPrizeLevels = 12;

            PrizeLevel[] prizes = new PrizeLevel[numPrizeLevels];
            PrizeLevels  pls    = new PrizeLevels();

            for (int i = 0; i < numPrizeLevels; i++)
            {
                prizes[i] = new PrizeLevel();
                prizes[i].isInstantWin   = false;
                prizes[i].numCollections = i + 1;
                prizes[i].prizeValue     = 100 * i;
                pls.addPrizeLevel(prizes[i]);
            }

            int numberOfDivions = 30;

            DivisionModel[] divisions = new DivisionModel[numberOfDivions];
            DivisionsModel  dms       = new DivisionsModel();
            Random          rand      = new Random();

            for (int i = 0; i < numberOfDivions; i++)
            {
                divisions[i] = new DivisionModel();
                divisions[i].addPrizeLevel(prizes[rand.Next(0, 12)]);
                dms.addDivision(divisions[i]);
            }

            FileGenerationService fgs = new FileGenerationService();

            fgs.buildGameData(dms, pls, gs, "T:\\Work\\JunkOut\\MaxTest.txt");
        }
Beispiel #18
0
 /// <summary>
 /// For divisions, this adds a prize level to the list of selected prize levels
 /// The list represents the prize levels selected within the division
 /// </summary>
 /// <param name="prizeLevelToAdd"></param>
 public void addPrizeLevel(PrizeLevel prizeLevelToAdd)
 {
     selectedPrizes.Add(prizeLevelToAdd);
     selectedPrizes.Sort();
 }
Beispiel #19
0
        public static void Send(string mailKey, string text, string player = null, int whichBG = 0, int TextColor = -1, PrizeLevel prize = null)
        {
            var serializeKey = $"Mail/{mailKey}";

            MarketDay.SetSharedValue($"{serializeKey}/Key", mailKey);
            MarketDay.SetSharedValue($"{serializeKey}/Text", text);
            MarketDay.SetSharedValue($"{serializeKey}/TextColor", TextColor);
            MarketDay.SetSharedValue($"{serializeKey}/BG", whichBG);
            if (player is not null)
            {
                MarketDay.SetSharedValue($"{serializeKey}/Player", player);
            }
            if (prize is not null)
            {
                MarketDay.SetSharedValue($"{serializeKey}/ObjName", prize.Object);
                MarketDay.SetSharedValue($"{serializeKey}/Flavor", prize.Flavor);
                MarketDay.SetSharedValue($"{serializeKey}/Stack", prize.Stack);
                MarketDay.SetSharedValue($"{serializeKey}/Quality", prize.Quality);
            }

            LoadOneMail(mailKey);
        }
        public void testBuildGameDataFiveDivisionsNinePicksWithFailDivision()
        {
            GameSetupModel gs = new GameSetupModel();

            gs.maxPermutations = 1000;
            gs.totalPicks      = 9;

            PrizeLevel pl1 = new PrizeLevel();

            pl1.isInstantWin   = false;
            pl1.numCollections = 5;
            pl1.prizeValue     = 100;

            PrizeLevel pl2 = new PrizeLevel();

            pl2.isInstantWin   = false;
            pl2.numCollections = 4;
            pl2.prizeValue     = 50;

            PrizeLevel pl3 = new PrizeLevel();

            pl3.isInstantWin   = false;
            pl3.numCollections = 4;
            pl3.prizeValue     = 25;

            PrizeLevel pl4 = new PrizeLevel();

            pl4.isInstantWin   = false;
            pl4.numCollections = 3;
            pl4.prizeValue     = 10;

            PrizeLevel pl5 = new PrizeLevel();

            pl5.isInstantWin   = false;
            pl5.numCollections = 3;
            pl5.prizeValue     = 5;

            PrizeLevels pls = new PrizeLevels();

            pls.addPrizeLevel(pl1);
            pls.addPrizeLevel(pl2);
            pls.addPrizeLevel(pl3);
            pls.addPrizeLevel(pl4);
            pls.addPrizeLevel(pl5);


            DivisionModel dm1 = new DivisionModel();

            dm1.addPrizeLevel(pl1);

            DivisionModel dm2 = new DivisionModel();

            dm2.addPrizeLevel(pl1);
            dm2.addPrizeLevel(pl2);

            DivisionModel dm3 = new DivisionModel();

            dm3.addPrizeLevel(pl1);
            dm3.addPrizeLevel(pl3);

            DivisionModel dm4 = new DivisionModel();

            dm4.addPrizeLevel(pl2);
            dm4.addPrizeLevel(pl3);

            DivisionModel dm5 = new DivisionModel();

            dm5.addPrizeLevel(pl4);
            dm5.addPrizeLevel(pl5);

            DivisionModel dm6 = new DivisionModel();

            DivisionsModel dms = new DivisionsModel();

            dms.addDivision(dm1);
            dms.addDivision(dm2);
            dms.addDivision(dm3);
            dms.addDivision(dm4);
            dms.addDivision(dm5);
            dms.addDivision(dm6);

            FileGenerationService fgs = new FileGenerationService();

            fgs.buildGameData(dms, pls, gs, "testBuildGameDataFiveDivisionsNinePicksWithFail");
        }
        public void testBuildGameDataFourDivisionsSixPicks()
        {
            GameSetupModel gs = new GameSetupModel();

            gs.maxPermutations = 1000;
            gs.totalPicks      = 6;

            PrizeLevel pl1 = new PrizeLevel();

            pl1.isInstantWin   = false;
            pl1.numCollections = 3;
            pl1.prizeValue     = 100;

            PrizeLevel pl2 = new PrizeLevel();

            pl2.isInstantWin   = false;
            pl2.numCollections = 3;
            pl2.prizeValue     = 50;

            PrizeLevel pl3 = new PrizeLevel();

            pl3.isInstantWin   = false;
            pl3.numCollections = 3;
            pl3.prizeValue     = 25;

            PrizeLevels pls = new PrizeLevels();

            pls.addPrizeLevel(pl1);
            pls.addPrizeLevel(pl2);
            pls.addPrizeLevel(pl3);

            DivisionModel dm1 = new DivisionModel();

            dm1.addPrizeLevel(pl1);
            dm1.addPrizeLevel(pl2);

            DivisionModel dm2 = new DivisionModel();

            dm2.addPrizeLevel(pl2);
            dm2.addPrizeLevel(pl3);

            DivisionModel dm3 = new DivisionModel();

            dm3.addPrizeLevel(pl1);
            dm3.addPrizeLevel(pl3);

            DivisionModel dm4 = new DivisionModel();

            dm4.addPrizeLevel(pl2);

            DivisionsModel dms = new DivisionsModel();

            dms.addDivision(dm1);
            dms.addDivision(dm2);
            dms.addDivision(dm3);
            dms.addDivision(dm4);

            FileGenerationService fgs = new FileGenerationService();

            fgs.buildGameData(dms, pls, gs, "testBuildGameDataFourDivisionsSixPicks");
        }
        public void testBuildGameDataFourDivisonsFivePicks()
        {
            //Custom input for a game
            GameSetupModel gs = new GameSetupModel();

            gs.maxPermutations = 1000;
            gs.totalPicks      = 5;
            gs.isNearWin       = true;
            gs.nearWins        = 2;

            PrizeLevel pl1 = new PrizeLevel();

            pl1.isInstantWin   = false;
            pl1.numCollections = 3;
            pl1.prizeValue     = 100;

            PrizeLevel pl2 = new PrizeLevel();

            pl2.isInstantWin   = false;
            pl2.numCollections = 2;
            pl2.prizeValue     = 50;

            PrizeLevel pl3 = new PrizeLevel();

            pl3.isInstantWin   = false;
            pl3.numCollections = 2;
            pl3.prizeValue     = 25;

            PrizeLevel pl4 = new PrizeLevel();

            pl4.isInstantWin   = false;
            pl4.numCollections = 4;
            pl4.prizeValue     = 10000;

            PrizeLevel pl5 = new PrizeLevel();

            pl5.isInstantWin   = false;
            pl5.numCollections = 3;
            pl5.prizeValue     = 1000;

            PrizeLevels pls = new PrizeLevels();

            pls.addPrizeLevel(pl1);
            pls.addPrizeLevel(pl2);
            pls.addPrizeLevel(pl3);
            pls.addPrizeLevel(pl4);
            pls.addPrizeLevel(pl5);

            DivisionModel dm1 = new DivisionModel();

            dm1.addPrizeLevel(pl1);

            DivisionModel dm2 = new DivisionModel();

            dm2.addPrizeLevel(pl2);

            DivisionModel dm3 = new DivisionModel();

            dm3.addPrizeLevel(pl2);
            dm3.addPrizeLevel(pl3);

            DivisionModel dm4 = new DivisionModel();

            dm4.addPrizeLevel(pl5);

            DivisionModel dm5 = new DivisionModel();

            dm5.addPrizeLevel(pl5);
            dm5.addPrizeLevel(pl2);

            DivisionsModel dms = new DivisionsModel();

            dms.addDivision(dm1);
            dms.addDivision(dm2);
            dms.addDivision(dm3);
            dms.addDivision(dm4);
            dms.addDivision(dm5);

            //File Generator
            FileGenerationService fgs = new FileGenerationService();

            fgs.buildGameData(dms, pls, gs, "T:\\Work\\JunkOut\\testBuildGameDataFourDivisonsFivePicks.txt");
        }
Beispiel #23
0
 /// <summary>
 /// Removes a prize level based on the prize level object passed in
 /// </summary>
 /// <param name="prizeLevelToRemove"></param>
 public void removePrizeLevel(PrizeLevel prizeLevelToRemove)
 {
     selectedPrizes.Remove(prizeLevelToRemove);
     selectedPrizes.Sort();
 }