public ProgramCsv(LearnerApiClient learnerApiClient, EpaApiClient epaApiClient, CertificateApiClient certificateApiClient, StandardsApiClient standardsApiClient)
 {
     _LearnerApiClient     = learnerApiClient;
     _EpaApiClient         = epaApiClient;
     _CertificateApiClient = certificateApiClient;
     _StandardsApiClient   = standardsApiClient;
 }
        public static void Main()
        {
            const string subscriptionKey = ""; // insert your key here
            const string apiBaseAddress  = ""; // insert the API address here

            HttpClient httpClient = new HttpClient();

            httpClient.DefaultRequestHeaders.Add("Accept", "application/json");
            httpClient.DefaultRequestHeaders.Add("Cache-Control", "no-cache");
            httpClient.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", subscriptionKey);
            httpClient.BaseAddress = new Uri(apiBaseAddress);

            LearnerApiClient     learnerApiClient     = new LearnerApiClient(httpClient);
            EpaApiClient         epaApiClient         = new EpaApiClient(httpClient);
            CertificateApiClient certificateApiClient = new CertificateApiClient(httpClient);
            StandardsApiClient   standardsApiClient   = new StandardsApiClient(httpClient);

            ProgramCsv p = new ProgramCsv(learnerApiClient, epaApiClient, certificateApiClient, standardsApiClient);

            p.GetLearnerExample().GetAwaiter().GetResult();
            p.CreateEpaRecordsExample().GetAwaiter().GetResult();
            p.UpdateEpaRecordsExample().GetAwaiter().GetResult();
            p.DeleteEpaRecordExample().GetAwaiter().GetResult();
            p.CreateCertificatesExample().GetAwaiter().GetResult();
            p.UpdateCertificatesExample().GetAwaiter().GetResult();
            p.SubmitCertificatesExample().GetAwaiter().GetResult();
            p.DeleteCertificateExample().GetAwaiter().GetResult();
            p.GetCertificateExample().GetAwaiter().GetResult();
            p.GetGradesExample().GetAwaiter().GetResult();
            p.GetOptionsForAllStandardsExample().GetAwaiter().GetResult();
            p.GetOptionsForStandardExample().GetAwaiter().GetResult();
        }
        public void Setup()
        {
            _MockHttp = new MockHttpMessageHandler();

            HttpClient httpClient = _MockHttp.ToHttpClient();

            httpClient.DefaultRequestHeaders.Add("Accept", "application/json");
            httpClient.DefaultRequestHeaders.Add("Cache-Control", "no-cache");
            httpClient.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", subscriptionKey);
            httpClient.BaseAddress = new Uri(apiBaseAddress);

            _ApiClient = new EpaApiClient(httpClient);
        }