public void TestAnalogyMessagesTypes()
 {
     AnalogyLogMessage m1 = new AnalogyInformationMessage("text", "Source");
     AnalogyLogMessage m2 = new AnalogyErrorMessage("text", "Source");
     AnalogyLogMessage m3 = new AnalogyWarningMessage("text", "Source");
     AnalogyLogMessage m4 = new AnalogyDebugMessage("text", "Source");
     AnalogyLogMessage m5 = new AnalogyCriticalMessage("text", "Source");
 }
        public override async Task InitializeDataProviderAsync(IAnalogyLogger logger)
        {
            await base.InitializeDataProviderAsync(logger);

            httpClient = new HttpClient {
                BaseAddress = new Uri(UserSettingsManager.UserSettings.Settings.Address)
            };
            httpClient.DefaultRequestHeaders.Add("User-Agent", "Analogy Affirmations");
            httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

            OnlineFetcher = new Timer(UserSettingsManager.UserSettings.Settings.CheckInterval);

            OnlineFetcher.Elapsed += async(s, e) =>
            {
                HttpResponseMessage response = await httpClient.GetAsync("/");

                response.EnsureSuccessStatusCode();
                var resp = await response.Content.ReadAsStringAsync();

                AffirmationData   affirmation = JsonConvert.DeserializeObject <AffirmationData>(resp);
                AnalogyLogMessage m           = new AnalogyInformationMessage(affirmation.affirmation, UserSettingsManager.UserSettings.Settings.Address);
                MessageReady(this, new AnalogyLogMessageArgs(m, Environment.MachineName, "Example", Id));
            };
        }