Ejemplo n.º 1
0
 /// <summary>
 /// Получить тестовую таблицу
 /// </summary>
 private static Mock <ITestTable> GetTestDatabaseTable(IResultCollection <TestEntity> testEntities,
                                                       Func <TestEnum, IResultValue <TestEntity> > findIdFunc,
                                                       Func <IEnumerable <TestEnum>, IResultCollection <TestEntity> > findIdsFunc) =>
 new Mock <ITestTable>().
 Void(tableMock => tableMock.Setup(table => table.ToListMainAsync()).ReturnsAsync(testEntities)).
 Void(tableMock => tableMock.Setup(table => table.FindMainByIdAsync(It.IsAny <TestEnum>())).
      ReturnsAsync((TestEnum id) => testEntities.ToResultValue().ResultValueBindOk(_ => findIdFunc(id)))).
 Void(tableMock => tableMock.Setup(table => table.FindMainByIdsAsync(It.IsAny <IEnumerable <TestEnum> >())).
      ReturnsAsync((IEnumerable <TestEnum> ids) => testEntities.ResultCollectionBindOk(_ => findIdsFunc(ids))));
 /// <summary>
 /// Связать результирующий ответ со значением со связыванием с обработкой функции при положительном условии
 /// </summary>
 public static IResultCollection <TValueOut> ResultCollectionBindTryOk <TValueIn, TValueOut>(this IResultCollection <TValueIn> @this,
                                                                                             Func <IReadOnlyCollection <TValueIn>, IResultCollection <TValueOut> > func,
                                                                                             IErrorResult error) =>
 @this.ResultCollectionBindOk(value => ResultCollectionBindTry(() => func.Invoke(value), error));
Ejemplo n.º 3
0
 /// <summary>
 /// Добавить ошибки результирующего ответа или вернуть результат с ошибками для ответа с коллекцией
 /// </summary>
 public static IResultCollection <TValue> ResultCollectionBindErrorsOk <TValue>(this IResultCollection <TValue> @this,
                                                                                Func <IReadOnlyCollection <TValue>, IResultError> okFunc) =>
 @this.
 ResultCollectionBindOk(collection => okFunc.Invoke(collection).
                        Map(resultError => resultError.ToResultCollection(collection)));