public void MeanBoundary_NeiborsHaveTheSame()
        {
            var pixMan = new PixelsManager <Basin3>(healpixManager);

            foreach (var basin in pixMan.Pixels)
            {
                foreach (Direction to in Enum.GetValues(typeof(Direction)))
                {
                    var edge = man.MeanBoundary(basin, to).Direction;

                    var toBasin = pixMan.Pixels[man.Get(to, basin)];
                    var from    = (Direction)basin.GetFromAndFillType(to, toBasin, healpixManager);
                    var edgeTo  = man.MeanBoundary(toBasin, from).Direction;

                    Assert.AreEqual(edge.X, edgeTo.X, .0000000001);
                    Assert.AreEqual(edge.Y, edgeTo.Y, .0000000001);
                    Assert.AreEqual(edge.Z, edgeTo.Z, .0000000001);
                }
            }
        }
Esempio n. 2
0
 protected WaterMoving(HealpixManager man, T[] basins,
                       double?min = null, double?max = null, bool readAllAtStart = false) : base(man, min, max, readAllAtStart)
 {
     PixMan = new PixelsManager <T>(man, basins);
     Water  = new WaterModel(man);
 }