У меня есть метод, подобный этому:
public virtual Tuple<int,int> GetQuantities(Entry entry, CartHelper cartHelper)
{
//something to do
return new Tuple<int, int>(minQuantity, maxQuantity);
}
, и для его модульного тестирования я пишу этот макет:
ProductMock
.Setup(
u => u.GetQuantities(It.IsAny<Entry>(),
It.IsAny<CartHelper>()))
.Returns(new Tuple<int,int>(minQuantity, maxQuantity));
Но этот код не удалось скомпилировать с этой ошибкой:
Аргумент 1: невозможно преобразовать из 'System.Tuple<int,int>
' в 'System.Tuple`2<int,int>
'
System.Tuple`2
подсказывает мне об «анонимном типе» за кортежемкласс, но я не могу найти, что происходит за кулисами, и как решить эту проблему.
Редактировать
Извините, мой плохой, я только что обнаружил, что наш основной проект настроен на.NET 3.5, и он использует Tuple из пользовательской ссылки (System.ComponentModel.Composition), а тестовый проект использует .NET 4.0, и он использует класс TNET .NET.Я не знаю, как эта несовместимая версия пришла к нашему решению, но мне пришлось переключиться на другой обходной путь вместо использования Tuple.