コード例 #1
0
        public void SetValue_IfInstanceIsNull_Throws()
        {
            // Arrange
            IPropertySetter <Poco, PocoProperty> product = CreateProductUnderTest <Poco, PocoProperty>(
                typeof(Poco).GetProperty("Value"));
            Poco         instance = null;
            PocoProperty value    = new PocoProperty();

            // Act & Assert
            ExceptionAssert.ThrowsArgumentNull(() => product.SetValue(ref instance, value), "instance");
        }
コード例 #2
0
        public void SetValue_IfPrivateProperty_UpdatesValue()
        {
            // Arrange
            IPropertySetter <Poco, PocoProperty> product = CreateProductUnderTest <Poco, PocoProperty>(
                typeof(Poco).GetProperty("PrivateValue", BindingFlags.NonPublic | BindingFlags.Instance));
            Poco         instance = new Poco();
            PocoProperty expected = new PocoProperty();

            // Act
            product.SetValue(ref instance, expected);

            // Assert
            PocoProperty actual = instance.PrivateValueAsPublic;

            Assert.Same(expected, actual);
        }
コード例 #3
0
        public void SetValue_UpdatesValue()
        {
            // Arrange
            IPropertySetter <Poco, PocoProperty> product = CreateProductUnderTest <Poco, PocoProperty>(
                typeof(Poco).GetProperty("Value"));
            Poco         instance = new Poco();
            PocoProperty expected = new PocoProperty();

            // Act
            product.SetValue(ref instance, expected);

            // Assert
            PocoProperty actual = instance.Value;

            Assert.Same(expected, actual);
        }
コード例 #4
0
        public void GetValue_IfPrivateProperty_ReturnsValue()
        {
            // Arrange
            IPropertyGetter <PocoStruct, PocoProperty> product = CreateProductUnderTest <PocoStruct, PocoProperty>(
                typeof(PocoStruct).GetProperty("PrivateValue", BindingFlags.NonPublic | BindingFlags.Instance));
            PocoProperty expected = new PocoProperty();
            PocoStruct   instance = new PocoStruct
            {
                PrivateValueAsPublic = expected
            };

            // Act
            PocoProperty actual = product.GetValue(instance);

            // Assert
            Assert.Same(expected, actual);
        }
コード例 #5
0
        public void GetValue_ReturnsValue()
        {
            // Arrange
            IPropertyGetter <PocoStruct, PocoProperty> product = CreateProductUnderTest <PocoStruct, PocoProperty>(
                typeof(PocoStruct).GetProperty("Value"));
            PocoProperty expected = new PocoProperty();
            PocoStruct   instance = new PocoStruct
            {
                Value = expected
            };

            // Act
            PocoProperty actual = product.GetValue(instance);

            // Assert
            Assert.Same(expected, actual);
        }