public MainViewModel() { _informationEngine = new InformationEngine(); _sessionViewModels = _informationEngine.Sessions.CreateDerivedCollection(x => new SessionViewModel(x) as ISessionViewModel); ((IEditableCollectionView) (CollectionViewSource.GetDefaultView(_sessionViewModels))) .NewItemPlaceholderPosition = NewItemPlaceholderPosition.AtEnd; _showInitializationErrorMessage = () => MessageBox.Show( "Bei der Initialisierung des Receivers ist ein Fehler aufgetreten.\n" + "Bitte schließen Sie die Session und starten den Receiver neu.", "Fehler"); _showCloseSessionErrorMessage = () => MessageBox.Show( "Beim Schließen der Session trat ein Fehler auf.", "Fehler"); StartNewSessionCommand = new ReactiveCommand(); StartNewSessionCommand.Subscribe(_ => StartNewSession()); InitializeReceiverCommand = new ReactiveAsyncCommand(); InitializeReceiverCommand.RegisterAsyncAction(x => InitializeReceiver((Tuple<Guid, IReceiver>) x)); InitializeReceiverCommand.ThrownExceptions.Subscribe( ex => _showInitializationErrorMessage()); CloseSessionCommand = new ReactiveCommand(); CloseSessionCommand.Subscribe(x => CloseSession((ISessionViewModel) x)); CloseSessionCommand.ThrownExceptions.Subscribe(ex => _showCloseSessionErrorMessage()); }
public void AddSession_Normal_AddsTheSessionAndReturnsTheSessionId() { var receiverMock = new Mock<IReceiver>(); var analysisMock = new Mock<IAnalysis>(); var informationEngine = new InformationEngine(); var newSessionId = informationEngine.AddSession(receiverMock.Object, analysisMock.Object); informationEngine.Sessions.Any().Should().BeTrue(); newSessionId.Should().NotBeEmpty(); }
public void DeleteSession_ExistingGuid_DeletesTheSession() { var receiverMock = new Mock<IReceiver>(); var analysisMock = new Mock<IAnalysis>(); var informationEngine = new InformationEngine(); var newSessionId = informationEngine.AddSession(receiverMock.Object, analysisMock.Object); informationEngine.DeleteSession(newSessionId); informationEngine.Sessions.Any().Should().BeFalse(); }
public void DeleteSession_NonExistingGuid_Throws() { var informationEngine = new InformationEngine(); informationEngine.DeleteSession(Guid.NewGuid()); }