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")); }
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); }
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)); }
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)); }