예제 #1
0
        public void VariableWithInvalidPathAndNoDefaultThrowsError()
        {
            var rule = new VariableRule("baz");
            var data = new { foo = 5, bar = 10 }.ToJsonDocument().RootElement;

            JsonAssert.AreEquivalent(null, rule.Apply(data));
        }
예제 #2
0
        public void CatStringAndArrayConcatsValues()
        {
            var array = new[] { 1.AsJsonElement(), 2.AsJsonElement(), 3.AsJsonElement() }.AsJsonElement();
            var rule = new CatRule("foo", array);

            JsonAssert.AreEquivalent("foo1,2,3", rule.Apply());
        }
예제 #3
0
        public void VariableWithInvalidPathAndDefaultReturnsDefault()
        {
            var rule = new VariableRule("baz", 11);
            var data = new { foo = 5, bar = 10 }.ToJsonDocument().RootElement;

            JsonAssert.AreEquivalent(11, rule.Apply(data));
        }
예제 #4
0
        public void VariableWithValidPathAndNoDefaultFetchesData()
        {
            var rule = new VariableRule("foo");
            var data = new { foo = 5, bar = 10 }.ToJsonDocument().RootElement;

            JsonAssert.AreEquivalent(5, rule.Apply(data));
        }
예제 #5
0
        public void DivideNumbersReturnsSum()
        {
            var rule = new DivideRule(4, 5);

            var actual = rule.Apply();

            JsonAssert.AreEquivalent(.8, actual);
        }
예제 #6
0
        public void AddNumbersReturnsSum()
        {
            var rule = new AddRule(4, 5);

            var actual = rule.Apply();

            JsonAssert.AreEquivalent(9, actual);
        }
예제 #7
0
        public void AddSingleNumberDoesNothing()
        {
            var rule = new AddRule(3.14);

            var actual = rule.Apply();

            JsonAssert.AreEquivalent(3.14, actual);
        }
예제 #8
0
        public void SubtractNumbersReturnsSum()
        {
            var rule = new SubtractRule(4, 5);

            var actual = rule.Apply();

            JsonAssert.AreEquivalent(-1, actual);
        }
예제 #9
0
        public void MultiplyNumbersReturnsSum()
        {
            var rule = new MultiplyRule(4, 5);

            var actual = rule.Apply();

            JsonAssert.AreEquivalent(20, actual);
        }
예제 #10
0
        public void AddSingleStringWithNumberCasts()
        {
            var rule = new AddRule("3.14");

            var actual = rule.Apply();

            JsonAssert.AreEquivalent(3.14, actual);
        }
예제 #11
0
        public void SubstrStartNegativeCount()
        {
            var rule = new SubstrRule("foobar", 2, -1);

            JsonAssert.AreEquivalent("oba", rule.Apply());
        }
예제 #12
0
        public void SubstrStartCountBeyondLength()
        {
            var rule = new SubstrRule("foobar", 3, 5);

            JsonAssert.AreEquivalent("bar", rule.Apply());
        }
예제 #13
0
        public void SubstrNegativeStartBeyondLengthNoCount()
        {
            var rule = new SubstrRule("foobar", -10);

            JsonAssert.AreEquivalent("foobar", rule.Apply());
        }
예제 #14
0
        public void AddSingleFalseThrowsError()
        {
            var rule = new AddRule(false);

            JsonAssert.AreEquivalent(0, rule.Apply());
        }
예제 #15
0
        public void AddSingleTrueThrowsError()
        {
            var rule = new AddRule(true);

            JsonAssert.AreEquivalent(1, rule.Apply());
        }
예제 #16
0
        public void IfStandardReturnsFalseResult()
        {
            var rule = new IfRule(false, 1, 2);

            JsonAssert.AreEquivalent(2, rule.Apply());
        }
예제 #17
0
        public void SubstrStartNegativeCountBeyondLength()
        {
            var rule = new SubstrRule("foobar", 2, -10);

            JsonAssert.AreEquivalent(string.Empty, rule.Apply());
        }
예제 #18
0
        public void CatTwoStringsConcatsValues()
        {
            var rule = new CatRule("foo", "bar");

            JsonAssert.AreEquivalent("foobar", rule.Apply());
        }
예제 #19
0
        public void CatStringAndNullConcatsValues()
        {
            var rule = new CatRule("foo", LiteralRule.Null);

            JsonAssert.AreEquivalent("foo", rule.Apply());
        }
예제 #20
0
        public void CatStringAndNumberConcatsValues()
        {
            var rule = new CatRule("foo", 1);

            JsonAssert.AreEquivalent("foo1", rule.Apply());
        }
예제 #21
0
        public void IfStandardReturnsTrueResult()
        {
            var rule = new IfRule(true, 1, 2);

            JsonAssert.AreEquivalent(1, rule.Apply());
        }
예제 #22
0
        public void IfStandardReturnsSecondFalseResult()
        {
            var rule = new IfRule(false, 1, false, 2, 3);

            JsonAssert.AreEquivalent(3, rule.Apply());
        }
예제 #23
0
        public void SubstrStartNoCount()
        {
            var rule = new SubstrRule("foobar", 3);

            JsonAssert.AreEquivalent("bar", rule.Apply());
        }
예제 #24
0
        public void CatStringAndBooleanConcatsValues()
        {
            var rule = new CatRule("foo", true);

            JsonAssert.AreEquivalent("footrue", rule.Apply());
        }