(
extent: number[],
splitNumber: number,
fixMinMax: boolean
)
| 144 | } |
| 145 | |
| 146 | function doSingleTestDeal( |
| 147 | extent: number[], |
| 148 | splitNumber: number, |
| 149 | fixMinMax: boolean |
| 150 | ): void { |
| 151 | const span = extent[1] - extent[0]; |
| 152 | const result = intervalScaleNiceTicks(extent, span, splitNumber); |
| 153 | const intervalPrecision = result.intervalPrecision; |
| 154 | const resultInterval = result.interval; |
| 155 | const niceTickExtent = result.niceTickExtent; |
| 156 | |
| 157 | expect(resultInterval).toBeFinite(); |
| 158 | expect(intervalPrecision).toBeFinite(); |
| 159 | expect(niceTickExtent[0]).toBeFinite(); |
| 160 | expect(niceTickExtent[1]).toBeFinite(); |
| 161 | |
| 162 | expect(niceTickExtent[0]).toBeGreaterThanOrEqual(extent[0]); |
| 163 | expect(niceTickExtent[1]).toBeLessThanOrEqual(extent[1]); |
| 164 | expect(niceTickExtent[1]).toBeGreaterThanOrEqual(niceTickExtent[1]); |
| 165 | expect(niceTickExtent[0] - niceTickExtent[1] <= resultInterval); |
| 166 | |
| 167 | const intervalScale = new IntervalScale(); |
| 168 | const option: ValueAxisBaseOption = { |
| 169 | splitNumber: splitNumber |
| 170 | }; |
| 171 | if (fixMinMax) { |
| 172 | option.min = extent[0]; |
| 173 | option.max = extent[1]; |
| 174 | } |
| 175 | const axisModel = new CartesianAxisModel(option, null, null); |
| 176 | scaleCalcNice2( |
| 177 | intervalScale, |
| 178 | axisModel as AxisBaseModel<NumericAxisBaseOptionCommon>, |
| 179 | null, |
| 180 | null, |
| 181 | extent |
| 182 | ); |
| 183 | |
| 184 | const ticks = intervalScale.getTicks(); |
| 185 | |
| 186 | expect(ticks.length > 1); |
| 187 | |
| 188 | if (fixMinMax) { |
| 189 | expect(ticks[0].value).toEqual(extent[0]); |
| 190 | expect(ticks[ticks.length - 1].value).toEqual(extent[1]); |
| 191 | } |
| 192 | else { |
| 193 | expect(ticks[0].value).toBeLessThanOrEqual(extent[0]); |
| 194 | expect(ticks[ticks.length - 1].value).toBeGreaterThanOrEqual(extent[1]); |
| 195 | } |
| 196 | |
| 197 | for (let i = 1; i < ticks.length; i++) { |
| 198 | expect(ticks[i - 1].value).not.toBeGreaterThanOrEqual(ticks[i].value); |
| 199 | |
| 200 | if (ticks[i].value !== extent[0] && ticks[i].value !== extent[1]) { |
| 201 | const tickPrecision = getPrecisionSafe(ticks[i].value); |
| 202 | expect(tickPrecision).not.toBeGreaterThan(intervalPrecision); |
| 203 | } |
no test coverage detected
searching dependent graphs…