Exemplo n.º 1
0
 public void ConstructorThrowsIfArgumentIsNull()
 {
     Assert.Throws <ArgumentNullException>(() =>
     {
         var _ = new PropertyByNameReaderWriter(null);
     });
 }
Exemplo n.º 2
0
        public void GetPropertyThrowsIfNameIsNotFound()
        {
            //Does not really matter what we pass here
            var readerWriter = new PropertyByNameReaderWriter(new object());

            Assert.Throws <InvalidOperationException>(() =>
            {
                var _ = readerWriter.GetProperty("ThisNameIsNotFound");
            });
        }
Exemplo n.º 3
0
        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);
            });
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        public void PrivatePropertyIsNotReadable()
        {
            var readerWriter = new PropertyByNameReaderWriter(new ReaderWriter(10,
                                                                               "getterOnly",
                                                                               "setterPrivateGet",
                                                                               "privateSetterGet"));

            Assert.Throws <InvalidOperationException>(() =>
            {
                readerWriter.GetProperty("PrivateProperty");
            });
        }
Exemplo n.º 6
0
        public void SetValueOfGetOnlyPropertyThrows()
        {
            var readerWriter = new PropertyByNameReaderWriter(new ReaderWriter(10,
                                                                               "getterOnly",
                                                                               "setterPrivateGet",
                                                                               "privateSetterGet"));

            Assert.Throws <FieldAccessException>(() =>
            {
                readerWriter.SetProperty(nameof(ReaderWriter.StringGetterOnly), "NewValue");
            });
        }
Exemplo n.º 7
0
        public void GetPropertyThrowsIfGetterIsNotPublic()
        {
            var readerWriter = new PropertyByNameReaderWriter(new ReaderWriter(10,
                                                                               "getterOnly",
                                                                               "setterPrivateGet",
                                                                               "privateSetterGet"));

            Assert.Throws <FieldAccessException>(() =>
            {
                readerWriter.GetProperty(nameof(ReaderWriter.StringSetterPrivateGet));
            });
        }