public void Subscribe_ShouldCallOnNextWhenSettingProperty( string value, Mock<IObserver<string>> observer, ISchedulers schedulers ) { //arrange var sut = new ObservableProperty<string>(schedulers); sut.Subscribe(observer.Object); //act sut.Value = value; //assert observer.Verify(o => o.OnNext(value)); }
public UPaletteEditorGUIState() { _activePaletteType.Value = (PaletteType)_activePaletteTypePrefs.Value; _activePaletteType .Subscribe(x => _activePaletteTypePrefs.Value = (int)x) .DisposeWith(_disposables); }
public void Subscribe_WithDefaultValue_ShouldNotCallOnNext( string value, Mock <IObserver <string> > observer, ISchedulers schedulers) { //arrange var sut = new ObservableProperty <string>(schedulers); sut.Subscribe(observer.Object); //assert observer.Verify(o => o.OnNext(It.IsAny <string>()), Times.Never()); }
public async Task OnNext_WhenSubscribingThenPushingFirstValue_AndFirstValueIsDefaultValue_ShouldReturnCorrectValue( TestSchedulers schedulers) { //arrange var observer = schedulers.CreateObserver <int>(); var sut = new ObservableProperty <int>(schedulers); var expected = sut.Value; sut.Subscribe(observer); //act sut.OnNext(expected); //assert observer.Values().Last().Should().Be(expected); }
public void Subscribe_ShouldCallOnNextWhenSettingProperty( string value, Mock <IObserver <string> > observer, ISchedulers schedulers ) { //arrange var sut = new ObservableProperty <string>(schedulers); sut.Subscribe(observer.Object); //act sut.Value = value; //assert observer.Verify(o => o.OnNext(value)); }
/// <summary> /// Searches all attached UIElements for the first instance of type UIElement. /// </summary> /// <param name="UIElement">The type of UIElement to search for. Element must have IObserver interface.</param> public void Bind <T>(ObservableProperty <T> property, Type UIElement) { Component element = null; foreach (RectTransform rt in m_UIElements) { element = rt.GetComponent(UIElement); if ((element != null) && (element is IObserver <T>)) { property.Subscribe((IObserver <T>)element); break; } } if (element == null) { throw new DataMisalignedException($"UIElement is missing IOberserver<{typeof(T)}> interface"); } }
void Start() { Property.Subscribe(UpdateText); // Property.Value = 0; }
public async Task OnNext_WhenSubscribingThenPushingFirstValue_AndFirstValueIsDefaultValue_ShouldReturnCorrectValue( TestSchedulers schedulers) { //arrange var observer = schedulers.CreateObserver<int>(); var sut = new ObservableProperty<int>(schedulers); var expected = sut.Value; sut.Subscribe(observer); //act sut.OnNext(expected); //assert observer.Values().Last().Should().Be(expected); }
public void Subscribe_WithDefaultValue_ShouldNotCallOnNext( string value, Mock<IObserver<string>> observer, ISchedulers schedulers) { //arrange var sut = new ObservableProperty<string>(schedulers); sut.Subscribe(observer.Object); //assert observer.Verify(o => o.OnNext(It.IsAny<string>()), Times.Never()); }