| 129 | } |
| 130 | |
| 131 | osmoh::TTimespans SplitExtendedHours(osmoh::Timespan span) |
| 132 | { |
| 133 | osmoh::TTimespans result; |
| 134 | NormalizeExtendedEnd(span); |
| 135 | |
| 136 | auto spanToBeSplit = span; |
| 137 | if (spanToBeSplit.HasExtendedHours()) |
| 138 | { |
| 139 | osmoh::Timespan normalSpan; |
| 140 | normalSpan.SetStart(spanToBeSplit.GetStart()); |
| 141 | normalSpan.SetEnd(osmoh::HourMinutes(24_h)); |
| 142 | result.push_back(normalSpan); |
| 143 | |
| 144 | spanToBeSplit.SetStart(osmoh::HourMinutes(0_h)); |
| 145 | spanToBeSplit.GetEnd().AddDuration(-24_h); |
| 146 | } |
| 147 | result.push_back(spanToBeSplit); |
| 148 | |
| 149 | return result; |
| 150 | } |
| 151 | |
| 152 | // Spans can be of three different types: |
| 153 | // 1. Normal span - start time is less then end time and end time is less then 24h. Spans of this |
no test coverage detected