public void NextTimeUnitIsCorrect() { bool result; TimeUnit next; result = TimeUnitHelpers.TryGetNextTimeUnit(TimeUnit.CpuTick, out next); Assert.True(result); Assert.Equal(TimeUnit.Microsecond, next); result = TimeUnitHelpers.TryGetNextTimeUnit(TimeUnit.Microsecond, out next); Assert.True(result); Assert.Equal(TimeUnit.Millisecond, next); result = TimeUnitHelpers.TryGetNextTimeUnit(TimeUnit.Millisecond, out next); Assert.True(result); Assert.Equal(TimeUnit.Second, next); result = TimeUnitHelpers.TryGetNextTimeUnit(TimeUnit.Second, out next); Assert.True(result); Assert.Equal(TimeUnit.Minute, next); result = TimeUnitHelpers.TryGetNextTimeUnit(TimeUnit.Minute, out next); Assert.True(result); Assert.Equal(TimeUnit.Hour, next); result = TimeUnitHelpers.TryGetNextTimeUnit(TimeUnit.Hour, out next); Assert.False(result); }
public void CeilingTimeUnitIsCorrect() { Assert.Equal(TimeUnit.CpuTick, TimeUnitHelpers.GetCeilingTimeUnit(Durations.CpuTick)); Assert.Equal(TimeUnit.Microsecond, TimeUnitHelpers.GetCeilingTimeUnit(Durations.CpuTick * 9)); Assert.Equal(TimeUnit.Microsecond, TimeUnitHelpers.GetCeilingTimeUnit(Durations.Microsecond)); Assert.Equal(TimeUnit.Microsecond, TimeUnitHelpers.GetCeilingTimeUnit(Durations.Microsecond - 1)); Assert.Equal(TimeUnit.Second, TimeUnitHelpers.GetCeilingTimeUnit(Durations.Millisecond * 999)); Assert.Equal(TimeUnit.Second, TimeUnitHelpers.GetCeilingTimeUnit(Durations.Millisecond * 999 + 9)); Assert.Equal(TimeUnit.Second, TimeUnitHelpers.GetCeilingTimeUnit(Durations.Millisecond * 999 + 10)); Assert.Equal(TimeUnit.Second, TimeUnitHelpers.GetCeilingTimeUnit(Durations.Second)); Assert.Equal(TimeUnit.Minute, TimeUnitHelpers.GetCeilingTimeUnit(Durations.Second + 1)); Assert.Equal(TimeUnit.Minute, TimeUnitHelpers.GetCeilingTimeUnit(Durations.Second * 59 + Durations.Millisecond * 999)); Assert.Equal(TimeUnit.Minute, TimeUnitHelpers.GetCeilingTimeUnit(Durations.Minute)); Assert.Equal(TimeUnit.Hour, TimeUnitHelpers.GetCeilingTimeUnit(Durations.Minute + 1)); Assert.Equal(TimeUnit.Hour, TimeUnitHelpers.GetCeilingTimeUnit(Durations.Minute * 59)); Assert.Equal(TimeUnit.Hour, TimeUnitHelpers.GetCeilingTimeUnit(Durations.Minute * 59 + Durations.Second * 59)); Assert.Equal(TimeUnit.Hour, TimeUnitHelpers.GetCeilingTimeUnit(Durations.Hour + 1)); Assert.Equal(TimeUnit.Hour, TimeUnitHelpers.GetCeilingTimeUnit(Durations.Hour)); Assert.Equal(TimeUnit.Hour, TimeUnitHelpers.GetCeilingTimeUnit(Durations.Hour * 1000)); }
private void ShowZoomInfo() { _timer.Stop(); TimeUnit timeUnit = TimeUnitHelpers.GetFloorTimeUnit(SegmentSize); double segmentSizeInTimeUnits = SegmentSize / (double)timeUnit.GetTimeUnitDuration(); ZoomInfoLabel.Content = $"Segment size: {SegmentSize} ({segmentSizeInTimeUnits, 0:0.##}{timeUnit.GetTimeUnitAsString()})"; ZoomInfoPanel.Visibility = Visibility.Visible; _timer.Start(); }
private static void BuildTable() { foreach (var unit in TimeUnitHelpers.GetAllTimeUnits()) { if (TimeUnitHelpers.TryGetNextTimeUnit(unit, out TimeUnit nextTimeUnit)) { _factors.Add(unit, Factors(nextTimeUnit.GetTimeUnitDuration() / unit.GetTimeUnitDuration()).ToArray()); } } }
private void SetLabelIntervalParameters() { long segmentSize = SegmentSize.DisplayedValue; long minLabelIntervalDuration = segmentSize * MinLabelIntervalWidthInPixels; (double Value, TimeUnit Unit)minIntervalDurationInUnits = TimeUnitHelpers.ConvertTicksToTime(minLabelIntervalDuration); if (!TimeUnitFactors.TryGetBestTimeFactor(minIntervalDurationInUnits.Value, minIntervalDurationInUnits.Unit, out double factor)) { return; } LabelIntervalWidth = factor * MinLabelIntervalWidthInPixels / minIntervalDurationInUnits.Value; LabelIntervalDuration = (long)factor * minIntervalDurationInUnits.Unit.GetTimeUnitDuration(); LabelIntervalUnit = TimeUnitHelpers.GetFloorTimeUnit(LabelIntervalDuration); }
public void FloorTimeUnitIsCorrect() { Assert.Equal(TimeUnit.CpuTick, TimeUnitHelpers.GetFloorTimeUnit(Durations.CpuTick)); Assert.Equal(TimeUnit.CpuTick, TimeUnitHelpers.GetFloorTimeUnit(Durations.CpuTick * 9)); Assert.Equal(TimeUnit.Microsecond, TimeUnitHelpers.GetFloorTimeUnit(Durations.Microsecond)); Assert.Equal(TimeUnit.Second, TimeUnitHelpers.GetFloorTimeUnit(Durations.Second + 1)); Assert.Equal(TimeUnit.Second, TimeUnitHelpers.GetFloorTimeUnit(Durations.Second)); Assert.Equal(TimeUnit.Minute, TimeUnitHelpers.GetFloorTimeUnit(Durations.Minute + 1)); Assert.Equal(TimeUnit.Minute, TimeUnitHelpers.GetFloorTimeUnit(Durations.Minute)); Assert.Equal(TimeUnit.Hour, TimeUnitHelpers.GetFloorTimeUnit(Durations.Hour + 1)); Assert.Equal(TimeUnit.Hour, TimeUnitHelpers.GetFloorTimeUnit(Durations.Hour)); Assert.Equal(TimeUnit.Hour, TimeUnitHelpers.GetFloorTimeUnit(Durations.Hour * 1000)); }