public void CallGeneratorWithMinMaxNoResults(int min, int max, int noResults)
        {
            string functionName = "equality";
            ISingleVariableFunction <int, double> function = new EqualityCdf(min, max);
            var randomActor = Sys.ActorOf(RandomDoubleActor.CreateProps(new System.Random()));
            var generator   = Sys.ActorOf(DistributionGenerator.CreateProps(randomActor), DistributionGenerator.Name);

            var tp = CreateTestProbe();

            generator.Tell(new DistributionGenerator.SubscribeToCdfAdded(), tp);
            generator.Tell(new DistributionGenerator.AddCumulativeDistributionFunction(functionName, function), tp);

            var msg = tp.ExpectMsg <DistributionGenerator.CdfFunctionAdded>();

            Assert.AreEqual(functionName, msg.FunctionName);

            string distributionName = "testDistribution";

            generator.Tell(new DistributionGenerator.Generate(distributionName, functionName, noResults));
            generator.Tell(new DistributionGenerator.SubscribeToDistributionGenerated(), tp);

            var generatedMessage = tp.ExpectMsg <DistributionGenerator.DistributionGenerated>();

            Assert.AreEqual(distributionName, generatedMessage.DistributionName);
            Assert.IsTrue(generatedMessage.Distribution.Min() >= min);
            Assert.IsTrue(generatedMessage.Distribution.Max() <= max);
            Assert.AreEqual(noResults, generatedMessage.Distribution.Length);
        }
 public void EnsureMinLessThanEqualMax(int min, int max)
 {
     if (min > max)
     {
         // ReSharper disable once ObjectCreationAsStatement
         Assert.Throws <ArgumentOutOfRangeException>(() => new EqualityCdf(min, max));
     }
     else
     {
         var ut = new EqualityCdf(min, max);
         Assert.AreEqual(max, ut.Max);
         Assert.AreEqual(min, ut.Min);
     }
 }