Возврат объекта в NMOCK2
Я использую NMOCK2, и я хочу, чтобы мой макет вернул список, содержащий 1 элемент, . Это то, что я написал до сих пор:
Expect.Once.On(mockDatabaseManager).
Method("GetTablesNames").
Will(Return.Value(new List<Result>()));
Можно ли вообще так поступить, и если да, то как мне это сделать?
Определение результата:
public class Result
{
private Dictionary<String, Object> _result = new Dictionary<string,object>();
public string GetString(String columnName)
{
return _result[columnName].ToString();
}
public double GetDouble(String columnName)
{
return Double.Parse(_result[columnName].ToString());
}
public int GetInteger(String columnName)
{
return int.Parse(_result[columnName].ToString());
}
public void Put(String columnName, Object value)
{
_result.Add(columnName, value);
}
}
1 ответ
Решение
Вы создаете новый пустой список с помощью этого кода:
new List<Result>()
Если вы хотите создать список с одним элементом, вы можете использовать инициализатор коллекции:
new List<Result> { new Result() }
(The Result
класс оборачивает словарь. Однако, кажется, нет никакого способа добавить записи в этот словарь, так что new Result()
создаст довольно скучный объект, но это может быть хорошо в модульном тесте.)