using System.Windows;
using Catel.Windows.Data.Converters;
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace Catel.Test.Windows.Data.Converters
{
[TestClass]
public class BooleanToVisibilityConverterTest
{
[TestMethod]
public void Convert_Null()
{
var converter = new BooleanToCollapsingVisibilityConverter();
Assert.AreEqual(Visibility.Collapsed, converter.Convert(null, typeof(Visibility), null, null));
}
[TestMethod]
public void Convert_NonBoolean()
{
var converter = new BooleanToCollapsingVisibilityConverter();
Assert.AreEqual(Visibility.Collapsed, converter.Convert("string", typeof(Visibility), null, null));
}
[TestMethod]
public void Convert_True()
{
var converter = new BooleanToCollapsingVisibilityConverter();
Assert.AreEqual(Visibility.Visible, converter.Convert(true, typeof(Visibility), null, null));
}
[TestMethod]
public void Convert_True_ParameterTrue()
{
var converter = new BooleanToCollapsingVisibilityConverter();
Assert.AreEqual(Visibility.Visible, converter.Convert(true, typeof(Visibility), true, null));
}
[TestMethod]
public void Convert_True_ParameterFalse()
{
var converter = new BooleanToCollapsingVisibilityConverter();
Assert.AreEqual(Visibility.Collapsed, converter.Convert(true, typeof(Visibility), false, null));
}
[TestMethod]
public void Convert_False()
{
var converter = new BooleanToCollapsingVisibilityConverter();
Assert.AreEqual(Visibility.Collapsed, converter.Convert(false, typeof(Visibility), null, null));
}
[TestMethod]
public void Convert_FalseParameterTrue()
{
var converter = new BooleanToCollapsingVisibilityConverter();
Assert.AreEqual(Visibility.Collapsed, converter.Convert(false, typeof(Visibility), true, null));
}
[TestMethod]
public void Convert_FalseParameterFalse()
{
var converter = new BooleanToCollapsingVisibilityConverter();
Assert.AreEqual(Visibility.Visible, converter.Convert(false, typeof(Visibility), false, null));
}
[TestMethod]
public void ConvertBack_Null()
{
var converter = new BooleanToCollapsingVisibilityConverter();
Assert.AreEqual(false, converter.ConvertBack(null, typeof(bool), null, null));
}
[TestMethod]
public void ConvertBack_Visible()
{
var converter = new BooleanToCollapsingVisibilityConverter();
Assert.AreEqual(true, converter.ConvertBack(Visibility.Visible, typeof(bool), null, null));
}
[TestMethod]
public void ConvertBack_VisibleParameterTrue()
{
var converter = new BooleanToCollapsingVisibilityConverter();
Assert.AreEqual(true, converter.ConvertBack(Visibility.Visible, typeof(bool), true, null));
}
[TestMethod]
public void ConvertBack_VisibleParameterFalse()
{
var converter = new BooleanToCollapsingVisibilityConverter();
Assert.AreEqual(false, converter.ConvertBack(Visibility.Visible, typeof(bool), false, null));
}
[TestMethod]
public void ConvertBack_Collapsed()
{
var converter = new BooleanToCollapsingVisibilityConverter();
Assert.AreEqual(false, converter.ConvertBack(Visibility.Collapsed, typeof(bool), null, null));
}
[TestMethod]
public void ConvertBack_CollapsedParameterTrue()
{
var converter = new BooleanToCollapsingVisibilityConverter();
Assert.AreEqual(false, converter.ConvertBack(Visibility.Collapsed, typeof(bool), true, null));
}
[TestMethod]
public void ConvertBack_CollapsedParameterFalse()
{
var converter = new BooleanToCollapsingVisibilityConverter();
Assert.AreEqual(true, converter.ConvertBack(Visibility.Collapsed, typeof(bool), false, null));
}
}
}