| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- // Copyright (c) The Avalonia Project. All rights reserved.
- // Licensed under the MIT license. See licence.md file in the project root for full license information.
- using System.Linq;
- using System.Reactive.Linq;
- using Xunit;
- namespace Avalonia.Base.UnitTests
- {
- public class AvaloniaObjectTests_Metadata
- {
- public AvaloniaObjectTests_Metadata()
- {
- // Ensure properties are registered.
- AvaloniaProperty p;
- p = Class1.FooProperty;
- p = Class2.BarProperty;
- p = AttachedOwner.AttachedProperty;
- }
- [Fact]
- public void IsSet_Returns_False_For_Unset_Property()
- {
- var target = new Class1();
- Assert.False(target.IsSet(Class1.FooProperty));
- }
- [Fact]
- public void IsSet_Returns_False_For_Set_Property()
- {
- var target = new Class1();
- target.SetValue(Class1.FooProperty, "foo");
- Assert.True(target.IsSet(Class1.FooProperty));
- }
- [Fact]
- public void IsSet_Returns_False_For_Cleared_Property()
- {
- var target = new Class1();
- target.SetValue(Class1.FooProperty, "foo");
- target.SetValue(Class1.FooProperty, AvaloniaProperty.UnsetValue);
- Assert.False(target.IsSet(Class1.FooProperty));
- }
- private class Class1 : AvaloniaObject
- {
- public static readonly StyledProperty<string> FooProperty =
- AvaloniaProperty.Register<Class1, string>("Foo");
- }
- private class Class2 : Class1
- {
- public static readonly StyledProperty<string> BarProperty =
- AvaloniaProperty.Register<Class2, string>("Bar");
- }
- private class AttachedOwner
- {
- public static readonly AttachedProperty<string> AttachedProperty =
- AvaloniaProperty.RegisterAttached<AttachedOwner, Class1, string>("Attached");
- }
- }
- }
|