public void CanAccessNestedAnonymousProperties() { // Arrange dynamic dro = DynamicReflectionObject.Wrap(new { foo = new { bar = "Hello world!" } }); // Act & Assert Assert.Equal("Hello world!", dro.foo.bar); }
public void CanAccessProperties() { // Arrange dynamic dro = DynamicReflectionObject.Wrap(new { foo = "Hello world!", bar = 42 }); // Act & Assert Assert.Equal("Hello world!", dro.foo); Assert.Equal(42, dro.bar); }
public void UnknownPropertyThrows() { // Arrange dynamic dro = DynamicReflectionObject.Wrap(new { foo = 3.4, biff = "Two", bar = 1 }); // Act & Assert Assert.Throws <InvalidOperationException>( () => dro.baz, "The property baz doesn't exist. Supported properties are: bar, biff, foo."); }
public void NoPropertiesThrows() { // Arrange dynamic dro = DynamicReflectionObject.Wrap(new { }); // Act & Assert Assert.Throws <InvalidOperationException>( () => dro.baz, "The property baz doesn't exist. There are no public properties on this object."); }