Я определил конвертер в своем проекте. Я хочу начать с написания модульного теста для этого конвертера.
Код для конвертера:
public class BirdEyeViewColumnWidthConverter : IValueConverter
{
public int BirdEyeModeWidth { get; set; }
public int DefaultWidth { get; set; }
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value != null)
{
if ((bool) value)
{
return BirdEyeModeWidth;
}
}
return DefaultWidth;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
Как мне начать с этого?





Вчера пробовал нечто подобное, но вместо объекта у меня был словарь, так что, может, это поможет и TestCaseSourceAttribute
Кроме того, когда вы реализуете аргументы, проверьте, совпадает ли возвращаемый тип с ожидаемым вами - например, Assert.IsInstanceOf(typeof(DateTime), obj.CreationTime);
Моя беда, я неправильно прочитал приведенный пример. Как я вижу из данного кода ur, u передаст value как НЕ нулевой объект, и вы хотите получить свойство BirdEyeModeWidth, поэтому вам нужно проверить, являются ли ur методы, возвращающие данное свойство. U сначала нужно создать экземпляр объекта класса типа, в котором хранятся эти свойства, а затем, возможно, что-то вроде этого Assert.IsInstanceOf(typeof(int),obj.BirdEyeModeWidth)
How do I start with this?
BirdEyeViewColumnWidthConverter определен, из вновь созданного проекта модульного тестирования. Проект-> Добавить ссылку-> Проекты-> Решение.TestMethod1() сгенерированного класса UnitTest1.В этом методе вы создаете экземпляр своего класса конвертера, вызываете его метод Convert и утверждаете, что возвращаемое значение - это то, что вы ожидаете, например
[TestClass]
public class BirdEyeViewColumnWidthConverterTests
{
[TestMethod]
public void BirdEyeViewColumnWidthConverterTest()
{
const int BirdEyeModeWidth = 20;
const int DefaultWidth = 10;
BirdEyeViewColumnWidthConverter converter = new BirdEyeViewColumnWidthConverter()
{
BirdEyeModeWidth = BirdEyeModeWidth,
DefaultWidth = DefaultWidth,
};
int convertedValue = (int)converter.Convert(true, typeof(int), null, CultureInfo.InvariantCulture);
Assert.AreEqual(BirdEyeModeWidth, convertedValue);
convertedValue = (int)converter.Convert(false, typeof(int), null, CultureInfo.InvariantCulture);
Assert.AreEqual(DefaultWidth, convertedValue);
}
}
Итак, здесь мне нужно сравнить возвращаемый тип каких двух объектов?