public void AverageAndStandardDeviationWithMissingMeasures() { var observation1 = new StatsCollection( WeatherStat.Temperature(19.0), WeatherStat.Humidity(59.0)); var observation2 = new StatsCollection( WeatherStat.Temperature(21.0), WeatherStat.Precipitations(18.0)); var observation3 = new StatsCollection( WeatherStat.Pressure(1020.0f), WeatherStat.Humidity(55.0)); var agregate = StatsCollection.Agregate(observation1, observation2, observation3); Assert.AreEqual(agregate.Temperature, 20.0); Assert.AreEqual(agregate.TemperatureStandardDeviation, 1.0); Assert.AreEqual(agregate.Humidity, 57); Assert.AreEqual(agregate.HumidityStandardDeviation, 2.0); Assert.AreEqual(agregate.Precipitations, 18.0); Assert.AreEqual(agregate.PrecipitationsStandardDeviation, 0.0); Assert.AreEqual(agregate.Pressure, 1020.0f); Assert.AreEqual(agregate.PressureStandardDeviation, 0.0f); }
public void AverageAndDeviationOfAbsentMeasure() { var observation1 = new StatsCollection( WeatherStat.Temperature(19.0), WeatherStat.Humidity(59.0)); var observation2 = new StatsCollection( WeatherStat.Temperature(21.0), WeatherStat.Humidity(69.0)); var agregate = StatsCollection.Agregate(observation1, observation2); Assert.AreEqual(agregate.Precipitations, null); Assert.AreEqual(agregate.PrecipitationsStandardDeviation, null); }
public void AverageOfAverages() { var observation1 = new StatsCollection( WeatherStat.Temperature(19.0), WeatherStat.Humidity(59.0), WeatherStat.Precipitations(0.0)); var observation2 = new StatsCollection( WeatherStat.Temperature(21.0), WeatherStat.Humidity(69.0), WeatherStat.Precipitations(15.0)); var observation3 = new StatsCollection( WeatherStat.Temperature(20.0), WeatherStat.Humidity(67.0), WeatherStat.Precipitations(45.0)); var average1 = StatsCollection.Agregate(StatsCollection.Agregate(observation1, observation2), observation3); var average2 = StatsCollection.Agregate(observation1, StatsCollection.Agregate(observation2, observation3)); Assert.AreEqual(average1, average2); }
public void AverageOfSeveralObservations() { var observation1 = new StatsCollection( WeatherStat.Temperature(19.0), WeatherStat.Humidity(59.0), WeatherStat.Precipitations(0.0)); var observation2 = new StatsCollection( WeatherStat.Temperature(21.0), WeatherStat.Humidity(69.0), WeatherStat.Precipitations(15.0)); var observation3 = new StatsCollection( WeatherStat.Temperature(20.0), WeatherStat.Humidity(67.0), WeatherStat.Precipitations(45.0)); var average = StatsCollection.Agregate(observation1, observation2, observation3); Assert.AreEqual(average.Temperature.Value, 20.0); Assert.AreEqual(average.Humidity.Value, 65.0); Assert.AreEqual(average.Precipitations.Value, 20.0); }
public void StandardDeviationOfTwoObservations() { var observation1 = new StatsCollection( WeatherStat.Temperature(19.0), WeatherStat.Humidity(59.0)); var observation2 = new StatsCollection( WeatherStat.Temperature(21.0), WeatherStat.Humidity(69.0)); var agregate = StatsCollection.Agregate(observation1, observation2); Assert.AreEqual(agregate.TemperatureStandardDeviation, 1.0); Assert.AreEqual(agregate.HumidityStandardDeviation, 5.0); }
public void StandardDeviationOfSingleObservationAgregate() { var observation = new StatsCollection( WeatherStat.Temperature(19.0), WeatherStat.Humidity(59.0)); var agregate = StatsCollection.Agregate(observation); Assert.AreEqual(agregate.TemperatureStandardDeviation, 0.0); }
public void SingleObservationIsEqualToItsAverage() { var observation = new StatsCollection( WeatherStat.Temperature(19.0), WeatherStat.Humidity(59.0)); var average = StatsCollection.Agregate(observation); Assert.AreEqual(observation, average); }
public void EquivalentAverages() { var lowObservation = new StatsCollection( WeatherStat.Temperature(19.0), WeatherStat.Humidity(59.0)); var highObservation = new StatsCollection( WeatherStat.Temperature(21.0), WeatherStat.Humidity(69.0)); var averageObservation = new StatsCollection( WeatherStat.Temperature(20.0), WeatherStat.Humidity(64.0)); var average1 = StatsCollection.Agregate(lowObservation, highObservation); var average2 = StatsCollection.Agregate(averageObservation, averageObservation); Assert.AreEqual(average1, average2); }
public void ConstructionTraceOfTwoObservations() { var observation1 = new StatsCollection(WeatherStat.Temperature(19.0)); var observation2 = new StatsCollection(WeatherStat.Temperature(21.0)); var agregate = StatsCollection.Agregate(observation1, observation2); Assert.AreEqual("(Temperature: 19 + Temperature: 21)", agregate.TemperatureConstructionTrace); }
public void ConstructionTraceOfSingleObservation() { var observation = new StatsCollection( WeatherStat.Temperature(19.0)); Assert.AreEqual("Temperature: 19", observation.TemperatureConstructionTrace); }
public void ConstructionTraceOfAgregatesOfAgregates() { var observation1 = new StatsCollection(WeatherStat.Temperature(19.0)); var observation2 = new StatsCollection(WeatherStat.Temperature(21.0)); var observation3 = new StatsCollection(WeatherStat.Temperature(23.0)); var observation4 = new StatsCollection(WeatherStat.Temperature(25.0)); var agregateLeft = StatsCollection.Agregate(observation1, observation2); var agregateRight = StatsCollection.Agregate(observation3, observation4); var agregate = StatsCollection.Agregate(agregateLeft, agregateRight); Assert.AreEqual( "((Temperature: 19 + Temperature: 21) + (Temperature: 23 + Temperature: 25))", agregate.TemperatureConstructionTrace); }
public void AverageOfTwoEqualObservations() { var observation = new StatsCollection( WeatherStat.Temperature(20.0), WeatherStat.Humidity(64.0)); var average = StatsCollection.Agregate(observation, observation); Assert.AreEqual(average.Temperature.Value, 20.0); Assert.AreEqual(average.Humidity.Value, 64.0); }
public void AverageOfTwoDifferentObservations() { var lowObservation = new StatsCollection( WeatherStat.Temperature(19.0), WeatherStat.Humidity(59.0)); var highObservation = new StatsCollection( WeatherStat.Temperature(21.0), WeatherStat.Humidity(69.0)); var average = StatsCollection.Agregate(lowObservation, highObservation); Assert.AreEqual(average.Temperature.Value, 20.0); Assert.AreEqual(average.Humidity.Value, 64.0); }