public void GetValueShouldReturnExpectedValue() { var expected = "test"; var component = new Dictionary<string, object>() { { "Name", expected } }; var target = new ExtensionMethodToPropertyDescriptor<IDictionary<string, object>, object>( "Name", c => c["Name"] ); var actual = target.GetValue( component ); Assert.Equal( expected, actual ); }
public void SetValueShouldThrowExceptionWhenPropertyIsReadOnly() { var target = new ExtensionMethodToPropertyDescriptor<object, object>( "Name", o => o ); Assert.Throws<InvalidOperationException>( () => target.SetValue( new object(), new object() ) ); }
public void IsReadOnlyShouldBeFalseWhenMutatorIsSet() { var target = new ExtensionMethodToPropertyDescriptor<object, object>( "Name", o => o, DefaultAction.None ); Assert.False( target.IsReadOnly ); }
public void IsReadOnlyShouldBeTrueWhenMutatorIsUnset() { var target = new ExtensionMethodToPropertyDescriptor<object, object>( "Name", o => o ); Assert.True( target.IsReadOnly ); }
public void PropertyTypeShouldReturnExpectedValue() { var target = new ExtensionMethodToPropertyDescriptor<object, string>( "Name", o => o.ToString() ); Assert.Equal( typeof( string ), target.PropertyType ); }
public void ComponentTypeShouldReturnExpectedValue() { var target = new ExtensionMethodToPropertyDescriptor<string, object>( "Name", o => o ); Assert.Equal( typeof( string ), target.ComponentType ); }
public void SupportsChangeEventsShouldAlwaysReturnFalse() { var target = new ExtensionMethodToPropertyDescriptor<object, object>( "Name", o => o ); Assert.False( target.SupportsChangeEvents ); }
public void ShouldSerializeValueShouldAlwaysReturnFalse() { var target = new ExtensionMethodToPropertyDescriptor<object, object>( "Name", o => o ); Assert.False( target.ShouldSerializeValue( null ) ); Assert.False( target.ShouldSerializeValue( new object() ) ); }