public void AggregatingMultiValueConverter_RepeatingLastConverter() { IMultiValueConverter target = new AggregatingMultiValueConverter { Converters = { BinaryOperationConverter.Subtraction, BinaryOperationConverter.Division, } }; var input = new object[] { 9, 3, 2, 3, 2 }; var result = target.Convert(input, null, null, null); // (((9 - 3) / 2) / 3) / 2 Assert.AreEqual(.5, result); }
public void AggregatingMultiValueConverter_CascadingMultiConverters() { IMultiValueConverter target = new AggregatingMultiValueConverter { Converters = { BinaryOperationConverter.Subtraction, BinaryOperationConverter.Division, ArithmeticMultiValueConverter.Product } }; var input = new object[] { 9, 3, 2, 3, 2 }; var result = target.Convert(input, null, null, null); // ((9 - 3) / 2) * 3 * 2 Assert.AreEqual(18.0, result); }
public void AggregatingMultiValueConverter_CalculateTimeThreshold_ConditionFails() { IMultiValueConverter target = new AggregatingMultiValueConverter { Converters = { BinaryOperationConverter.Subtraction, BinaryOperationConverter.LessThan } }; var now = DateTime.Now; var eventTime = now - TimeSpan.FromDays(2.3); var threshold = TimeSpan.FromDays(2.2); var result = target.Convert(new object[] { now, eventTime, threshold }, null, null, null); Assert.AreEqual(false, result); }