Beispiel #1
0
        public void It_Should_Do_The_Same_As_Lookup_When_Dictionary()
        {
            // Arrange
            var dict      = DataFixtures.CreateDictionary(1, "Value 1 A", "Value 1 B");
            var field     = "field1";
            var mapFilter = new MapFilter(LiquidString.Create(field));

            // Act
            var result = mapFilter.Apply(new TemplateContext(), dict).SuccessValue <LiquidString>();

            // Assert
            Assert.That(result, Is.EquivalentTo("Value 1 A"));
        }
Beispiel #2
0
        public void It_Should_Return_An_Error_When_Trying_To_Map_A_Non_Dictionary()
        {
            // Arrange
            var mapFilter        = new MapFilter(LiquidString.Create("field1"));
            var liquidCollection = new LiquidCollection
            {
                LiquidNumeric.Create(123),
                LiquidString.Create("Test")
            };
            // Act
            var result = mapFilter.Apply(new TemplateContext(), liquidCollection).SuccessValue <LiquidCollection>();

            // Assert
            Assert.That(result.Count, Is.EqualTo(liquidCollection.Count));
            Assert.That(result[0].HasValue, Is.False);
            Assert.That(result[1].HasValue, Is.False);
        }
Beispiel #3
0
        public void It_Should_Return_None_Where_A_Field_Is_Missing()
        {
            // Arrange
            var array = CreateArray();
            var field = "field2";

            var dictionaryValues = array.Select(x => x.Value).Cast <LiquidHash>().ToList();

            dictionaryValues[1].Remove(field);
            //array.ArrValue[1].Value.ValueAs<LiquidHash>().DictValue.Remove(field);
            //((LiquidHash) array.ArrValue[1]).DictValue.Remove(field);
            var mapFilter = new MapFilter(LiquidString.Create(field));

            // Act
            var result = (mapFilter.Apply(new TemplateContext(), array).SuccessValue <LiquidCollection>()).ToList();

            Assert.That(result.Count(x => !x.HasValue), Is.EqualTo(1));
        }
Beispiel #4
0
        public void It_Should_Extract_The_Property_From_Each_Element()
        {
            // Arrange
            var array     = CreateArray();
            var field     = "field1";
            var mapFilter = new MapFilter(LiquidString.Create(field));

            // Act
            var result = mapFilter.Apply(new TemplateContext(), array).SuccessValue <LiquidCollection>();

            // Assert
            var dictionaryValues = array.Select(x => x.Value).Cast <LiquidHash>();

            IEnumerable <String> expected = dictionaryValues.Select(x => x[field].Value.Value.ToString());
            //var expected = array.ArrValue.Cast<LiquidHash>().Select(x => x.DictValue[field].Value.ToString());
            IEnumerable <String> actual = result.Select(x => x.Value.Value.ToString());

            Assert.That(actual, Is.EquivalentTo(expected));
        }