Esempio n. 1
0
        public TabButtonViewModel(Action clickedAction, string buttonText)
        {
            _clickedAction     = clickedAction;
            ButtonTextLiveData = new LiveData <string>();

            ButtonTextLiveData.PostValue(buttonText);
        }
Esempio n. 2
0
        public CurrentHoveredTileCoordinateViewModel(ICurrentHoveredTileHolderGetRepository repository)
        {
            CoordinateLiveData = new LiveData <Coordinate?>();

            _disposable = repository.GetObservableStream()
                          .SubscribeOn(Scheduler.ThreadPool)
                          .ObserveOn(Scheduler.MainThread)
                          .Subscribe(
                holder =>
                CoordinateLiveData.PostValue(holder != null ? holder.Value.Coordinate : (Coordinate?)null)
                );
        }
        public DebugLogMessageViewModel(IInGameMessageService messageService)
        {
            _messageService = messageService;
            MessageLiveData = new LiveData <string>();

            _disposable = messageService.InGameEditorUiMessageStream
                          .SubscribeOn(Scheduler.ThreadPool)
                          .ObserveOn(Scheduler.MainThread)
                          .Subscribe(
                message => MessageLiveData.PostValue(message.Value)
                );
        }
Esempio n. 4
0
        public void LiveDataValueTypeDefaultSettingsIntegrationTest()
        {
            var randomGen    = new Random();
            var val0         = randomGen.Next();
            var val1         = randomGen.Next();
            var val2         = randomGen.Next();
            var testSequence = new List <int>(new[] { val1, val2, val2, val1, val2, val1, val1 });

            _liveDataValueType = new LiveData <int>(val0, _testRxSchedulerFacade.Object);

            _liveDataValueType.Observe(_lifecycleManager,
                                       i => _emittedVerificationListValue.Add(i),
                                       e => Assert.Fail("onError called"));

            Assert.AreEqual(0, _emittedVerificationListValue.Count);

            _lifecycleManager.OnResume();

            Assert.AreEqual(1, _emittedVerificationListValue.Count);
            Assert.AreEqual(val0, _emittedVerificationListValue[0]);

            testSequence.ForEach(i => _liveDataValueType.PostValue(i));

            Assert.AreEqual(6, _emittedVerificationListValue.Count);
            Assert.AreEqual(val0, _emittedVerificationListValue[0]);
            Assert.AreEqual(val1, _emittedVerificationListValue[1]);
            Assert.AreEqual(val2, _emittedVerificationListValue[2]);
            Assert.AreEqual(val1, _emittedVerificationListValue[3]);
            Assert.AreEqual(val2, _emittedVerificationListValue[4]);
            Assert.AreEqual(val1, _emittedVerificationListValue[5]);

            _lifecycleManager.OnPause();

            testSequence.ForEach(i => _liveDataValueType.PostValue(i));

            Assert.AreEqual(6, _emittedVerificationListValue.Count);

            _lifecycleManager.OnResume();

            Assert.AreEqual(6, _emittedVerificationListValue.Count);

            _lifecycleManager.OnPause();

            testSequence.ForEach(i => _liveDataValueType.PostValue(i));
            _liveDataValueType.PostValue(val0);
            _liveDataValueType.PostValue(val1);
            _liveDataValueType.PostValue(val2);

            _lifecycleManager.OnResume();

            Assert.AreEqual(7, _emittedVerificationListValue.Count);
            Assert.AreEqual(val2, _emittedVerificationListValue[6]);

            _lifecycleManager.OnDestroyView();

            Assert.AreEqual(7, _emittedVerificationListValue.Count);

            _liveDataValueType.Observe(_lifecycleManager,
                                       i => _emittedVerificationListValue.Add(i),
                                       e => Assert.Fail("onError called"));

            Assert.AreEqual(7, _emittedVerificationListValue.Count);

            _lifecycleManager.OnResume();

            Assert.AreEqual(8, _emittedVerificationListValue.Count);
            Assert.AreEqual(val2, _emittedVerificationListValue[7]);

            _lifecycleManager.OnPause();

            Assert.AreEqual(8, _emittedVerificationListValue.Count);

            _lifecycleManager.OnDestroyView();

            testSequence.ForEach(i => _liveDataValueType.PostValue(i));
            _liveDataValueType.PostValue(val0);
            _liveDataValueType.PostValue(val1);

            _liveDataValueType.Observe(_lifecycleManager,
                                       i => _emittedVerificationListValue.Add(i),
                                       e => Assert.Fail("onError called"));

            Assert.AreEqual(8, _emittedVerificationListValue.Count);

            _lifecycleManager.OnResume();

            Assert.AreEqual(9, _emittedVerificationListValue.Count);
            Assert.AreEqual(val1, _emittedVerificationListValue[8]);
        }
Esempio n. 5
0
        public void LiveDataReferenceTypeAllowDuplicatesIntegrationTest()
        {
            var val0         = TestUtils.RandomString(32);
            var val1         = TestUtils.RandomString(32);
            var val2         = TestUtils.RandomString(32);
            var testSequence = new List <string>(new[] { val1, val2, val2, val1, val2, val1, val1 });

            _liveDataReferenceType = new LiveData <string>(val0, _testRxSchedulerFacade.Object, true);

            _liveDataReferenceType.Observe(_lifecycleManager,
                                           s => _emittedVerificationListReference.Add(s),
                                           e => Assert.Fail("onError called"));

            Assert.AreEqual(0, _emittedVerificationListReference.Count);

            _lifecycleManager.OnResume();

            Assert.AreEqual(1, _emittedVerificationListReference.Count);
            Assert.AreEqual(val0, _emittedVerificationListReference[0]);

            testSequence.ForEach(i => _liveDataReferenceType.PostValue(i));

            Assert.AreEqual(8, _emittedVerificationListReference.Count);
            for (var i = 1; i < _emittedVerificationListReference.Count; ++i)
            {
                Assert.AreEqual(testSequence[i - 1], _emittedVerificationListReference[i]);
            }

            _lifecycleManager.OnPause();

            testSequence.ForEach(s => _liveDataReferenceType.PostValue(s));

            Assert.AreEqual(8, _emittedVerificationListReference.Count);

            _lifecycleManager.OnResume();

            Assert.AreEqual(9, _emittedVerificationListReference.Count);
            Assert.AreEqual(val1, _emittedVerificationListReference[8]);

            _lifecycleManager.OnPause();

            testSequence.ForEach(s => _liveDataReferenceType.PostValue(s));
            _liveDataReferenceType.PostValue(val0);
            _liveDataReferenceType.PostValue(val1);
            _liveDataReferenceType.PostValue(val2);

            _lifecycleManager.OnResume();

            Assert.AreEqual(10, _emittedVerificationListReference.Count);
            Assert.AreEqual(val2, _emittedVerificationListReference[9]);

            _lifecycleManager.OnDestroyView();

            Assert.AreEqual(10, _emittedVerificationListReference.Count);

            _liveDataReferenceType.Observe(_lifecycleManager,
                                           s => _emittedVerificationListReference.Add(s),
                                           e => Assert.Fail("onError called"));

            Assert.AreEqual(10, _emittedVerificationListReference.Count);

            _lifecycleManager.OnResume();

            Assert.AreEqual(11, _emittedVerificationListReference.Count);
            Assert.AreEqual(val2, _emittedVerificationListReference[10]);

            _lifecycleManager.OnPause();

            Assert.AreEqual(11, _emittedVerificationListReference.Count);

            _lifecycleManager.OnDestroyView();

            testSequence.ForEach(i => _liveDataReferenceType.PostValue(i));
            _liveDataReferenceType.PostValue(val0);
            _liveDataReferenceType.PostValue(val1);

            _liveDataReferenceType.Observe(_lifecycleManager,
                                           s => _emittedVerificationListReference.Add(s),
                                           e => Assert.Fail("onError called"));

            Assert.AreEqual(11, _emittedVerificationListReference.Count);

            _lifecycleManager.OnResume();

            Assert.AreEqual(12, _emittedVerificationListReference.Count);
            Assert.AreEqual(val1, _emittedVerificationListReference[11]);
        }