public void DistributionSpaceIterator_SingleSequentialTest() { Console.WriteLine("DistributionSpaceIterator_SingleSequentialTest"); int dim = 1; string [] names = new string [1] { "x" }; double [] mins = new double [1] { 0.00 }; double [] maxs = new double [1] { 100.0 }; IBlauSpace s = BlauSpace.create(dim, names, mins, maxs); double step = 1.0; IDistribution d = new Distribution_Sequential(s, step); SingletonLogger.Instance().DebugLog(typeof(dist_tests), "original distribution: " + d); DistributionSpace ds = new DistributionSpace(d); int [] steps = new int[ds.ParamSpace.Dimension]; for (int N = 3; N <= 5; N++) { for (int i = 0; i < ds.ParamSpace.Dimension; i++) { steps[i] = N; } IDistributionSpaceIterator it = ds.iterator(steps); int count = 0; int validCt = 0; foreach (IDistribution d2 in it) { if (d2.IsValid()) { validCt++; SingletonLogger.Instance().DebugLog(typeof(dist_tests), "iterator distribution: " + d2); } count++; } Assert.AreEqual(1, count); SingletonLogger.Instance().InfoLog(typeof(dist_tests), "N=" + N + " valid distributions: " + validCt + " / total: " + count); } }
public void Distribution_SequentialSerializationTest() { Console.WriteLine("Distribution_SequentialSerializationTest"); int dim = 1; string [] names = new string [1] { "x" }; double [] mins = new double [1] { 0.00 }; double [] maxs = new double [1] { 100.0 }; IBlauSpace s = BlauSpace.create(dim, names, mins, maxs); IDistribution d = new Distribution_Sequential(s, 0.1); SingletonLogger.Instance().DebugLog(typeof(dist_tests), "distribution: " + d); SoapFormatter formatter = new SoapFormatter(); FileStream fs = new FileStream("seq.xml", FileMode.Create); formatter.Serialize(fs, d); fs.Close(); fs = new FileStream("seq.xml", FileMode.Open); IDistribution d2 = (IDistribution)formatter.Deserialize(fs); fs.Close(); Assert.AreEqual(d.SampleSpace == d2.SampleSpace, true); Assert.AreEqual(d is Distribution_Sequential, true); Assert.AreEqual(d2 is Distribution_Sequential, true); Distribution_Sequential g1 = (Distribution_Sequential)d; Distribution_Sequential g2 = (Distribution_Sequential)d2; Assert.AreEqual(g1.Step, g2.Step); Assert.AreEqual(g1.Params, g2.Params); Assert.AreEqual(g1.SampleSpace, g2.SampleSpace); SingletonLogger.Instance().DebugLog(typeof(dist_tests), "All distributions coincide as expected"); }