public void ConstructorThrowsIfArgumentIsNull() { Assert.Throws <ArgumentNullException>(() => { var _ = new PropertyByNameReaderWriter(null); }); }
public void GetPropertyThrowsIfNameIsNotFound() { //Does not really matter what we pass here var readerWriter = new PropertyByNameReaderWriter(new object()); Assert.Throws <InvalidOperationException>(() => { var _ = readerWriter.GetProperty("ThisNameIsNotFound"); }); }
public void GetPropertyThrowsOnInvalidArgument(string name) { //Does not really matter what we pass here var readerWriter = new PropertyByNameReaderWriter(new object()); Assert.Throws <ArgumentNullException>(() => { readerWriter.GetProperty(name); }); }
public void GetAndSetValuesOfProperties(string propertyName, object expectedValue) { var target = new AllGettersAndSettersPublic(); var readerWriter = new PropertyByNameReaderWriter(target); readerWriter.SetProperty(propertyName, expectedValue); var actualValue = readerWriter.GetProperty(propertyName); Assert.AreEqual(expectedValue, actualValue); }
public void PrivatePropertyIsNotReadable() { var readerWriter = new PropertyByNameReaderWriter(new ReaderWriter(10, "getterOnly", "setterPrivateGet", "privateSetterGet")); Assert.Throws <InvalidOperationException>(() => { readerWriter.GetProperty("PrivateProperty"); }); }
public void SetValueOfGetOnlyPropertyThrows() { var readerWriter = new PropertyByNameReaderWriter(new ReaderWriter(10, "getterOnly", "setterPrivateGet", "privateSetterGet")); Assert.Throws <FieldAccessException>(() => { readerWriter.SetProperty(nameof(ReaderWriter.StringGetterOnly), "NewValue"); }); }
public void GetPropertyThrowsIfGetterIsNotPublic() { var readerWriter = new PropertyByNameReaderWriter(new ReaderWriter(10, "getterOnly", "setterPrivateGet", "privateSetterGet")); Assert.Throws <FieldAccessException>(() => { readerWriter.GetProperty(nameof(ReaderWriter.StringSetterPrivateGet)); }); }