public void CreateReturnsEmptyWhen(double min, double max, double frequency, TickSnap tickSnap, double[] expected) { CollectionAssert.IsEmpty(Ticks.Create(min, max, frequency, tickSnap)); }
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); } }
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); }