public void ModuloWithNoArgumentThrows() { var input = NumberValue.Create(6); var arguments = FilterArguments.Empty; var context = new TemplateContext(); Assert.Throws <ParseException>(() => NumberFilters.Modulo(input, arguments, context)); }
public void TimesWithDecimalPointFromObject(string input, string argument, decimal expectedResult) { var inputA = NumberValue.Create(input); var inputB = new FilterArguments(NumberValue.Create(argument)); var context = new TemplateContext(); var result = NumberFilters.Times(inputA, inputB, context); Assert.Equal(expectedResult, result.Result.ToNumberValue()); }
public void AtLeast(int value1, object value2, int expectedResult) { var input = NumberValue.Create(value1); var arguments = new FilterArguments(NumberValue.Create(value2, TemplateOptions.Default)); var context = new TemplateContext(); var result = NumberFilters.AtLeast(input, arguments, context); Assert.Equal(expectedResult, result.Result.ToNumberValue()); }
public void Abs(double value, double expectedResult) { var input = NumberValue.Create(value); var arguments = new FilterArguments(); var context = new TemplateContext(); var result = NumberFilters.Abs(input, arguments, context); Assert.Equal(expectedResult, result.ToNumberValue()); }
public void PlusConvertsObjectToNumber() { var input = new ObjectValue("6"); var arguments = new FilterArguments(3); var context = new TemplateContext(); var result = NumberFilters.Plus(input, arguments, context); Assert.Equal(9, result.ToNumberValue()); }
public void Plus() { var input = NumberValue.Create(6); var arguments = new FilterArguments('3'); var context = new TemplateContext(); var result = NumberFilters.Plus(input, arguments, context); Assert.Equal(9, result.ToNumberValue()); }
public void Floor() { var input = NumberValue.Create(4.6); var arguments = new FilterArguments(); var context = new TemplateContext(); var result = NumberFilters.Floor(input, arguments, context); Assert.Equal(4, result.ToNumberValue()); }
public void Modulo() { var input = NumberValue.Create(6); var arguments = new FilterArguments(4); var context = new TemplateContext(); var result = NumberFilters.Modulo(input, arguments, context); Assert.Equal(2, result.ToNumberValue()); }
public void AtMost(int value1, object value2, int expectedResult) { var input = NumberValue.Create(value1); var arguments = new FilterArguments(NumberValue.Create(Convert.ToDouble(value2), value2 is int)); var context = new TemplateContext(); var result = NumberFilters.AtMost(input, arguments, context); Assert.Equal(expectedResult, result.ToNumberValue()); }
public void DividedByReturnsSameTypeAsDivisor(double value, object divisor, double expected) { var input = NumberValue.Create(value); var arguments = new FilterArguments(NumberValue.Create(Convert.ToDouble(divisor), divisor is int)); var context = new TemplateContext(); var result = NumberFilters.DividedBy(input, arguments, context); Assert.Equal(expected, result.ToNumberValue()); }
public void Round() { var input = NumberValue.Create(4.1234); var arguments = new FilterArguments(2); var context = new TemplateContext(); var result = NumberFilters.Round(input, arguments, context); Assert.Equal(4.12, result.ToNumberValue()); }
public void OperationMaintainsScale() { var input = NumberValue.Create(6); var arguments = new FilterArguments(NumberValue.Create(3)); var context = new TemplateContext(); var result = NumberFilters.Times(input, arguments, context); Assert.Equal("18", result.Result.ToStringValue()); }
public void Minus() { var input = new NumberValue(6); var arguments = new FilterArguments(3); var context = new TemplateContext(); var result = NumberFilters.Minus(input, arguments, context); Assert.Equal(3, result.ToNumberValue()); }
public void Ceil() { var input = new NumberValue(4.6); var arguments = new FilterArguments(); var context = new TemplateContext(); var result = NumberFilters.Ceil(input, arguments, context); Assert.Equal(5, result.ToNumberValue()); }
public void TimesMaintainsScale() { var input = NumberValue.Create(6); var arguments = new FilterArguments(1.0M); var context = new TemplateContext(); var result = NumberFilters.Times(input, arguments, context); Assert.Equal(6, result.ToNumberValue()); Assert.Equal("6.0", result.ToStringValue()); }
public void TimesCanChangeToFloat() { var input = NumberValue.Create(6, true); var arguments = new FilterArguments(1.0); var context = new TemplateContext(); var result = NumberFilters.Times(input, arguments, context); Assert.Equal(6, result.ToNumberValue()); Assert.False(((NumberValue)result).IsIntegral); }
public void Times() { var input = new NumberValue(6, true); var arguments = new FilterArguments(3); var context = new TemplateContext(); var result = NumberFilters.Times(input, arguments, context); Assert.Equal(18, result.ToNumberValue()); Assert.True(((NumberValue)result).IsIntegral); }
public void DividedByReturnsSameTypeAsDivisor(decimal value, string divisor, decimal expected) { // https://shopify.github.io/liquid/filters/divided_by/ var input = NumberValue.Create(value); var arguments = new FilterArguments(NumberValue.Create(divisor)); var context = new TemplateContext(); var result = NumberFilters.DividedBy(input, arguments, context); Assert.Equal(expected, result.Result.ToNumberValue()); }