public void GetNotVisible() { var myNativeProperty = new MyWritableNativePropertyClass(); // ReSharper disable once ObjectCreationAsStatement we want to see the constructor throw an exception Action thrower = () => new NativeWritableProperty <string>(myNativeProperty, nameof(myNativeProperty.SetOnly)); thrower.Should().Throw <ArgumentException>(); }
public void WrongType() { var myNativeProperty = new MyWritableNativePropertyClass { Greeting = "hi" }; // ReSharper disable once ObjectCreationAsStatement we want to see the constructor throw an exception Action thrower = () => new NativeWritableProperty <int>(myNativeProperty, nameof(myNativeProperty.Greeting)); thrower.Should().Throw <ArgumentException>(); }
public void InitialValue() { int nativeEvents = 0, kokoEvents = 0; var myNativeProperty = new MyWritableNativePropertyClass(); myNativeProperty.PropertyChanged += delegate { nativeEvents++; }; myNativeProperty.Greeting = "hello"; nativeEvents.Should().Be(1); var kokoProperty = new NativeReadableProperty <string>(myNativeProperty, nameof(myNativeProperty.Greeting)); kokoProperty.PropertyChanged += delegate { kokoEvents++; }; kokoProperty.Value.Should().Be("hello"); kokoEvents.Should().Be(0, "not changed while koko property existed yet"); }
public void WrongPropertyNativeChange() { int nativeEvents = 0, kokoEvents = 0; var myNativeProperty = new MyWritableNativePropertyClass(); myNativeProperty.PropertyChanged += delegate { nativeEvents++; }; myNativeProperty.PartingPhrase = "goodbye"; var kokoProperty = new NativeWritableProperty <string>(myNativeProperty, nameof(myNativeProperty.Greeting)); kokoProperty.PropertyChanged += delegate { kokoEvents++; }; kokoProperty.Value.Should().BeNull(); kokoEvents.Should().Be(0); myNativeProperty.PartingPhrase = "arrivederci"; kokoProperty.Value.Should().BeNull(); kokoEvents.Should().Be(0); nativeEvents.Should().Be(2); }
public void NativeChange() { int nativeEvents = 0, kokoEvents = 0; var myNativeProperty = new MyWritableNativePropertyClass(); myNativeProperty.PropertyChanged += delegate { nativeEvents++; }; myNativeProperty.Greeting = "hello"; var kokoProperty = new NativeWritableProperty <string>(myNativeProperty, nameof(myNativeProperty.Greeting)); kokoProperty.PropertyChanged += delegate { kokoEvents++; }; kokoProperty.Value.Should().Be("hello"); kokoEvents.Should().Be(0); myNativeProperty.Greeting = "howdy"; kokoProperty.Value.Should().Be("howdy"); kokoEvents.Should().Be(1); nativeEvents.Should().Be(2); }