From: Joe W. <joe...@us...> - 2002-10-07 00:22:37
|
Update of /cvsroot/mockobjects/nmock/sample/random In directory usw-pr-cvs1:/tmp/cvs-serv2126/sample/random Modified Files: Weather.cs WeatherTest.cs Log Message: Added test for DefaultWeatherRandom Index: Weather.cs =================================================================== RCS file: /cvsroot/mockobjects/nmock/sample/random/Weather.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- Weather.cs 6 Oct 2002 23:14:27 -0000 1.2 +++ Weather.cs 7 Oct 2002 00:22:35 -0000 1.3 @@ -39,9 +39,9 @@ public class DefaultWeatherRandom : WeatherRandom { - private const double CHANCE_OF_RAIN = 0.2; - private const double MIN_TEMPERATURE = 20; - private const double MAX_TEMPERATURE = 30; + public const double CHANCE_OF_RAIN = 0.2; + public const double MIN_TEMPERATURE = 20; + public const double MAX_TEMPERATURE = 30; private const double TEMPERATURE_RANGE = (MAX_TEMPERATURE-MIN_TEMPERATURE); Index: WeatherTest.cs =================================================================== RCS file: /cvsroot/mockobjects/nmock/sample/random/WeatherTest.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- WeatherTest.cs 6 Oct 2002 23:14:27 -0000 1.2 +++ WeatherTest.cs 7 Oct 2002 00:22:35 -0000 1.3 @@ -21,8 +21,8 @@ [Test] public void RandomRaining() { - random.ExpectAndReturn("NextTemperature", 1.0); - random.ExpectAndReturn("NextIsRaining", true); + random.SetValue("NextTemperature", 1.0); + random.SetValue("NextIsRaining", true); weather.Randomize(); Assertion.Assert("is raining", weather.IsRaining); } @@ -30,8 +30,8 @@ [Test] public void RandomNotRaining() { - random.ExpectAndReturn("NextTemperature", 1.0); - random.ExpectAndReturn("NextIsRaining", false); + random.SetValue("NextTemperature", 1.0); + random.SetValue("NextIsRaining", false); weather.Randomize(); Assertion.Assert("is not raining", !weather.IsRaining); } @@ -40,8 +40,8 @@ public void RandomTemperatureSunny() { double TEMPERATURE = 20.0; - random.ExpectAndReturn("NextTemperature", TEMPERATURE); - random.ExpectAndReturn("NextIsRaining", false); + random.SetValue("NextTemperature", TEMPERATURE); + random.SetValue("NextIsRaining", false); weather.Randomize(); Assertion.AssertEquals("temperature", TEMPERATURE, weather.Temperature); } @@ -50,12 +50,58 @@ public void RandomTemperatureRaining() { double TEMPERATURE = 20.0; - random.ExpectAndReturn("NextTemperature", TEMPERATURE); - random.ExpectAndReturn("NextIsRaining", true); + random.SetValue("NextTemperature", TEMPERATURE); + random.SetValue("NextIsRaining", true); weather.Randomize(); Assertion.AssertEquals("temperature", TEMPERATURE / 2.0, weather.Temperature); } } + [TestFixture] + public class DefaultWeatherRandomTest + { + + [Test] + public void NextIsRaining() + { + IMock random = new DynamicMock(typeof(System.Random)); + WeatherRandom weather = new DefaultWeatherRandom((System.Random)random.Object); + + random.SetValue("NextDouble", 0.0); + Assertion.Assert("is raining", weather.NextIsRaining()); + + random.SetValue("NextDouble", DefaultWeatherRandom.CHANCE_OF_RAIN); + Assertion.Assert("is not raining", !weather.NextIsRaining()); + + random.SetValue("NextDouble", 1.0); + Assertion.Assert("is not raining", !weather.NextIsRaining()); + } + + [Test] + public void NextTemperature() + { + IMock random = new DynamicMock(typeof(System.Random)); + WeatherRandom weather = new DefaultWeatherRandom((System.Random)random.Object); + + random.SetValue("NextDouble", 0.0); + Assertion.AssertEquals("should be min temperature", + DefaultWeatherRandom.MIN_TEMPERATURE, + weather.NextTemperature() + ); + + random.SetValue("NextDouble", 0.5); + Assertion.AssertEquals("should be average temperature", + 0.5 * (DefaultWeatherRandom.MIN_TEMPERATURE + DefaultWeatherRandom.MAX_TEMPERATURE), + weather.NextTemperature() + ); + + random.SetValue("NextDouble", 1.0); + Assertion.AssertEquals("should be max temperature", + DefaultWeatherRandom.MAX_TEMPERATURE, + weather.NextTemperature() + ); + } + + } } |