public void BooleanToVisibilityMultiConverter_NullValue()
        {
            var c = new BooleanToVisibilityMultiConverter();

            c.NullValue = Visibility.Hidden;
            var res = c.Convert(null, CultureInfo.CurrentCulture);

            Assert.Equal(Visibility.Hidden, res);
        }
        public void GenericMultiConverterTest_UnsetValues()
        {
            var c = new BooleanToVisibilityMultiConverter();

            c.TrueValue = Visibility.Hidden;
            var res = new Func <Visibility>(() => (Visibility)((IMultiValueConverter)c).Convert(new object[] { true, DependencyProperty.UnsetValue }, typeof(bool), null, CultureInfo.CurrentCulture));

            Assert.Throws <NotSupportedException>(() => res());
            c.AllowUnsetValues = true;
            Assert.Equal(Visibility.Hidden, res());
            c.IgnoreUnsetValues = false;
            Assert.NotEqual(Visibility.Hidden, res());
            c.UnsetValue = Visibility.Hidden;
            Assert.Equal(Visibility.Hidden, res());
        }
        public void BooleanToVisibilityMultiConverter_AnyFalse()
        {
            var c = new BooleanToVisibilityMultiConverter();

            c.Mode = BooleanMultiConverterMode.AnyFalse;
            var res = c.Convert(new[] { true, true }, CultureInfo.CurrentCulture);

            Assert.Equal(Visibility.Collapsed, res);
            res = c.Convert(new[] { false, false }, CultureInfo.CurrentCulture);
            Assert.Equal(Visibility.Visible, res);
            res = c.Convert(new[] { true, false }, CultureInfo.CurrentCulture);
            Assert.Equal(Visibility.Visible, res);
            res = c.Convert(new[] { true }, CultureInfo.CurrentCulture);
            Assert.Equal(Visibility.Collapsed, res);
            res = c.Convert(new[] { false }, CultureInfo.CurrentCulture);
            Assert.Equal(Visibility.Visible, res);
        }