Exemplo n.º 1
0
        public void WrongEventName()
        {
            var myNativeProperty = new MyNonNotifyingNativePropertyClass();

            myNativeProperty.ChangeGreeting("hello");
            // ReSharper disable once ObjectCreationAsStatement constructor throws
            Action thrower = () => new NativeReadableProperty <string>(myNativeProperty, nameof(myNativeProperty.Greeting), nameof(myNativeProperty.GreetingChanged) + "_wrong");

            thrower.Should().Throw <ArgumentException>();
        }
Exemplo n.º 2
0
        public void NonNotifyingPropertyInitialValue()
        {
            int nativeEvents = 0, kokoEvents = 0;
            var myNativeProperty = new MyNonNotifyingNativePropertyClass();

            myNativeProperty.GreetingChanged += delegate { nativeEvents++; };

            myNativeProperty.ChangeGreeting("hello");
            nativeEvents.Should().Be(1);

            var kokoProperty = new NativeReadableProperty <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");
        }
Exemplo n.º 3
0
        public void NonNotifyingPropertyImplicitEventName()
        {
            int nativeEvents = 0, kokoEvents = 0;

            var myNativeProperty = new MyNonNotifyingNativePropertyClass();

            myNativeProperty.ChangeGreeting("hello");
            myNativeProperty.GreetingChanged += delegate { nativeEvents++; };

            var kokoProperty = new NativeReadableProperty <string>(myNativeProperty, nameof(myNativeProperty.Greeting));

            kokoProperty.PropertyChanged += delegate { kokoEvents++; };

            myNativeProperty.ChangeGreeting("howdy");
            kokoProperty.Value.Should().Be("howdy");
            kokoEvents.Should().Be(1);
            nativeEvents.Should().Be(1);
        }