using Catel.Windows.Data.Converters;
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace Catel.Test.Windows.Data.Converters
{
[TestClass]
public class BooleanToTextConverterTest
{
[TestMethod]
public void Convert_Null()
{
var converter = new BooleanToTextConverter();
Assert.AreEqual(string.Empty, converter.Convert(null, typeof(string), null, null));
}
[TestMethod]
public void Convert_NonBoolean()
{
var converter = new BooleanToTextConverter();
Assert.AreEqual(string.Empty, converter.Convert("string", typeof(string), null, null));
}
[TestMethod]
public void Convert_True()
{
var converter = new BooleanToTextConverter();
Assert.AreEqual("Yes", converter.Convert(true, typeof(string), null, null));
}
[TestMethod]
public void Convert_False()
{
var converter = new BooleanToTextConverter();
Assert.AreEqual("No", converter.Convert(false, typeof(string), null, null));
}
[TestMethod]
public void Convert_True_YesNoAsText()
{
var converter = new BooleanToTextConverter();
Assert.AreEqual("Yes", converter.Convert(true, typeof(string), "YesNo", null));
}
[TestMethod]
public void Convert_True_YesNoAsValue()
{
var converter = new BooleanToTextConverter();
Assert.AreEqual("Yes", converter.Convert(true, typeof(string), BooleanToTextConverterMode.YesNo, null));
}
[TestMethod]
public void Convert_True_XAsText()
{
var converter = new BooleanToTextConverter();
Assert.AreEqual("x", converter.Convert(true, typeof(string), "X", null));
}
[TestMethod]
public void Convert_True_XAsValue()
{
var converter = new BooleanToTextConverter();
Assert.AreEqual("x", converter.Convert(true, typeof(string), BooleanToTextConverterMode.X, null));
}
[TestMethod]
public void Convert_False_YesNoAsText()
{
var converter = new BooleanToTextConverter();
Assert.AreEqual("No", converter.Convert(false, typeof(string), "YesNo", null));
}
[TestMethod]
public void Convert_False_YesNoAsValue()
{
var converter = new BooleanToTextConverter();
Assert.AreEqual("No", converter.Convert(false, typeof(string), BooleanToTextConverterMode.YesNo, null));
}
[TestMethod]
public void Convert_False_XAsText()
{
var converter = new BooleanToTextConverter();
Assert.AreEqual(string.Empty, converter.Convert(false, typeof(string), "X", null));
}
[TestMethod]
public void Convert_False_XAsValue()
{
var converter = new BooleanToTextConverter();
Assert.AreEqual(string.Empty, converter.Convert(false, typeof(string), BooleanToTextConverterMode.X, null));
}
[TestMethod]
public void ConvertBack()
{
var converter = new BooleanToTextConverter();
Assert.AreEqual(ConverterHelper.DoNothingBindingValue, converter.ConvertBack(null, typeof(bool), null, null));
}
//[TestMethod]
//public void ConvertBack_Null()
//{
// Assert.Fail("Need to write unit test");
//}
//[TestMethod]
//public void ConvertBack_YesNo_Yes()
//{
// Assert.Fail("Need to write unit test");
//}
//[TestMethod]
//public void ConvertBack_YesNo_No()
//{
// Assert.Fail("Need to write unit test");
//}
//[TestMethod]
//public void ConvertBack_X_X()
//{
// Assert.Fail("Need to write unit test");
//}
//[TestMethod]
//public void ConvertBack_X_EmptyString()
//{
// Assert.Fail("Need to write unit test");
//}
}
}