public void Test_Invalid_Level_Prize_Level() { PrizeLevels pls = new PrizeLevels(); PrizeLevel pl1 = new PrizeLevel(); pls.addPrizeLevel(pl1); Assert.IsTrue(pls.getLevelOfPrize(null) == -1); }
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); }
/// <summary> /// Gets the needed picks to win all prize levels of a given division /// </summary> /// <param name="division">The division is the division containing the winning prize levels</param> /// <param name="prizeLevels">All prize levels in the game used to get the index of the prize level</param> /// <returns>Returns a list of ints containing the needed picks to win a division</returns> private List<int> getNeededPicksForDivision( bool useInstantWin, Divisions.DivisionModel division, PrizeLevels.PrizeLevels prizeLevels) { List<int> neededPicks = new List<int>(); List<PrizeLevels.PrizeLevel> pls = division.getPrizeLevelsAtDivision(); foreach (PrizeLevels.PrizeLevel pl in pls) { int numberToCollect = pl.numCollections; int indexInPrizeLevels = prizeLevels.getLevelOfPrize(pl) + 1; if ((pl.isInstantWin || pl.numCollections == 0) && useInstantWin) { numberToCollect = 1; neededPicks.Add(-indexInPrizeLevels); } else { numberToCollect = pl.numCollections; for (int i = 0; i < numberToCollect; i++) { neededPicks.Add(indexInPrizeLevels); } } } return neededPicks; }
/// <summary> /// Builds the header information for the file /// </summary> /// <param name="prizes">All prize informaiton</param> /// <param name="divisions">All division information</param> /// <returns>Returns a list of string representing each line of the header</returns> private List<string> buildHeader(PrizeLevels.PrizeLevels prizes, Divisions.DivisionsModel divisions) { List<string> headerLines = new List<string>(); headerLines.Add("The first number is the division indicator."); headerLines.Add("Prize level indicators and values:"); int prizeLevel = 1; StringBuilder sb; foreach (PrizeLevels.PrizeLevel p in prizes.prizeLevels) { sb = new StringBuilder(); sb.Append("Prize Level Character: " + charFromInt(prizes.getLevelOfPrize(p) + 1)); sb.Append(" Value: " + p.prizeValue); headerLines.Add(sb.ToString()); } headerLines.Add("Division level indicators and values:"); foreach (Divisions.DivisionModel div in divisions.divisions) { sb = new StringBuilder(); sb.Append("Division Number: " + prizeLevel++); sb.Append(" Value: " + div.TotalPrizeValue); sb.Append(" Prize Levels at Division: "); foreach (PrizeLevels.PrizeLevel p in div.getPrizeLevelsAtDivision()) { sb.Append(charFromInt(prizes.getLevelOfPrize(p) + 1)); } headerLines.Add(sb.ToString()); } sb = new StringBuilder(); sb.Append("Division Level Number: " + prizeLevel++); sb.Append(" Value: " + 0); headerLines.Add(sb.ToString()); return headerLines; }