예제 #1
0
        public void It_Should_Sort_Dictionaries_By_Field()
        {
            // Arrange
            SortFilter sizeFilter = new SortFilter(LiquidString.Create("field1"));

            // Act
            var result = sizeFilter.Apply(new TemplateContext(), CreateObjList());

            // Assert
            Assert.That(IdAt(result.SuccessValue <LiquidCollection>(), 0, "field1").Value, Is.EqualTo("Aa"));
            Assert.That(IdAt(result.SuccessValue <LiquidCollection>(), 1, "field1").Value, Is.EqualTo("ab"));
            Assert.That(IdAt(result.SuccessValue <LiquidCollection>(), 2, "field1").Value, Is.EqualTo("b"));
            Assert.That(IdAt(result.SuccessValue <LiquidCollection>(), 3, "field1").Value, Is.EqualTo("Z"));
        }
예제 #2
0
        public void It_Should_Sort_An_Array_By_StringValues()
        {
            // Arrange
            LiquidCollection liquidCollection = new LiquidCollection {
                LiquidString.Create("a string"),
                LiquidNumeric.Create(123),
                LiquidNumeric.Create(456m),
                new LiquidBoolean(false)
            };
            var filter = new SortFilter(LiquidString.Create(""));

            // Act
            var result        = filter.Apply(new TemplateContext(), liquidCollection);
            var resultStrings = result.SuccessValue <LiquidCollection>().Select(ValueCaster.RenderAsString);

            // Assert
            Assert.That(resultStrings, Is.EqualTo(new List <String> {
                "123", "456.0", "a string", "false"
            }));
        }
예제 #3
0
        public void It_Should_Sort_An_Array_By_StringValues()
        {
            // Arrange
            IList<IExpressionConstant> objlist = new List<IExpressionConstant>
            {
                new StringValue("a string"), 
                NumericValue.Create(123), 
                NumericValue.Create(456m),
                new BooleanValue(false)
            };
            ArrayValue arrayValue = new ArrayValue(objlist);
            var filter = new SortFilter(new StringValue(""));

            // Act            
            var result = filter.Apply(new TemplateContext(), arrayValue);
            var resultStrings = result.SuccessValue<ArrayValue>().Select(ValueCaster.RenderAsString);
            
            // Assert
            Assert.That(resultStrings, Is.EqualTo(new List<String>{"123", "456.0", "a string", "false"}));

        }
예제 #4
0
        public void It_Should_Sort_Dictionaries_By_Field()
        {
            // Arrange
            IList<IExpressionConstant> objlist = new List<IExpressionConstant>
            {
                DataFixtures.CreateDictionary(1, "Aa", "Value 1 B"), 
                DataFixtures.CreateDictionary(2, "Z", "Value 2 B"), 
                DataFixtures.CreateDictionary(3, "ab", "Value 3 B"), 
                DataFixtures.CreateDictionary(4, "b", "Value 4 B"),
            };
            ArrayValue arrayValue = new ArrayValue(objlist);
            SortFilter sizeFilter = new SortFilter(new StringValue("field1"));

            // Act
            var result = sizeFilter.Apply(new TemplateContext(), arrayValue);

            // Assert
            Assert.That(IdAt(result.SuccessValue<ArrayValue>(), 0, "field1").Value, Is.EqualTo("Aa"));
            Assert.That(IdAt(result.SuccessValue<ArrayValue>(), 1, "field1").Value, Is.EqualTo("ab"));
            Assert.That(IdAt(result.SuccessValue<ArrayValue>(), 2, "field1").Value, Is.EqualTo("b"));
            Assert.That(IdAt(result.SuccessValue<ArrayValue>(), 3, "field1").Value, Is.EqualTo("Z"));

        }