public void TestIsGroupFalseAndUnitsCountIsZero()
        {
            var viewModel = new MonsterDetailsViewModel();

            viewModel.IsGroup.Should().BeFalse();
            viewModel.UnitsCount.Should().Be(0);
        }
 public void TestHasAdvancedCounters(MonsterDetailsViewModel viewModel, bool hasRegularCounters,
                                     bool hasGroupCounters, bool hasCowardOrBerserkCounters)
 {
     viewModel.HasRegularCounters.Should().Be(hasRegularCounters);
     viewModel.IsGroup.Should().Be(hasGroupCounters);
     viewModel.IsBerserkOrCoward.Should().Be(hasCowardOrBerserkCounters);
 }
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            int id = (int)e.Parameter;

            DataContext = new MonsterDetailsViewModel(id);
            base.OnNavigatedTo(e);
        }
        public void TestDisadvantage()
        {
            var viewModel = new MonsterDetailsViewModel
            {
                Level           = StartLevel,
                HasAdvantage    = true,
                HasDisadvantage = true
            };


            viewModel.HasAdvantage.Should().BeFalse();
            viewModel.Level.Should().Be(StartLevel - 1);
        }
        public void TestDefaultModifiers(int baseLevel, int expectedBravery, int expectedStamina)
        {
            var viewModel = new MonsterDetailsViewModel(
                "testVM",
                baseLevel,
                new List <FeatureBase>()
            {
                new TestFeature(), new TestFeature()
            }
                );

            viewModel.Bravery.Should().Be(expectedBravery);
            viewModel.Stamina.Should().Be(expectedStamina);
        }
        private static IEnumerable <TestCaseData> AdvancedCountersTestCaseSource()
        {
            var defaultVm = new MonsterDetailsViewModel("testVM", 1, new FeatureBase[0]);
            var berserkVm = new MonsterDetailsViewModel("testVM", 1, new[] { new BerserkFeature() });
            var cowardVm  = new MonsterDetailsViewModel("testVM", 1, new[] { new CowardFeature() });
            var groupVm   = new MonsterDetailsViewModel("testVM", 1, new[] { new GroupFeature() });

            yield return(new TestCaseData(defaultVm, true, false, false));

            yield return(new TestCaseData(berserkVm, false, false, true));

            yield return(new TestCaseData(cowardVm, false, false, true));

            yield return(new TestCaseData(groupVm, false, true, false));
        }
        public void TestIsGroupTrueAndUnitsCountEqualsGroupCount()
        {
            const int groupCount = 55;
            var       viewModel  = new MonsterDetailsViewModel(
                "testVM",
                1,
                new[] { new GroupFeature()
                        {
                            Count = groupCount
                        } }
                );

            viewModel.IsGroup.Should().BeTrue();
            viewModel.UnitsCount.Should().Be(groupCount);
        }
 protected override void OnNavigatedTo(NavigationEventArgs e)
 {
     DataContext = new MonsterDetailsViewModel((int)e.Parameter);
     base.OnNavigatedTo(e);
 }