public void DoneClickedTest001_CheckIfAllRewardsHaveSameDate() { RewardSetViewModel model = new RewardSetViewModel(); DateTime date = DateTime.Now; //set up few with differnt dates model.Rewards.Add(new Reward() { Comment = "test", Date = date.AddMinutes(-1) }); model.Rewards.Add(new Reward() { Comment = "test", Date = date.AddDays(-10) }); model.Rewards.Add(new Reward() { Comment = "test" }); model.DoneClicked(null); Assert.AreEqual(Tracker.Instance.Rewards[0].Date, Tracker.Instance.Rewards[1].Date); Assert.AreEqual(Tracker.Instance.Rewards[0].Date, Tracker.Instance.Rewards[2].Date); }
public void RewardSetViewModel001_Init() { RewardSetViewModel model = new RewardSetViewModel(); Assert.AreEqual(0, model.RewardsAdded.Count); Assert.AreEqual(0, model.RewardsEditor.Count); Assert.IsNull(model.RewardReason); }
public void RewardSetViewModel002_ReasonSelected() { RewardSetViewModel model = new RewardSetViewModel(); ESLTracker.DataModel.Enums.RewardReason reason = ESLTracker.DataModel.Enums.RewardReason.LevelUp; model.RewardReason = reason; Assert.AreEqual(0, model.RewardsAdded.Count); Assert.AreEqual(4, model.RewardsEditor.Count); Assert.AreEqual(reason, model.RewardReason); }
public void AddRewardTest001_CanNonArenaRewardLinkedToDeck() { RewardSetViewModel model = new RewardSetViewModel(); model.RewardReason = RewardReason.LevelUp; model.AddReward(new Reward() { ArenaDeck = new Deck(), Reason = RewardReason.LevelUp }); Assert.IsNull(model.Rewards[0].ArenaDeck); Assert.IsNull(model.Rewards[0].ArenaDeckId); }
public void RewardSetViewModel003_ReasonSelectedAndRewardModified() { RewardSetViewModel model = new RewardSetViewModel(); ESLTracker.DataModel.Enums.RewardReason reason = ESLTracker.DataModel.Enums.RewardReason.LevelUp; model.RewardReason = reason; model.RewardsEditor[1].Reward.Quantity = 1; Assert.AreEqual(1, model.RewardsAdded.Count); Assert.AreEqual(4, model.RewardsEditor.Count); Assert.AreEqual(reason, model.RewardReason); }
public void RewardSetViewModel006_AddedNewLine() { RewardSetViewModel model = new RewardSetViewModel(); RewardReason reason = RewardReason.LevelUp; model.RewardReason = reason; model.RewardsEditor.Where(r => r.Reward.Type == RewardType.Gold).Single().Reward.Quantity = 1; var reward = model.AddNewReward(RewardType.Gold); reward.Quantity = 12; Assert.AreEqual(2, model.RewardsAdded.Count); Assert.AreEqual(5, model.RewardsEditor.Count); Assert.AreEqual(1, model.RewardsAdded.Where(r => r.Quantity == 1).Count()); Assert.AreEqual(1, model.RewardsAdded.Where(r => r.Quantity == 12).Count()); }
public void RewardSetViewModel004_ReasonChanged() { RewardSetViewModel model = new RewardSetViewModel(); ESLTracker.DataModel.Enums.RewardReason reason = ESLTracker.DataModel.Enums.RewardReason.LevelUp; ESLTracker.DataModel.Enums.RewardReason reason2 = ESLTracker.DataModel.Enums.RewardReason.Quest; model.RewardReason = reason; model.RewardsEditor[1].Reward.Quantity = 1; model.RewardReason = reason2; model.RewardsEditor[1].Reward.Quantity = 2; Assert.AreEqual(2, model.RewardsAdded.Count); Assert.AreEqual(4, model.RewardsEditor.Count); Assert.AreEqual(1, model.RewardsAdded.Where(r => r.Quantity == 1).Count()); Assert.AreEqual(1, model.RewardsAdded.Where(r => r.Quantity == 2).Count()); }
public void SetActiveControlTest001_IsSelectionForGuildVisibleOnlyForGoldAndQuest() { //if not present in expected array, assume false. Add only true conditions! Dictionary <RewardReason, Dictionary <RewardType, bool> > expectedVisibilty = new Dictionary <RewardReason, Dictionary <RewardType, bool> >() { { RewardReason.Quest, new Dictionary <RewardType, bool>() { { RewardType.Card, false }, { RewardType.Gold, true }, { RewardType.Pack, false }, { RewardType.SoulGem, false } } } }; foreach (RewardReason reason in Enum.GetValues(typeof(RewardReason))) { foreach (RewardType type in Enum.GetValues(typeof(RewardType))) { //if not present in expected array, assume false bool expected; if (expectedVisibilty.Keys.Contains(reason) && expectedVisibilty[reason].Keys.Contains(type)) { expected = expectedVisibilty[reason][type]; } else { expected = false; } RewardSetViewModel model = new RewardSetViewModel(); model.RewardReason = reason; AddSingleRewardViewModel singleRewardModel = new AddSingleRewardViewModel(); singleRewardModel.Reward.Type = type; model.SetActiveControl(singleRewardModel); Assert.AreEqual(expected, singleRewardModel.GuildSelectionVisible, "RewardReason={0}; RewardType={1}", model.RewardReason, singleRewardModel.Reward.Type); } } }
public void RewardSetViewModel007_AddedTwoNewLines() { RewardSetViewModel model = new RewardSetViewModel(); RewardReason reason = RewardReason.LevelUp; model.RewardReason = reason; model.RewardsEditor.Where(r => r.Reward.Type == RewardType.Pack).Single().Reward.Quantity = 1; var reward = model.AddNewReward(RewardType.Pack); reward.Quantity = 2; reward = model.AddNewReward(RewardType.Pack); var expected = new RewardType[] { RewardType.Gold, RewardType.SoulGem, RewardType.Pack, RewardType.Pack, RewardType.Pack, RewardType.Card }; Assert.AreEqual(2, model.RewardsAdded.Count); Assert.AreEqual(6, model.RewardsEditor.Count); CollectionAssert.AreEqual(expected, model.RewardsEditor.Select(r => r.Reward.Type).ToList()); }
public void AddRewardTest002_ArenaRewardLinkedToDeck() { Mock <ITrackerFactory> trackerFactory = new Mock <ITrackerFactory>(); Mock <ITracker> tracker = new Mock <ITracker>(); trackerFactory.Setup(tf => tf.GetTracker()).Returns(tracker.Object); tracker.Setup(t => t.ActiveDeck).Returns(new Deck(trackerFactory.Object) { Type = DeckType.VersusArena }); RewardSetViewModel model = new RewardSetViewModel(trackerFactory.Object); model.RewardReason = RewardReason.VersusArena; model.AddReward(new Reward() { ArenaDeck = new Deck(), Reason = RewardReason.VersusArena }); Assert.IsNotNull(model.Rewards[0].ArenaDeck); Assert.IsNotNull(model.Rewards[0].ArenaDeckId); }