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); } }