示例#1
0
        /// <summary>
        /// Initializes a custom instance of the MutexViewModel class.
        /// </summary>
        /// <param name="parentControl"></param>
        public MutexViewModel(RankingsControlViewModel parentControl)
        {
            // Validate arguments.
            if (parentControl == null)
            {
                throw new ArgumentNullException("parentControl");
            }

            // Assign argument values to member fields.
            _parentControl = parentControl;
        }
        private void RefreshControls()
        {
            if (TeamSeasonsControlViewModel is null ||
                SeasonStandingsControlViewModel is null ||
                RankingsControlViewModel is null)
            {
                return;
            }

            TeamSeasonsControlViewModel.Refresh();
            SeasonStandingsControlViewModel.Refresh();
            RankingsControlViewModel.Refresh();
        }
        public void DefensiveRankingsSetter_WhenValueIsNull_ShouldThrowArgumentNullException()
        {
            // Arrange
            var teamSeasonRepository = A.Fake <ITeamSeasonRepository>();
            var testObject           = new RankingsControlViewModel(teamSeasonRepository);

            // Act
            Func <ReadOnlyCollection <TeamSeason> > func = () => testObject.DefensiveRankings = null !;

            // Assert
            var ex = func.ShouldThrow <ArgumentNullException>();

            ex.ParamName.ShouldBe <string>($"{testObject.GetType()}.{nameof(testObject.DefensiveRankings)}");
        }
        public void DefensiveRankingsSetter_WhenValueDoesNotEqualDefensiveRankings_ShouldAssignValueToDefensiveRankings()
        {
            // Arrange
            var teamSeasonRepository = A.Fake <ITeamSeasonRepository>();
            var testObject           = new RankingsControlViewModel(teamSeasonRepository);

            // Act
            var teamSeasons = new ReadOnlyCollection <TeamSeason>(new List <TeamSeason>());
            Func <ReadOnlyCollection <TeamSeason> > func = () => testObject.DefensiveRankings = teamSeasons;

            // Assert
            func.ShouldNotThrow();
            testObject.DefensiveRankings.ShouldBeOfType <ReadOnlyCollection <TeamSeason> >();
            testObject.DefensiveRankings.ShouldBe(teamSeasons);
        }
示例#5
0
        //[TestCase]
        public void TestCase1()
        {
            // Arrange
            var viewModel = new RankingsControlViewModel(_sharedService, _controlService);

            // TODO: Define argument variables of method under test.

            // TODO: Set up needed infrastructure of class under test.

            // Act
            // TODO: Call method under test.

            // Assert
            // TODO: Assert results of call to method under test.
        }
示例#6
0
        public void ViewRankingsCommand_ExceptionCaught_ShowsExceptionMessage()
        {
            // Arrange
            var viewModel = new RankingsControlViewModel(_sharedService, _controlService);

            // Set up needed infrastructure of class under test.
            var ex = new Exception();

            A.CallTo(() => _controlService.GetRankingsTotalBySeason(A <int> .Ignored)).Throws(ex);

            // Act
            viewModel.ViewRankingsCommand.Execute(null);

            // Assert
            A.CallTo(() => _sharedService.ShowExceptionMessage(ex, "Exception")).MustHaveHappenedOnceExactly();
        }
示例#7
0
        public void ViewRankingsCommand_HappyPath()
        {
            // Arrange
            var viewModel = new RankingsControlViewModel(_sharedService, _controlService);

            // Set up needed infrastructure of class under test.
            var seasonID = (int)WpfGlobals.SelectedSeason;

            // Act
            viewModel.ViewRankingsCommand.Execute(null);

            // Assert
            A.CallTo(() => _controlService.GetRankingsTotalBySeason(seasonID)).MustHaveHappenedOnceExactly();
            Assert.IsInstanceOf <ReadOnlyCollection <GetRankingsTotal_Result> >(viewModel.TotalRankings);

            A.CallTo(() => _controlService.GetRankingsOffensiveBySeason(seasonID)).MustHaveHappenedOnceExactly();
            Assert.IsInstanceOf <ReadOnlyCollection <GetRankingsOffensive_Result> >(viewModel.OffensiveRankings);

            A.CallTo(() => _controlService.GetRankingsDefensiveBySeason(seasonID)).MustHaveHappenedOnceExactly();
            Assert.IsInstanceOf <ReadOnlyCollection <GetRankingsDefensive_Result> >(viewModel.DefensiveRankings);
        }
        public void Refresh_ShouldLoadRankings()
        {
            // Arrange
            var teamSeasonRepository = A.Fake <ITeamSeasonRepository>();
            var testObject           = new RankingsControlViewModel(teamSeasonRepository);

            var teamSeasons = new List <TeamSeason>();

            A.CallTo(() => teamSeasonRepository.GetTeamSeasonsBySeason(A <int> .Ignored)).Returns(teamSeasons);

            // Act
            testObject.ViewRankingsCommand.Execute(null !);

            // Assert
            A.CallTo(() => teamSeasonRepository.GetTeamSeasonsBySeason(WpfGlobals.SelectedSeason))
            .MustHaveHappenedOnceExactly();
            testObject.TotalRankings.ShouldBeOfType <ReadOnlyCollection <TeamSeason> >();
            testObject.TotalRankings.ShouldBe(teamSeasons);
            testObject.OffensiveRankings.ShouldBeOfType <ReadOnlyCollection <TeamSeason> >();
            testObject.OffensiveRankings.ShouldBe(teamSeasons);
            testObject.DefensiveRankings.ShouldBeOfType <ReadOnlyCollection <TeamSeason> >();
            testObject.DefensiveRankings.ShouldBe(teamSeasons);
        }