/// <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))));
Exemple #2
0
        /// <summary>
        /// Получить тестовую таблицу
        /// </summary>
        public static Mock <ITestTable> GetTestDatabaseTable(IResultCollection <TestEntity> testEntities,
                                                             IResultError resultDelete,
                                                             Func <TestEntity, IResultValue <TestEntity> > deleteFunc,
                                                             Func <TestEnum, IResultValue <TestEntity> > findIdFunc) =>
        new Mock <ITestTable>().
        Void(tableMock => tableMock.Setup(table => table.Remove(It.IsAny <TestEntity>())).
             Returns(deleteFunc)).
        Void(tableMock => tableMock.Setup(table => table.Remove()).
             Returns(resultDelete)).
        Void(tableMock => tableMock.Setup(table => table.FindByIdAsync(It.IsAny <TestEnum>())).

             ReturnsAsync((TestEnum id) => testEntities.ToResultValue().ResultValueBindOk(_ => findIdFunc(id))));
Exemple #3
0
 /// <summary>
 /// Выполнение положительного условия или возвращение предыдущей ошибки в результирующем ответе коллекции с возвращением к значению
 /// </summary>
 public static IResultValue <TValueOut> ResultCollectionOkToValue <TValueIn, TValueOut>(this IResultCollection <TValueIn> @this,
                                                                                        Func <IReadOnlyCollection <TValueIn>, TValueOut> okFunc) =>
 @this.ToResultValue().
 ResultValueOk(okFunc);
Exemple #4
0
 /// <summary>
 /// Выполнение положительного или негативного условия в результирующем ответе коллекции с возвращением к значению
 /// </summary>
 public static IResultValue <TValueOut> ResultCollectionOkBadToValue <TValueIn, TValueOut>(this IResultCollection <TValueIn> @this,
                                                                                           Func <IReadOnlyCollection <TValueIn>, TValueOut> okFunc,
                                                                                           Func <IReadOnlyCollection <IErrorResult>, TValueOut> badFunc) =>
 @this.ToResultValue().
 ResultValueOkBad(okFunc, badFunc);
Exemple #5
0
 /// <summary>
 /// Выполнение условия или возвращение предыдущей ошибки в результирующем ответе коллекции с возвращением к значению
 /// </summary>
 public static IResultValue <TValueOut> ResultCollectionContinueToValue <TValueIn, TValueOut>(this IResultCollection <TValueIn> @this,
                                                                                              Func <IReadOnlyCollection <TValueIn>, bool> predicate,
                                                                                              Func <IReadOnlyCollection <TValueIn>, TValueOut> okFunc,
                                                                                              Func <IReadOnlyCollection <TValueIn>, IEnumerable <IErrorResult> > badFunc) =>
 @this.ToResultValue().
 ResultValueContinue(predicate, okFunc, badFunc);
Exemple #6
0
 /// <summary>
 /// Выполнение положительного условия или возвращение предыдущей ошибки асинхронном в результирующем ответе коллекции с возвращением к значению
 /// </summary>
 public static async Task <IResultValue <TValueOut> > ResultCollectionOkToValueAsync <TValueIn, TValueOut>(this IResultCollection <TValueIn> @this,
                                                                                                           Func <IReadOnlyCollection <TValueIn>, Task <TValueOut> > okFunc) =>
 await @this.ToResultValue().
 ResultValueOkAsync(okFunc);