public override LiquidExpressionResult ApplyTo(ITemplateContext ctx, LiquidRange liquidGeneratorExpression) { //return GetSize(liquidGeneratorExpression, () => LiquidNumeric.Create(liquidGeneratorExpression.Length)); return(liquidGeneratorExpression == null ? SizeOfNil() : LiquidExpressionResult.Success(LiquidNumeric.Create(liquidGeneratorExpression.Length))); }
public void It_Should_Determine_The_Length_Of_a_Descending_Generator() { // Arrange var generatorValue = new LiquidRange(LiquidNumeric.Create(5), LiquidNumeric.Create(2)); // Assert Assert.Equal(4, generatorValue.Length); }
public void It_Should_Determine_The_Length_Of_a_Generator() { // Arrange var generatorValue = new LiquidRange(LiquidNumeric.Create(2), LiquidNumeric.Create(5)); // Assert Assert.That(generatorValue.Length, Is.EqualTo(4)); }
public void It_Should_Generate_Some_Values(int start, int end, int[] expected) { // Arrange var generatorValue = new LiquidRange(LiquidNumeric.Create(start), LiquidNumeric.Create(end)); // Act var result = generatorValue.AsEnumerable(); // Assert Assert.Equal(expected.ToList(), result.Select(x => Convert.ToInt32(x.Value))); }
public void A_Generator_Value_Should_Return_The_Size() { // Arrange var strVal = new LiquidRange(LiquidNumeric.Create(3), LiquidNumeric.Create(10)); var filter = new SizeFilter(); // Act var result = filter.Apply(new TemplateContext(), strVal).SuccessValue <LiquidNumeric>(); // Assert Assert.Equal(8, result.Value); }
public void It_Should_Generate_Some_Values_Descending() { // Arrange var generatorValue = new LiquidRange(LiquidNumeric.Create(5), LiquidNumeric.Create(2)); // Act var result = generatorValue.AsEnumerable(); // Assert Assert.Equal(new List <int> { 5, 4, 3, 2 }, result.Select(x => Convert.ToInt32(x.Value))); }
public IEnumerable <ILiquidValue> Eval(ITemplateContext templateContext) { if (_startExpression == null) { // this shouldn't happen throw new Exception("The Generator start expression is null"); } if (_endExpression == null) { // this shouldn't happen throw new Exception("The Generator end expression is null"); } var startValue = ValueAsNumeric(_startExpression, templateContext); var endValue = ValueAsNumeric(_endExpression, templateContext); //Console.WriteLine("*** Generating sequence from "+ startValue.IntValue+ " to " +endValue.IntValue); var generatorValue = new LiquidRange(startValue, endValue); return(generatorValue); }
public virtual LiquidExpressionResult ApplyTo(ITemplateContext ctx, LiquidRange val) { //throw new Exception("Need to figure out how to do this part"); return(ApplyTo(ctx, (ILiquidValue)val)); }