using System;
using Catel.Windows.Data.Converters;
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace Catel.Test.Windows.Data.Converters
{
[TestClass]
public class MethodToValueConverterTest
{
[TestMethod]
public void Convert_ValidMethod()
{
var converter = new MethodToValueConverter();
Assert.AreEqual("1234", converter.Convert(1234, typeof(string), "ToString", null));
Assert.AreEqual("ABCD", converter.Convert(" ABCD ", typeof(string), "Trim", null));
}
[TestMethod]
public void Convert_NullValue()
{
var converter = new MethodToValueConverter();
Assert.IsNull(converter.Convert(null, typeof(string), "ToString", null));
}
[TestMethod]
public void Convert_InvalidMethod()
{
var converter = new MethodToValueConverter();
Assert.AreEqual("Pineapple", converter.Convert("Pineapple", typeof(string), "InvalidMethodName", null));
}
[TestMethod]
public void ConvertBack()
{
var converter = new MethodToValueConverter();
try
{
converter.ConvertBack("ABCD", typeof (string), "ToString", null);
Assert.Fail("Exception should be thrown since ConvertBack is not supported");
}
catch (Exception)
{
// We expect an exception, succeeded
}
}
}
}