Возврат объекта в 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() создаст довольно скучный объект, но это может быть хорошо в модульном тесте.)

Другие вопросы по тегам