public void TearDown() { _checker = null; _inputFile = null; _resultNode = null; _dataPacket = null; _selection = null; _logger = null; _mockRepository = null; }
public void SetUp() { _mockRepository = new MockRepository(); _logger = MockRepository.GenerateStub <IForensicIntegrityLog>(); _selection = MockRepository.GenerateStub <ISelection>(); _dataPacket = MockRepository.GenerateStub <IDataPacket>(); _resultNode = MockRepository.GenerateStub <IResultNode>(); _inputFile = MockRepository.GenerateStub <IInputFile>(); _checker = new ParametersChecker(_logger); }
/// <summary> /// Traitement de la commande. /// </summary> /// <typeparam name="QueryT">Type de la commande.</typeparam> /// <typeparam name="ResultT">Type du résultat.</typeparam> /// <param name="query">Commande.</param> /// <param name="resultAccessor"></param> /// <returns>Résultat d'exécution de la commande.</returns> private async Task <IWrittableResult <ResultT> > ProcessInternal <QueryT, ResultT>(QueryT query, Func <QueryT, ResultT> resultAccessor) where QueryT : IQuery { try { // Initialisation du résultat. IWrittableResult <ResultT> result = new ExecutionResult <ResultT>(); // Contrôles des paramètres et du contexte. IChecker contextChecker = new ContextChecker(result); IChecker parametersChecker = new ParametersChecker(result); query.CheckContext(applicationContext, contextChecker); query.CheckParameters(parametersChecker); // Contrôle de la possiblité d'exécuter la commande. Si non, on indique que l'exécution a échoué. if (result.ValidContext && result.ValidParameters) { try { // Exécution de la commande. await query.ExecuteAsync(executionContext, applicationContext); result.SetSucces(true); } catch (Exception error) { result.AddError(error); result.SetSucces(false); } // Si la commande a reussi, affectation du résultat. if (result.Success && query is IQuery <ResultT> ) { result.SetResult(resultAccessor(query)); } } else { result.SetSucces(false); } return(result); } catch (Exception error) { throw error; } }