public void Test_Convert_ReverseLogic_InvisibleHidden()
        {
            var target = new ObjectReferenceToVisibilityConverter();

            target.ReverseLogic      = true;
            target.InvisibleToHidden = true;
            target.Convert(new object(), null, null, null).Should().Be(Visibility.Hidden);
            target.Convert(null, null, null, null).Should().Be(Visibility.Visible);
        }
        public void Test_Convert_NullableType()
        {
            var target = new ObjectReferenceToVisibilityConverter();

            target.ReverseLogic      = false;
            target.InvisibleToHidden = true;
            target.Convert(new int?(0), null, null, null).Should().Be(Visibility.Visible);
            target.Convert(new int?(), null, null, null).Should().Be(Visibility.Hidden);
        }
        public void Test_Convert_NormalLogic_InvisibleCollapse()
        {
            var target = new ObjectReferenceToVisibilityConverter();

            target.ReverseLogic      = false;
            target.InvisibleToHidden = false;
            target.Convert(new object(), null, null, null).Should().Be(Visibility.Visible);
            target.Convert(null, null, null, null).Should().Be(Visibility.Collapsed);
        }
        public void Test_ConvertBack_ReverseLogic_InvisibleCollapse()
        {
            var target = new ObjectReferenceToVisibilityConverter();

            target.ReverseLogic      = true;
            target.InvisibleToHidden = false;
            target.ConvertBack(Visibility.Visible, null, null, null).Should().Be(DependencyProperty.UnsetValue);
            target.ConvertBack(Visibility.Collapsed, null, null, null).Should().Be(DependencyProperty.UnsetValue);
            target.ConvertBack(Visibility.Hidden, null, null, null).Should().Be(DependencyProperty.UnsetValue);
        }