public void Setup()
 {
     _coupaImporterRepository        = Substitute.For <ICoupaImporterRepository>();
     _projectPurchaseOrderRepository = Substitute.For <IProjectPurchaseOrderRepository>();
     _projectInvoiceRepository       = Substitute.For <IProjectInvoiceRepository>();
     _projectRequisitionRepository   = Substitute.For <IProjectRequisitionRepository>();
     _unitOfWork = Substitute.For <IUnitOfWork>();
     _service    = new CoupaImporterService(_coupaImporterRepository, _projectInvoiceRepository, _projectPurchaseOrderRepository, _projectRequisitionRepository, _unitOfWork);
 }
 public CoupaImporterService(ICoupaImporterRepository coupaImporterRepository,
                             IProjectInvoiceRepository projectInvoiceRepository,
                             IProjectPurchaseOrderRepository projectPurchaseOrderRepository,
                             IProjectRequisitionRepository projectRequisitionRepository,
                             IUnitOfWork unitOfWork)
 {
     _coupaImporterRepository        = coupaImporterRepository ?? throw new ArgumentNullException(nameof(coupaImporterRepository));
     _projectInvoiceRepository       = projectInvoiceRepository ?? throw new ArgumentNullException(nameof(projectInvoiceRepository));
     _projectPurchaseOrderRepository = projectPurchaseOrderRepository ?? throw new ArgumentNullException(nameof(projectPurchaseOrderRepository));
     _projectRequisitionRepository   = projectRequisitionRepository ?? throw new ArgumentNullException(nameof(projectRequisitionRepository));
     _unitOfWork = unitOfWork ?? throw new ArgumentNullException(nameof(unitOfWork));
 }