public void LifecycleTest() { _lifecycleManager.Register(_liveDataMock.Object, OnNextMock, OnErrorMock); _liveDataMock.Verify(liveData => liveData.Subscribe( OnNextMock, OnErrorMock, It.IsAny <Action>()), Times.Never); _lifecycleManager.OnResume(); _liveDataMock.Verify(liveData => liveData.Subscribe( OnNextMock, OnErrorMock, It.IsAny <Action>()), Times.Once); _lifecycleManager.OnPause(); _liveDataMock.Verify(liveData => liveData.Subscribe( OnNextMock, OnErrorMock, It.IsAny <Action>()), Times.Once); _lifecycleManager.OnResume(); _liveDataMock.Verify(liveData => liveData.Subscribe( OnNextMock, OnErrorMock, It.IsAny <Action>()), Times.Exactly(2)); _lifecycleManager.OnPause(); _liveDataMock.Verify(liveData => liveData.Subscribe( OnNextMock, OnErrorMock, It.IsAny <Action>()), Times.Exactly(2)); _lifecycleManager.OnDestroyView(); _liveDataMock.Verify(liveData => liveData.Subscribe( OnNextMock, OnErrorMock, It.IsAny <Action>()), Times.Exactly(2)); _lifecycleManager.OnResume(); _liveDataMock.Verify(liveData => liveData.Subscribe( OnNextMock, OnErrorMock, It.IsAny <Action>()), Times.Exactly(2)); _lifecycleManager.Register(_liveDataMock.Object, OnNextMock, OnErrorMock); _liveDataMock.Verify(liveData => liveData.Subscribe( OnNextMock, OnErrorMock, It.IsAny <Action>()), Times.Exactly(2)); _lifecycleManager.OnPause(); _liveDataMock.Verify(liveData => liveData.Subscribe( OnNextMock, OnErrorMock, It.IsAny <Action>()), Times.Exactly(2)); _lifecycleManager.OnResume(); _liveDataMock.Verify(liveData => liveData.Subscribe( OnNextMock, OnErrorMock, It.IsAny <Action>()), Times.Exactly(3)); _lifecycleManager.Dispose(); _liveDataMock.Verify(liveData => liveData.Subscribe( OnNextMock, OnErrorMock, It.IsAny <Action>()), Times.Exactly(3)); _liveDataMock.Verify(liveData => liveData.PostValue(It.IsAny <string>()), Times.Never); }
/// <summary> /// Observe with lifecycle managed by ILifecycleManager /// </summary> /// <param name="lifecycleManager">lifecycle manager</param> /// <param name="onNext"></param> /// <param name="onError"></param> public void Observe(ILifecycleManager lifecycleManager, Action <T> onNext, Action <Exception> onError) { lifecycleManager.Register(this, onNext, onError); }