public void GenerateTriangles_11111111_CorrectId()
        {
            var id        = new[] { 1, 1, 1, 1, 1, 1, 1 };
            var triangles = QtmToWgs.GenerateAllTrianglesZot(id).Select(CoordinateExtensions.ToDegrees);

            Assert.Equal(new Coordinate(0, 0), triangles.Last().Last());
        }
        public void GenerateTriangles_21_CorrectId()
        {
            var id        = new[] { 2, 1 };
            var triangles = QtmToWgs.GenerateAllTrianglesZot(id).Select(CoordinateExtensions.ToDegrees);
            var c         = triangles.Last().ToList()[1];

            Assert.True(Math.Abs(c.Lon - 135) < Tolerance);
            Assert.True(Math.Abs(c.Lat - 0) < Tolerance);
        }
        public void GenerateTriangle_CenterTriangle_CorrectTriangle()
        {
            var triangle = QtmToWgs.GenerateTriangleZot(new[] { 1, 0 }).ToDegrees().ToList();

            var pole = triangle[0];
            var west = triangle[1];
            var east = triangle[2];



            Assert.True(Math.Abs(0 - west.Lon) < _tolerance);
            Assert.True(Math.Abs(45 - west.Lat) < _tolerance, "east is " + east);

            Assert.True(Math.Abs(90 - east.Lon) < _tolerance);
            Assert.True(Math.Abs(45 - east.Lat) < _tolerance);

            Assert.True(Math.Abs(45 - pole.Lon) < _tolerance);
            Assert.True(Math.Abs(0 - pole.Lat) < _tolerance);
        }