Учитывая следующее SUT, считаете ли вы этот модульный тест ненужным?
** edit: мы не можем предположить, что имена будут совпадать, поэтому отражение не сработает.
** edit 2: на самом деле этот класс будет реализовывать интерфейс IMapper, и на уровне бизнес-логики приложения будет проводиться полномасштабное поведенческое (фиктивное) тестирование. этот тест просто является самым низким уровнем тестирования, который должен быть основан на состоянии. Я сомневаюсь, действительно ли этот тест необходим, потому что тестовый код практически идентичен самому исходному коду, и исходя из реального опыта, я не вижу, как этот модульный тест облегчает обслуживание приложения.
//SUT
public class Mapper
{
public void Map(DataContract from, DataObject to)
{
to.Value1 = from.Value1;
to.Value2 = from.Value2;
....
to.Value100 = from.Value100;
}
}
//Unit Test
public class MapperTest()
{
DataContract contract = new DataContract(){... } ;
DataObject do = new DataObject(){...};
Mapper mapper = new Mapper();
mapper.Map(contract, do);
Assert.AreEqual(do.Value1, contract.Value1);
...
Assert.AreEqual(do.Value100, contract.Value100);
}