public void ShouldCreateOneSessionSubViewModelPerLogOnRefresh() { var expecteds = Fix.SomeLogs(2); WhenViewModelIsRefreshedWithSessions(expecteds); var actuals = _uut.Sessions.Select(session => session.Log); CollectionAssert.AreEqual(expecteds, actuals); }
public void ShouldAddSessionViewIfLogIsCreated() { Assert.IsEmpty(_uut.Sessions); var log = Fix.SomeLog(); _mockLogManager.Raise(lm => lm.LogCreated += null, log); Assert.AreEqual(1, _uut.Sessions.Count()); Assert.AreEqual(log, _uut.Sessions.First().Log); }
public void ShouldNotSetSelectedSessionsAfterRefreshIfNoSelectionExistedBefore() { var sessions = Fix.SomeLogs(4); WhenViewModelIsRefreshedWithSessions(sessions); var eventInvoked = false; _uut.OnPropertyChanged(m => m.SelectedSessions, selection => eventInvoked = true); WhenViewModelIsRefreshedWithSessions(sessions); Assert.IsFalse(eventInvoked); }
public void ShouldNotInvokeEventSelectionEventIfNoEventsWereSelectedPreviously() { var sessions = new[] { Fix.SomeLog(TestEventFactory.SomeEvents(4)) }; WhenViewModelIsRefreshedWithSessions(sessions); _uut.SelectedSessions = new[] { _uut.Sessions.First() }; var eventInvoked = false; _uut.SingleSelectedSession.OnPropertyChanged(m => m.SelectedEvents, selection => eventInvoked = true); WhenViewModelIsRefreshedWithSessions(sessions); Assert.IsFalse(eventInvoked); }
public void ShouldInvokeSessionSelectionEventIfSessionsWereSelectedPreviously(int numberOfSelections) { var sessions = Fix.SomeLogs(4); WhenViewModelIsRefreshedWithSessions(sessions); var expectedSelection = _uut.Sessions.Take(numberOfSelections).ToList(); _uut.SelectedSessions = expectedSelection; ICollection <SessionViewModel> actualSelection = null; _uut.OnPropertyChanged(m => m.SelectedSessions, selection => actualSelection = selection); WhenViewModelIsRefreshedWithSessions(sessions); CollectionAssert.AreEquivalent(expectedSelection, actualSelection); }
public void ShouldInvokeEventSelectionEventIfEventsWereSelectedPreviously(int numberOfSelection) { var sessions = new[] { Fix.SomeLog(TestEventFactory.SomeEvents(3)) }; WhenViewModelIsRefreshedWithSessions(sessions); _uut.SelectedSessions = new[] { _uut.Sessions.First() }; WhenEventsOfSingleSelectedSessionAreLoaded(); // ReSharper disable once PossibleNullReferenceException var expectedSelection = _uut.SingleSelectedSession.Events.Take(numberOfSelection).ToList(); _uut.SingleSelectedSession.SelectedEvents = expectedSelection; ICollection <EventViewModel> actualSelection = null; _uut.SingleSelectedSession.OnPropertyChanged( m => m.SelectedEvents, selection => actualSelection = selection); WhenViewModelIsRefreshedWithSessions(sessions); WhenEventsOfSingleSelectedSessionAreLoaded(); CollectionAssert.AreEquivalent(expectedSelection, actualSelection); }