public async Task VariogramCachingTest() { var component = new VarpProvStub(); var factory = new VariogramProviderCachingFactory(component); var variogramfitter = await factory.ConstructAsync(); double[] lats = new double[10], lons = new double[10], vals = new double[10]; Random r = new Random(1); for (int i = 0; i < 10; i++) { lats[i] = r.NextDouble(); lons[i] = r.NextDouble(); vals[i] = 3 * lons[i] + 2 * lats[i]; } RealValueNodes rvn1 = new RealValueNodes(lats, lons, vals); RealValueNodes rvn2 = new RealValueNodes(lats, lons, vals); RealValueNodes rvn3 = new RealValueNodes(lats, lons, lons); var v1 = await variogramfitter.GetSpatialVariogramAsync(rvn1); var v2 = await variogramfitter.GetSpatialVariogramAsync(rvn2); var v3 = await variogramfitter.GetSpatialVariogramAsync(rvn3); Assert.AreEqual(1.0, v1.Nugget); Assert.AreEqual(1.0, v2.Nugget); Assert.AreEqual(2.0, v3.Nugget); }