Esempio n. 1
0
 public void CreateReturnsEmptyWhen(double min, double max, double frequency, TickSnap tickSnap, double[] expected)
 {
     CollectionAssert.IsEmpty(Ticks.Create(min, max, frequency, tickSnap));
 }
Esempio n. 2
0
        internal static IEnumerable <double> Create(double minimum, double maximum, double tickFrequency, TickSnap tickSnap)
        {
            if (tickFrequency <= 0 ||
                maximum <= minimum)
            {
                return(Enumerable.Empty <double>());
            }

            switch (tickSnap)
            {
            case TickSnap.TickFrequency:
            {
                var snappedMin = Math.Ceiling(minimum / tickFrequency) * tickFrequency;
                return(Create(snappedMin, maximum, tickFrequency));
            }

            case TickSnap.Minimum:
            {
                return(Create(minimum, maximum, tickFrequency));
            }

            case TickSnap.Maximum:
            {
                var n          = Math.Floor((maximum - minimum) / tickFrequency);
                var snappedMin = maximum - (n * tickFrequency);
                return(Create(snappedMin, maximum, tickFrequency));
            }

            default:
                throw new ArgumentOutOfRangeException(nameof(tickSnap), tickSnap, null);
            }
        }
Esempio n. 3
0
        public void CreateTicks(double min, double max, double frequency, TickSnap tickSnap, double[] expected)
        {
            var ticks = Ticks.Create(min, max, frequency, tickSnap).ToArray();

            CollectionAssert.AreEqual(expected, ticks, DoubleComparer.Default);
        }