public void Spiral_23_Is_2_Steps_Away()
        {
            Point two   = DayThree.SpiralToEuclidean(23);
            int   steps = DayThree.ManhattanDistanceFromOrigin(two);

            Assert.AreEqual(2, steps);
        }
        public void Spiral_1024_Is_31_Steps_Away()
        {
            Point point = DayThree.SpiralToEuclidean(1024);
            int   steps = DayThree.ManhattanDistanceFromOrigin(point);

            Assert.AreEqual(31, steps);
        }
        public void Spiral_12_Is_3_Steps_Away()
        {
            Point three = DayThree.SpiralToEuclidean(12);
            int   steps = DayThree.ManhattanDistanceFromOrigin(three);

            Assert.AreEqual(3, steps);
        }
        public void Spiral_1_Is_0_Steps_Away()
        {
            Point one   = DayThree.SpiralToEuclidean(1);
            int   steps = DayThree.ManhattanDistanceFromOrigin(one);

            Assert.AreEqual(0, steps);
        }
        public void Spiral_To_Euclidean_23_Produces_0_Negative_2()
        {
            Point zeroNegativeTwo = DayThree.SpiralToEuclidean(23);

            Assert.AreEqual(new Point(0, -2), zeroNegativeTwo);
        }
        public void Spiral_To_Euclidean_12_Produces_2_1()
        {
            Point twoCommaOne = DayThree.SpiralToEuclidean(12);

            Assert.AreEqual(new Point(2, 1), twoCommaOne);
        }
        public void Spiral_To_Euclidean_1_Produces_0_0()
        {
            Point zero = DayThree.SpiralToEuclidean(1);

            Assert.AreEqual(new Point(0, 0), zero);
        }