public void NonNotifyingPropertyInitialValue() { int nativeEvents = 0, kokoEvents = 0; var myNativeProperty = new MyWritableNonNotifyingNativePropertyClass(); myNativeProperty.GreetingChanged += delegate { nativeEvents++; }; myNativeProperty.Greeting = "hello"; nativeEvents.Should().Be(1); var kokoProperty = new NativeWritableProperty <string>(myNativeProperty, nameof(myNativeProperty.Greeting), nameof(myNativeProperty.GreetingChanged)); kokoProperty.PropertyChanged += delegate { kokoEvents++; }; kokoProperty.Value.Should().Be("hello"); kokoEvents.Should().Be(0, "not changed while koko property existed yet"); }
public void NonNotifyingPropertyValueSettable() { int nativeEvents = 0, kokoEvents = 0; var myNativeProperty = new MyWritableNonNotifyingNativePropertyClass(); myNativeProperty.Greeting = "hello"; myNativeProperty.GreetingChanged += delegate { nativeEvents++; }; var kokoProperty = new NativeWritableProperty <string>(myNativeProperty, nameof(myNativeProperty.Greeting), nameof(myNativeProperty.GreetingChanged)); kokoProperty.PropertyChanged += delegate { kokoEvents++; }; kokoProperty.Value = "howdy"; kokoProperty.Value.Should().Be("howdy"); kokoEvents.Should().Be(1); nativeEvents.Should().Be(1); }