public void FlameTest_CrossZero_Tenths()
        {
            double max = .525;
            double min = -.35;
            var    tc  = new TickCalculator(min, max);

            TestContext.WriteLine("range {0} tickintv {1}", tc.Range, tc.TickInterval);
            Assert.AreEqual(.875, tc.Range, "Range failed");
            Assert.AreEqual(-1, tc.DecimalPlaces, "DecimalPlaces failed");
            Assert.AreEqual(0.1, tc.TickInterval, "TickInterval failed");
            var ticks = tc.GetTicks().ToList();

            Assert.AreEqual(9, ticks.Count, "ticks.Count failed");
            var epi = Math.Pow(10, tc.DecimalPlaces - 1);

            Assert.AreEqual(0, ticks[0].Value, "ticks[0] failed");
            Assert.AreEqual(.1, ticks[1].Value, "ticks[1] failed");
            Assert.AreEqual(-.1, ticks[2].Value, "ticks[2] failed");
            Assert.AreEqual(.2, ticks[3].Value, "ticks[3] failed");
            Assert.AreEqual(-.2, ticks[4].Value, "ticks[4] failed");
            Assert.IsTrue(TickCalculator.Equals(.3, ticks[5].Value, epi), "ticks[5] failed");
            Assert.IsTrue(TickCalculator.Equals(-.3, ticks[6].Value, epi), "ticks[6] failed");
            Assert.AreEqual(.4, ticks[7].Value, "ticks[7] failed");
            Assert.AreEqual(.5, ticks[8].Value, "ticks[8] failed");
        }
        public void FlameTest_PositiveOnly_Tenths()
        {
            double max = 5.25;
            double min = 3.5;
            var    tc  = new TickCalculator(min, max);

            TestContext.WriteLine("range {0} tickintv {1}", tc.Range, tc.TickInterval);
            Assert.AreEqual(1.75, tc.Range, "Range failed");
            Assert.AreEqual(-1, tc.DecimalPlaces, "DecimalPlaces failed");
            Assert.AreEqual(0.1, tc.TickInterval, "TickInterval failed");
            var ticks = tc.GetTicks().ToList();

            Assert.AreEqual(18, ticks.Count, "ticks.Count failed");
            var epi = Math.Pow(10, tc.DecimalPlaces - 1);

            Assert.IsTrue(TickCalculator.Equals(4.4, ticks[0].Value, epi), "ticks[0] failed");
            Assert.IsTrue(TickCalculator.Equals(4.5, ticks[1].Value, epi), "ticks[1] failed");
            Assert.IsTrue(TickCalculator.Equals(4.3, ticks[2].Value, epi), "ticks[2] failed");
            Assert.IsTrue(TickCalculator.Equals(4.6, ticks[3].Value, epi), "ticks[3] failed");
            Assert.IsTrue(TickCalculator.Equals(4.2, ticks[4].Value, epi), "ticks[4] failed");
            Assert.IsTrue(TickCalculator.Equals(4.7, ticks[5].Value, epi), "ticks[5] failed");
            Assert.IsTrue(TickCalculator.Equals(4.1, ticks[6].Value, epi), "ticks[6] failed");
            Assert.IsTrue(TickCalculator.Equals(4.8, ticks[7].Value, epi), "ticks[7] failed");
            Assert.IsTrue(TickCalculator.Equals(4.0, ticks[8].Value, epi), "ticks[8] failed");
            Assert.IsTrue(TickCalculator.Equals(4.9, ticks[9].Value, epi), "ticks[9] failed");
            Assert.IsTrue(TickCalculator.Equals(3.9, ticks[10].Value, epi), "ticks[10] failed");
            Assert.IsTrue(TickCalculator.Equals(5.0, ticks[11].Value, epi), "ticks[11] failed");
            Assert.IsTrue(TickCalculator.Equals(3.8, ticks[12].Value, epi), "ticks[12] failed");
            Assert.IsTrue(TickCalculator.Equals(5.1, ticks[13].Value, epi), "ticks[13] failed");
            Assert.IsTrue(TickCalculator.Equals(3.7, ticks[14].Value, epi), "ticks[14] failed");
            Assert.IsTrue(TickCalculator.Equals(5.2, ticks[15].Value, epi), "ticks[15] failed");
            Assert.IsTrue(TickCalculator.Equals(3.6, ticks[16].Value, epi), "ticks[16] failed");
            Assert.IsTrue(TickCalculator.Equals(3.5, ticks[17].Value, epi), "ticks[17] failed");
        }
        public void FlameTest2_CrossZero_10s()
        {
            double max = 50.25;
            double min = -30.5;
            var    tc  = new TickCalculator(min, max);

            TestContext.WriteLine("range {0} tickintv {1}", tc.Range, tc.TickInterval);
            Assert.AreEqual(80.75, tc.Range, "Range failed");
            Assert.AreEqual(1, tc.DecimalPlaces, "DecimalPlaces failed");
            Assert.AreEqual(10, tc.TickInterval, "TickInterval failed");
            var ticks = tc.GetTicks().ToList();

            Assert.AreEqual(9, ticks.Count, "ticks.Count failed");
            Assert.AreEqual(0, ticks[0].Value, "ticks[0] failed");
            Assert.AreEqual(10, ticks[1].Value, "ticks[1] failed");
            Assert.AreEqual(-10, ticks[2].Value, "ticks[2] failed");
            Assert.AreEqual(20, ticks[3].Value, "ticks[3] failed");
            Assert.AreEqual(-20, ticks[4].Value, "ticks[4] failed");
            Assert.AreEqual(30, ticks[5].Value, "ticks[5] failed");
            Assert.AreEqual(-30, ticks[6].Value, "ticks[6] failed");
            Assert.AreEqual(40, ticks[7].Value, "ticks[7] failed");
            Assert.AreEqual(50, ticks[8].Value, "ticks[8] failed");
        }