public void ViewTeamScheduleCommand_ExceptionCaught_ShowsExceptionMessage() { // Arrange // Instantiate class under test. var teamName = "Team"; WpfGlobals.SelectedSeason = 2017; var viewModel = new TeamSeasonsControlViewModel(_sharedService, _controlService) { // Set up needed infrastructure of class under test. SelectedTeam = new TeamSeason { TeamName = teamName, SeasonID = (int)WpfGlobals.SelectedSeason } }; // Set up needed infrastructure of class under test. var ex = new Exception(); A.CallTo(() => _controlService.GetTeamSeasonScheduleProfile(A <string> .Ignored, A <int> .Ignored)).Throws(ex); A.CallTo(() => _sharedService.ShowExceptionMessage(ex, "Exception")).DoesNothing(); // Act viewModel.ViewTeamScheduleCommand.Execute(null); // Assert A.CallTo(() => _sharedService.ShowExceptionMessage(ex, "Exception")).MustHaveHappenedOnceExactly(); }
public void ViewTeamScheduleCommand_WhenSelectedTeamIsNull_ShouldNotLoadTeamSeasonScheduleProfileTotalsAndAverages() { // Arrange var teamSeasonRepository = A.Fake <ITeamSeasonRepository>(); var teamSeasonScheduleRepository = A.Fake <ITeamSeasonScheduleRepository>(); var testObject = new TeamSeasonsControlViewModel(teamSeasonRepository, teamSeasonScheduleRepository); var teamSeasonOpponentProfiles = new List <TeamSeasonOpponentProfile>(); A.CallTo(() => teamSeasonScheduleRepository.GetTeamSeasonScheduleProfile(A <string> .Ignored, A <int> .Ignored)).Returns(teamSeasonOpponentProfiles); var teamSeasonScheduleTotals = new TeamSeasonScheduleTotals(); A.CallTo(() => teamSeasonScheduleRepository.GetTeamSeasonScheduleTotals(A <string> .Ignored, A <int> .Ignored)).Returns(teamSeasonScheduleTotals); var teamSeasonScheduleAverages = new TeamSeasonScheduleAverages(); A.CallTo(() => teamSeasonScheduleRepository.GetTeamSeasonScheduleAverages(A <string> .Ignored, A <int> .Ignored)).Returns(teamSeasonScheduleAverages); // Act testObject.ViewTeamScheduleCommand.Execute(null !); // Assert A.CallTo(() => teamSeasonScheduleRepository.GetTeamSeasonScheduleProfile(A <string> .Ignored, A <int> .Ignored)).MustNotHaveHappened(); A.CallTo(() => teamSeasonScheduleRepository.GetTeamSeasonScheduleTotals(A <string> .Ignored, A <int> .Ignored)).MustNotHaveHappened(); A.CallTo(() => teamSeasonScheduleRepository.GetTeamSeasonScheduleAverages(A <string> .Ignored, A <int> .Ignored)).MustNotHaveHappened(); }
public void SelectedTeamSetter_WhenValueDoesNotEqualSelectedTeam_ShouldAssignValueToSelectedTeam() { // Arrange var teamSeasonRepository = A.Fake <ITeamSeasonRepository>(); var teamSeasonScheduleRepository = A.Fake <ITeamSeasonScheduleRepository>(); var teamSeasonOpponentProfiles = new List <TeamSeasonOpponentProfile>(); A.CallTo(() => teamSeasonScheduleRepository.GetTeamSeasonScheduleProfile(A <string> .Ignored, A <int> .Ignored)).Returns(teamSeasonOpponentProfiles); var teamSeasonScheduleTotals = new TeamSeasonScheduleTotals(); A.CallTo(() => teamSeasonScheduleRepository.GetTeamSeasonScheduleTotals(A <string> .Ignored, A <int> .Ignored)).Returns(teamSeasonScheduleTotals); var teamSeasonScheduleAverages = new TeamSeasonScheduleAverages(); A.CallTo(() => teamSeasonScheduleRepository.GetTeamSeasonScheduleAverages(A <string> .Ignored, A <int> .Ignored)).Returns(teamSeasonScheduleAverages); var testObject = new TeamSeasonsControlViewModel(teamSeasonRepository, teamSeasonScheduleRepository) { SelectedTeam = null }; var teamSeason = new TeamSeason(); // Act testObject.SelectedTeam = teamSeason; // Assert testObject.SelectedTeam.ShouldBe(teamSeason); A.CallTo(() => teamSeasonScheduleRepository.GetTeamSeasonScheduleProfile(A <string> .Ignored, A <int> .Ignored)).MustHaveHappenedOnceExactly(); testObject.TeamSeasonScheduleProfile.ShouldBeOfType <ReadOnlyCollection <TeamSeasonOpponentProfile> >(); testObject.TeamSeasonScheduleProfile.ShouldBe(teamSeasonOpponentProfiles.ToList()); A.CallTo(() => teamSeasonScheduleRepository.GetTeamSeasonScheduleTotals(A <string> .Ignored, A <int> .Ignored)).MustHaveHappenedOnceExactly(); testObject.TeamSeasonScheduleTotals.ShouldBeOfType <ReadOnlyCollection <TeamSeasonScheduleTotals> >(); var teamSeasonScheduleTotalsList = new List <TeamSeasonScheduleTotals> { teamSeasonScheduleTotals }; testObject.TeamSeasonScheduleTotals.ShouldBe(teamSeasonScheduleTotalsList); A.CallTo(() => teamSeasonScheduleRepository.GetTeamSeasonScheduleAverages(A <string> .Ignored, A <int> .Ignored)).MustHaveHappenedOnceExactly(); testObject.TeamSeasonScheduleAverages.ShouldBeOfType <ReadOnlyCollection <TeamSeasonScheduleAverages> >(); var teamSeasonScheduleAveragesList = new List <TeamSeasonScheduleAverages> { teamSeasonScheduleAverages }; testObject.TeamSeasonScheduleAverages.ShouldBe(teamSeasonScheduleAveragesList); }
public void ViewTeamScheduleCommand_WhenSelectedTeamIsNotNull_ShouldLoadTeamSeasonScheduleProfileTotalsAndAverages() { // Arrange var teamSeasonRepository = A.Fake <ITeamSeasonRepository>(); var teamSeasonScheduleRepository = A.Fake <ITeamSeasonScheduleRepository>(); var teamSeasonOpponentProfiles = new List <TeamSeasonOpponentProfile>(); A.CallTo(() => teamSeasonScheduleRepository.GetTeamSeasonScheduleProfile(A <string> .Ignored, A <int> .Ignored)).Returns(teamSeasonOpponentProfiles); var teamSeasonScheduleTotals = new TeamSeasonScheduleTotals(); A.CallTo(() => teamSeasonScheduleRepository.GetTeamSeasonScheduleTotals(A <string> .Ignored, A <int> .Ignored)).Returns(teamSeasonScheduleTotals); var teamSeasonScheduleAverages = new TeamSeasonScheduleAverages(); A.CallTo(() => teamSeasonScheduleRepository.GetTeamSeasonScheduleAverages(A <string> .Ignored, A <int> .Ignored)).Returns(teamSeasonScheduleAverages); var testObject = new TeamSeasonsControlViewModel(teamSeasonRepository, teamSeasonScheduleRepository) { SelectedTeam = new TeamSeason() }; // Act testObject.ViewTeamScheduleCommand.Execute(null !); // Assert A.CallTo(() => teamSeasonScheduleRepository.GetTeamSeasonScheduleProfile(A <string> .Ignored, A <int> .Ignored)).MustHaveHappened(); testObject.TeamSeasonScheduleProfile.ShouldBeOfType <ReadOnlyCollection <TeamSeasonOpponentProfile> >(); testObject.TeamSeasonScheduleProfile.ShouldBe(teamSeasonOpponentProfiles.ToList()); A.CallTo(() => teamSeasonScheduleRepository.GetTeamSeasonScheduleTotals(A <string> .Ignored, A <int> .Ignored)).MustHaveHappened(); testObject.TeamSeasonScheduleTotals.ShouldBeOfType <ReadOnlyCollection <TeamSeasonScheduleTotals> >(); var teamSeasonScheduleTotalsList = new List <TeamSeasonScheduleTotals> { teamSeasonScheduleTotals }; testObject.TeamSeasonScheduleTotals.ShouldBe(teamSeasonScheduleTotalsList); A.CallTo(() => teamSeasonScheduleRepository.GetTeamSeasonScheduleAverages(A <string> .Ignored, A <int> .Ignored)).MustHaveHappened(); testObject.TeamSeasonScheduleAverages.ShouldBeOfType <ReadOnlyCollection <TeamSeasonScheduleAverages> >(); var teamSeasonScheduleAveragesList = new List <TeamSeasonScheduleAverages> { teamSeasonScheduleAverages }; testObject.TeamSeasonScheduleAverages.ShouldBe(teamSeasonScheduleAveragesList); }
public void ViewTeamsCommand_ExceptionCaught_LogsAndRethrowsException() { // Arrange // Instantiate class under test. var viewModel = new TeamSeasonsControlViewModel(_sharedService, _controlService); // Set up needed infrastructure of class under test. A.CallTo(() => _controlService.GetEntities(A <int> .Ignored)).Throws <Exception>(); // Act & Assert Assert.Throws <Exception>(() => viewModel.ViewTeamsCommand.Execute(null)); }
private void RefreshControls() { if (TeamSeasonsControlViewModel is null || SeasonStandingsControlViewModel is null || RankingsControlViewModel is null) { return; } TeamSeasonsControlViewModel.Refresh(); SeasonStandingsControlViewModel.Refresh(); RankingsControlViewModel.Refresh(); }
private void ShowGames() { var gamesWindow = _gamesWindowFactory.CreateWindow(); gamesWindow.ShowDialog(); if (TeamSeasonsControlViewModel is null) { return; } TeamSeasonsControlViewModel.Refresh(); }
public void ViewTeamsCommand_HappyPath() { // Arrange // Instantiate class under test. var viewModel = new TeamSeasonsControlViewModel(_sharedService, _controlService); // Act viewModel.ViewTeamsCommand.Execute(null); // Assert A.CallTo(() => _controlService.GetEntities((int)WpfGlobals.SelectedSeason)) .MustHaveHappenedOnceExactly(); Assert.IsInstanceOf <ReadOnlyCollection <TeamSeason> >(viewModel.Teams); }
public void TeamsSetter_WhenValueIsNull_ShouldThrowArgumentNullException() { // Arrange var teamSeasonRepository = A.Fake <ITeamSeasonRepository>(); var teamSeasonScheduleRepository = A.Fake <ITeamSeasonScheduleRepository>(); var testObject = new TeamSeasonsControlViewModel(teamSeasonRepository, teamSeasonScheduleRepository); // Act Func <ReadOnlyCollection <TeamSeason> > func = () => testObject.Teams = null !; // Assert var ex = func.ShouldThrow <ArgumentNullException>(); ex.ParamName.ShouldBe <string>($"{testObject.GetType()}.{nameof(testObject.Teams)}"); }
//[TestCase] public void TestCase1() { // Arrange // TODO: Instantiate class under test. var viewModel = new TeamSeasonsControlViewModel(_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. }
public void TeamsSetter_WhenValueDoesNotEqualTeams_ShouldAssignValueToTeams() { // Arrange var teamSeasonRepository = A.Fake <ITeamSeasonRepository>(); var teamSeasonScheduleRepository = A.Fake <ITeamSeasonScheduleRepository>(); var testObject = new TeamSeasonsControlViewModel(teamSeasonRepository, teamSeasonScheduleRepository); var teams = new ReadOnlyCollection <TeamSeason>(new List <TeamSeason>()); // Act Func <ReadOnlyCollection <TeamSeason> > func = () => testObject.Teams = teams; // Assert func.ShouldNotThrow(); testObject.Teams.ShouldBeOfType <ReadOnlyCollection <TeamSeason> >(); testObject.Teams.ShouldBe(teams); }
public void ViewTeamScheduleCommand_SelectedTeamIsNull_SetsTeamSeasonScheduleProfileTotalsAndAveragesToNull() { // Arrange // Instantiate class under test. var viewModel = new TeamSeasonsControlViewModel(_sharedService, _controlService) { // Set up needed infrastructure of class under test. SelectedTeam = null }; // Act viewModel.ViewTeamScheduleCommand.Execute(null); // Assert Assert.IsNull(viewModel.TeamSeasonScheduleProfile); Assert.IsNull(viewModel.TeamSeasonScheduleTotals); Assert.IsNull(viewModel.TeamSeasonScheduleAverages); }
public void Refresh_ShouldLoadTeams() { // Arrange var teamSeasonRepository = A.Fake <ITeamSeasonRepository>(); var teamSeasons = new List <TeamSeason>(); A.CallTo(() => teamSeasonRepository.GetTeamSeasonsBySeason(A <int> .Ignored)).Returns(teamSeasons); var teamSeasonScheduleRepository = A.Fake <ITeamSeasonScheduleRepository>(); var testObject = new TeamSeasonsControlViewModel(teamSeasonRepository, teamSeasonScheduleRepository); // Act testObject.ViewTeamsCommand.Execute(null !); // Assert A.CallTo(() => teamSeasonRepository.GetTeamSeasonsBySeason(WpfGlobals.SelectedSeason)) .MustHaveHappenedOnceExactly(); testObject.Teams.ShouldBeOfType <ReadOnlyCollection <TeamSeason> >(); testObject.Teams.ShouldBe(teamSeasons); }
public void ViewTeamScheduleCommand_SelectedTeamIsNotNull_SetsTeamSeasonScheduleProfileTotalsAndAveragesToNotNull() { // Arrange // Instantiate class under test. var teamName = "Team"; WpfGlobals.SelectedSeason = 2017; var viewModel = new TeamSeasonsControlViewModel(_sharedService, _controlService) { // Set up needed infrastructure of class under test. SelectedTeam = new TeamSeason { TeamName = teamName, SeasonID = (int)WpfGlobals.SelectedSeason } }; // Act viewModel.ViewTeamScheduleCommand.Execute(null); // Assert A.CallTo(() => _controlService.GetTeamSeasonScheduleProfile(teamName, WpfGlobals.SelectedSeason)) .MustHaveHappenedOnceExactly(); Assert.IsInstanceOf <ReadOnlyCollection <GetTeamSeasonScheduleProfile_Result> >( viewModel.TeamSeasonScheduleProfile); A.CallTo(() => _controlService.GetTeamSeasonScheduleTotals(teamName, WpfGlobals.SelectedSeason)) .MustHaveHappenedOnceExactly(); Assert.IsInstanceOf <ReadOnlyCollection <GetTeamSeasonScheduleTotals_Result> >( viewModel.TeamSeasonScheduleTotals); A.CallTo(() => _controlService.GetTeamSeasonScheduleAverages(teamName, WpfGlobals.SelectedSeason)) .MustHaveHappenedOnceExactly(); Assert.IsInstanceOf <ReadOnlyCollection <GetTeamSeasonScheduleAverages_Result> >( viewModel.TeamSeasonScheduleAverages); }