Набор данных Moled с использованием Pex и Moles - PullRequest
0 голосов
/ 27 декабря 2011

Я хочу проверить метод ниже. Я возвращаю набор данных и проверяю коллекцию таблиц.

    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. Как я могу смоделировать коллекцию таблиц набора данных?

...