Я хочу проверить метод ниже. Я возвращаю набор данных и проверяю коллекцию таблиц.
public string FetchAllDetails(string useCase, string strMainFlow)
{
var strError = new StringBuilder();
DataSet ds = _dal.Fetchdetails(useCase, strMainFlow, useCaseId, useCaseName);
DataTable dt = new DataTable();
dt = ds.Tables[0];
if (dt.Rows.Count > 0)
{
BindUsecaseId(strError, useCaseName);
foreach (var row in ds.Tables[0].AsEnumerable())
BindError(strError, GetOriginalFieldName(row[0].ToString()));
}
return strError.ToString();
}
Я написал ниже модульный тест с использованием Pex.
[PexMethod]
public string FetchAllDetailsTest(string useCase, string strMainFlow)
{
SIUploadtoolDAL dal = new SIUploadtoolDAL();
UploadtoolBL target = new UploadtoolBL(dal);
MDataTableCollection dt2 = new MDataTableCollection();
dt2.Add = () =>
{
MDataTable dt1 = new MDataTable();
dt1.ColumnsGet = () =>
{
MDataColumnCollection dcCollection = new MDataColumnCollection();
dcCollection.Add = () =>
{
MDataColumn dc = new MDataColumn();
dc.ColumnNameGet = () =>
{
return "string";
};
dc.DataTypeGet = () =>
{
return typeof(string);
};
return dc;
};
return dcCollection;
};
return dt1;
};
dal.FetchdetailsStringStringInt32StringSqlTransaction = (useCaselocal, strMainFlowlocal, useCaseIdlocal, useCaseNamelocal) =>
{
MDataSet ds = new MDataSet();
ds.TablesGet = () =>
{
MDataTableCollection dt = new MDataTableCollection();
dt.Add = () =>
{
MDataTable dt1 = new MDataTable();
dt1.ColumnsGet = () =>
{
MDataColumnCollection dcCollection = new MDataColumnCollection();
dcCollection.Add = () =>
{
MDataColumn dc = new MDataColumn();
dc.ColumnNameGet = () =>
{
return "string";
};
dc.DataTypeGet = () =>
{
return typeof(string);
};
return dc;
};
return dcCollection;
};
return dt1;
};
return dt;
};
return ds;
};
return target.FetchAllDetails(useCase, strMainFlow, useCaseId, useCaseName);
}
Теперь я получаю MoledNotImplemented за ошибку DataTablecollection.
Как я могу смоделировать коллекцию таблиц набора данных?