2016-03-16 3 views
-2

У меня есть функция, которая сохраняет несколько клиентов по одному клиенту за раз. Я изо всех сил, чтобы создать и заполнить один из параметров IEnumerable со свойствами клиента типа строка: clientKey, CLIENTNAME и clientTypeCodeмодуль тестирования функции, которая принимает параметр IEnumerable <IClient> clients

public void SaveMultipleClients(IEnumerable<IClient> clients, TransactionMetadata metadata) 
    { 
     try 
     { 
      if (clients == null) 
      { 
       throw new ArgumentNullException("clients"); 
      } 

      var abstractClients = clients.ToList(); 
      var concreteClients = new List<Client>(); 
      for (int i = 0; i < abstractClients.Count; i++) 
      { 
       concreteClients.Add(abstractClients[i].ToConcreteType<IClient, Client>()); 
    var cleanClients = this.RemoveErroneousClient(concreteClients[i]); 
       foreach (var client in cleanClients) 
       { 
        this.SaveClient(client, metadata); 
       } 
      } 

      this.SavePending(concreteClients, metadata); 
     } 
     catch (Exception e) 
     { 
      throw e.WrapException(); 
     } 
    } 

Заранее спасибо за помощь!

+4

какая ошибка у вас есть? И где? –

+0

У вас есть конкретная реализация интерфейса IClient где-то, что вы создаете? Или вы издеваетесь над этим интерфейсом? Добавьте их в список Andez

+0

Если ваш вопрос: «Как создать коллекцию клиентов в модульном тесте», вы можете либо построить тестовую реализацию ICient, либо использовать фальшивую фреймворк (например, подделки MS), чтобы построить один внутри вашего теста –

ответ

0

Мне удалось создать экземпляр и заполнить список клиентов и передать его параметру клиентов.

var myClientsList = new List<IClient>(); 
     myClientsList.Add(individualClient); 
     myClientsList.Add(individualClient1); 

     var clients = clientDataManager.SaveMultipleClientsOneAtATime(myClientsList, new TransactionMetadata(DateTime.UtcNow)); 
+0

Вам не нравится этот подход? – JamesR

Смежные вопросы