public void TestNotEmptyConverter() { var chain = new ConverterChain(); chain.Converters.Add(new EmptyConverter()); chain.Converters.Add(new BooleanInverter()); Assert.AreEqual(false, chain.Convert(new int[0], null, null, null)); Assert.AreEqual(true, chain.Convert(new[] { 1 }, null, null, null)); }
public void ConvertBackThrowsException() { // Arrange var conv = new ConverterChain(); // Act var ex = ExceptionAssert.Catch <NotSupportedException>(() => conv.ConvertBack(null, null, null, null)); // Assert Assert.IsNotNull(ex); }
public void TestInvertedVisibilityConverter() { var chain = new ConverterChain(); chain.Converters.Add(new BooleanInverter()); chain.Converters.Add(new BooleanToVisibilityConverter()); Assert.AreEqual(Visibility.Collapsed, chain.Convert(true, null, null, null)); Assert.AreEqual(Visibility.Visible, chain.Convert(false, null, null, null)); Assert.AreEqual(true, chain.ConvertBack(Visibility.Collapsed, typeof(bool), null, null)); Assert.AreEqual(false, chain.ConvertBack(Visibility.Visible, typeof(bool), null, null)); }
public void TestInvertedContainsVisibilityConverter() { var chain = new ConverterChain(); chain.MultiConverter = new ContainsConverter(); chain.Converters.Add(new BooleanInverter()); chain.Converters.Add(new BooleanToVisibilityConverter()); var array = new[] { 1, 2 }; Assert.AreEqual(Visibility.Collapsed, chain.Convert(new object[] { array, 1 }, null, null, null)); Assert.AreEqual(Visibility.Collapsed, chain.Convert(new object[] { array, 2 }, null, null, null)); Assert.AreEqual(Visibility.Visible, chain.Convert(new object[] { array, 3 }, null, null, null)); }
public void WhenConvertingWithChainedConvertersThenResultWasConvertedByEachConverterInTheExpectedOrder() { var emptyStringToBooleanConverter = new EmptyStringToBooleanConverter(); var inverseBooleanConverter = new InverseBooleanConverter(); var convertersChain = new ConverterChain(new Collection <IValueConverter>() { emptyStringToBooleanConverter, inverseBooleanConverter }); object result = convertersChain.Convert("just a string", typeof(bool), null, new CultureInfo("en-us")); Assert.IsInstanceOfType(result, typeof(bool)); Assert.AreEqual(result, true); }
public void ConvertersAreChainedCorrectly() { // Arrange var c1 = new Mock <IValueConverter>(); var c2 = new Mock <IValueConverter>(); var c3 = new Mock <IValueConverter>(); c1.Setup(c => c.Convert(123, typeof(string), 444, CultureInfo.InvariantCulture)).Returns(124).Verifiable(); c2.Setup(c => c.Convert(124, typeof(string), 444, CultureInfo.InvariantCulture)).Returns(125).Verifiable(); c3.Setup(c => c.Convert(125, typeof(string), 444, CultureInfo.InvariantCulture)).Returns(126).Verifiable(); // Act var chain = new ConverterChain { c1.Object, c2.Object, c3.Object }; var result = chain.Convert(123, typeof(string), 444, CultureInfo.InvariantCulture); // Assert Assert.AreEqual(126, result); c1.VerifyAll(); c2.VerifyAll(); c3.VerifyAll(); }