static async Task RunAsync() { using (var client = new HttpClient()) { client.BaseAddress = new Uri("http://localhost:1961/"); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")); // HTTP GET HttpResponseMessage response = await client.GetAsync("api/pets"); if (response.IsSuccessStatusCode) { Pets[] pets = await response.Content.ReadAsAsync <Pets[]>(); foreach (Pets pet in pets) { Console.WriteLine("{0}\t{1}\t{2}", pet.ID, pet.Name, pet.Birthday.ToString()); } response = await client.GetAsync("api/pets/{D1CDA7F6-7539-46B1-A4C5-F593CA8D2D8F}"); if (response.IsSuccessStatusCode) { var result = await response.Content.ReadAsAsync <Pets>(); } } else { Console.WriteLine("Not successful: {0}, {1}", response.RequestMessage.RequestUri, response.ReasonPhrase); } // HTTP POST Pets cat = new Pets() { ID = Guid.NewGuid(), Name = "Oliver", Birthday = new DateTime(2008, 4, 15) }; var json = new JavaScriptSerializer().Serialize(cat); response = await client.PostAsJsonAsync("api/pets", json); if (response.IsSuccessStatusCode) { Console.WriteLine("Post succeeded"); } else { Console.WriteLine("Post failed"); } response = await client.GetAsync("api/weather"); if (response.IsSuccessStatusCode) { WeatherSample sample = await response.Content.ReadAsAsync <WeatherSample>(); if (sample is WeatherSample) { Console.WriteLine("Get WeatherSample succeeded"); } } } }
public void GroupCwTest() { var sample = new WeatherSample( hemisphere: Hemisphere.North, summerRainfall: 120, winterRainfall: 10, summerTemp: 15, winterTemp: 2, hottestTemp: 16, coldestTemp: 1 ); Assert.IsTrue(Koppen.KoppenClassifier.Classify(sample).StartsWith("Cw"), sample.ToString()); var wrongRainRatioSample = new WeatherSample( hemisphere: Hemisphere.North, summerRainfall: 90, winterRainfall: 20, summerTemp: 15, winterTemp: 2, hottestTemp: 16, coldestTemp: 1 ); Assert.IsFalse(Koppen.KoppenClassifier.Classify(wrongRainRatioSample).StartsWith("Cw"), wrongRainRatioSample.ToString()); }
public void EFTest() { var sample = new WeatherSample( hemisphere: Hemisphere.North, summerRainfall: 0, winterRainfall: 0, summerTemp: -1, winterTemp: -1, hottestTemp: -1, coldestTemp: -1 ); Assert.AreEqual("EF", Koppen.KoppenClassifier.Classify(sample)); var cuspSample = new WeatherSample( hemisphere: Hemisphere.North, summerRainfall: 0, winterRainfall: 0, summerTemp: 0, winterTemp: 0, hottestTemp: 0, coldestTemp: 0 ); Assert.AreNotEqual("EF", Koppen.KoppenClassifier.Classify(cuspSample)); }
public void GroupCTest() { var sample = new WeatherSample( hemisphere: Hemisphere.North, summerRainfall: 42, winterRainfall: 42, summerTemp: 15, winterTemp: 2, hottestTemp: 16, coldestTemp: 1 ); Assert.IsTrue(Koppen.KoppenClassifier.Classify(sample).StartsWith("C"), sample.ToString()); var tooColdSample = new WeatherSample( hemisphere: Hemisphere.North, summerRainfall: 42, winterRainfall: 42, summerTemp: 12, winterTemp: 2, hottestTemp: 12, coldestTemp: -1 ); Assert.IsFalse(Koppen.KoppenClassifier.Classify(tooColdSample).StartsWith("C"), tooColdSample.ToString()); }
public override Task <WeatherSample> GetWeatherSamples(WeatherRequest request, ServerCallContext context) { var sample = new WeatherSample() { Time = Timestamp.FromDateTime(DateTime.UtcNow) }; for (var x = 0; x < 5; ++x) { sample.Samples.Add(GenerateResult()); } return(Task.FromResult(sample)); }
public void ETTest() { var sample = new WeatherSample( hemisphere: Hemisphere.North, summerRainfall: 0, winterRainfall: 0, summerTemp: 5, winterTemp: -10, hottestTemp: 6, coldestTemp: -10 ); Assert.AreEqual("ET", Koppen.KoppenClassifier.Classify(sample)); var lowCuspSample = new WeatherSample( hemisphere: Hemisphere.North, summerRainfall: 0, winterRainfall: 0, summerTemp: 0, winterTemp: 0, hottestTemp: 0, coldestTemp: 0 ); Assert.AreEqual("ET", Koppen.KoppenClassifier.Classify(lowCuspSample)); var highCuspSample = new WeatherSample( hemisphere: Hemisphere.North, summerRainfall: 0, winterRainfall: 0, summerTemp: 9, winterTemp: 9, hottestTemp: 9, coldestTemp: 9 ); Assert.AreEqual("ET", Koppen.KoppenClassifier.Classify(highCuspSample)); var overCuspSample = new WeatherSample( hemisphere: Hemisphere.North, summerRainfall: 0, winterRainfall: 0, summerTemp: 10, winterTemp: 10, hottestTemp: 10, coldestTemp: 10 ); Assert.AreNotEqual("ET", Koppen.KoppenClassifier.Classify(overCuspSample)); }
public void GroupDsdTest() { var sample = new WeatherSample( hemisphere: Hemisphere.North, summerRainfall: 20, winterRainfall: 61, summerTemp: 9, winterTemp: -20, hottestTemp: 10, coldestTemp: -38 ); Assert.AreEqual("Dsd", Koppen.KoppenClassifier.Classify(sample), sample.ToString()); }
public void GroupDfTest() { var sample = new WeatherSample( hemisphere: Hemisphere.North, summerRainfall: 30, winterRainfall: 30, summerTemp: -1, winterTemp: 2, hottestTemp: 16, coldestTemp: 1 ); Assert.IsTrue(Koppen.KoppenClassifier.Classify(sample).StartsWith("Df"), sample.ToString()); }
public void GroupCsbTest() { var sample = new WeatherSample( hemisphere: Hemisphere.North, summerRainfall: 20, winterRainfall: 61, summerTemp: 18, winterTemp: 2, hottestTemp: 17, coldestTemp: 1 ); Assert.AreEqual("Csb", Koppen.KoppenClassifier.Classify(sample), sample.ToString()); }
public void GroupAmTest() { var sample = new WeatherSample( hemisphere: Hemisphere.North, summerRainfall: 120, winterRainfall: 58, summerTemp: 18, winterTemp: 18, hottestTemp: 18, coldestTemp: 18 ); Assert.AreEqual("Am", Koppen.KoppenClassifier.Classify(sample), sample.ToString()); }
public void LegalRangeTest() { const byte RainMin = 0; const byte RainMax = 201; const short TempMin = -45; const short TempMax = 46; for (var summerRainfall = RainMin; summerRainfall < RainMax; summerRainfall++) { for (var winterRainfall = RainMin; winterRainfall < RainMax; winterRainfall++) { for (var hottestTemp = TempMin; hottestTemp < TempMax; hottestTemp++) { for (var coldestTemp = TempMin; coldestTemp < TempMax; coldestTemp++) { var sample = new WeatherSample( hemisphere: Hemisphere.North, summerRainfall: summerRainfall, winterRainfall: summerRainfall, summerTemp: hottestTemp, winterTemp: coldestTemp, hottestTemp: hottestTemp, coldestTemp: coldestTemp ); Assert.DoesNotThrow( () => KoppenClassifier.Classify(sample)); } } } } }
public void GroupBTest() { var sample = new WeatherSample( hemisphere: Hemisphere.North, summerRainfall: 0, winterRainfall: 0, summerTemp: 10, winterTemp: 10, hottestTemp: 10, coldestTemp: 10 ); Assert.IsTrue(Koppen.KoppenClassifier.Classify(sample).StartsWith("B")); var desertSample = new WeatherSample( hemisphere: Hemisphere.North, summerRainfall: 7, winterRainfall: 3, summerTemp: 10, winterTemp: 10, hottestTemp: 10, coldestTemp: 10 ); Assert.AreEqual("BWh", Koppen.KoppenClassifier.Classify(desertSample), desertSample.ToString()); var steppeSample = new WeatherSample( hemisphere: Hemisphere.North, summerRainfall: 29, winterRainfall: 13, summerTemp: 10, winterTemp: 10, hottestTemp: 10, coldestTemp: 10 ); Assert.AreEqual("BSh", Koppen.KoppenClassifier.Classify(steppeSample), steppeSample.ToString()); var desertColdSample = new WeatherSample( hemisphere: Hemisphere.North, summerRainfall: 7, winterRainfall: 3, summerTemp: 10, winterTemp: 10, hottestTemp: 10, coldestTemp: -1 ); Assert.AreEqual("BWk", Koppen.KoppenClassifier.Classify(desertColdSample), desertColdSample.ToString()); var steppeColdSample = new WeatherSample( hemisphere: Hemisphere.North, summerRainfall: 29, winterRainfall: 13, summerTemp: 10, winterTemp: 10, hottestTemp: 10, coldestTemp: -1 ); Assert.AreEqual("BSk", Koppen.KoppenClassifier.Classify(steppeColdSample), steppeColdSample.ToString()); var steppeCuspSample = new WeatherSample( hemisphere: Hemisphere.North, summerRainfall: 29, winterRainfall: 13, summerTemp: 10, winterTemp: 10, hottestTemp: 10, coldestTemp: 10 ); Assert.AreEqual("BSh", Koppen.KoppenClassifier.Classify(steppeCuspSample), steppeCuspSample.ToString()); }