public void does_not_use_negative_input_values()
 {
     //arrange
     var inputData = new[] { 1.0, -1.0 };
     //act
     var gainMean = inputData.GainMean();
     //assert
     Assert.AreEqual(1.0, gainMean);
 }
 public void returns_NaN_when_all_input_is_negative()
 {
     //arrange
     var inputData = new[] { -1.0, -2.0, -3.0 };
     //act
     var gainMean = inputData.GainMean();
     //assert
     Assert.AreEqual(double.NaN, gainMean);
 }
 public void returns_zero_when_its_the_only_data()
 {
     //arrange
     var inputData = new[] { 0.0 };
     //act
     var gainMean = inputData.GainMean();
     //assert
     Assert.AreEqual(0.0, gainMean);
 }
 public void returns_same_as_mean_when_all_values_are_positive()
 {
     //arrange
     var inputData = new[] { 1.0, 2.0, 3.0 };
     var mean = inputData.Mean();
     //act
     var gainMean = inputData.GainMean();
     //assert
     Assert.AreEqual(mean, gainMean);
 }
 public void throws_when_input_data_is_null() //assert
 {
     //arrange
     var inputData = new[] { 1.0 };
     inputData = null;
     //act
     inputData.GainMean();
 }