public static float SinRate(ISensor eye, int lifeTime)
 {
     var god = new GodsEye();
     var random = new Random();
     var sinCount = 0;
     for (var i = 0; i < lifeTime; i++)
     {
         var blackOrWhite = random.Next(0, 2) == 0 ? Real.Black : Real.White;
         eye.Poke(blackOrWhite);
         god.Poke(blackOrWhite);
         if (eye.Peek != god.Peek)
             sinCount++;
     }
     return (float)sinCount / lifeTime;
 }
Example #2
0
 public void GivenGodsEyeWhenRealityIsBlack()
 {
     _godsEye = new GodsEye();
     _godsEye.Poke(Real.Black);
 }
Example #3
0
 public void GivenGodsEyeWhenRealityIsBright()
 {
     _godsEye = new GodsEye();
     _godsEye.Poke(Real.White);
 }
Example #4
0
 public Rod(int identity)
 {
     _godsEye = new GodsEye();
     _random = new Random(identity);
 }