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 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);
        }