Exemplo n.º 1
0
        public void PropertyMutation_Constructor_Should_SetCorrectProperties()
        {
            const double value = 2;

            var propertyMutation = new PropertyMutation <Product, double>(value, x => x.Price);

            propertyMutation.Value.Should().Be(value);
        }
Exemplo n.º 2
0
        public void PropertyMutation_Should_HoldValidActions_WhenDouble()
        {
            const double value          = 2.3;
            const double incrementValue = 3.2;

            var propertyMutation = new PropertyMutation <Product, double>(incrementValue, x => x.Price);
            var product          = new Product("test", value);

            product.Price.Should().BeApproximately(value, 0.000001);

            propertyMutation.GetApplyValueAction()(product);
            product.Price.Should().BeApproximately(value + incrementValue, 0.000001);

            propertyMutation.GetApplyValueAction()(product);
            product.Price.Should().BeApproximately(value + incrementValue + incrementValue, 0.000001);

            propertyMutation.GetRevertValueAction()(product);
            product.Price.Should().BeApproximately(value + incrementValue, 0.000001);
        }
Exemplo n.º 3
0
        public void PropertyMutation_Should_HoldValidActions_WhenInt()
        {
            const int value          = 2;
            const int incrementValue = 3;

            var propertyMutation = new PropertyMutation <Product, int>(incrementValue, x => x.Available);
            var product          = new Product("test", value, value);

            product.Available.Should().Be(value);

            propertyMutation.GetApplyValueAction()(product);
            product.Available.Should().Be(value + incrementValue);

            propertyMutation.GetApplyValueAction()(product);
            product.Available.Should().Be(value + incrementValue + incrementValue);

            propertyMutation.GetRevertValueAction()(product);
            product.Available.Should().Be(value + incrementValue);
        }