MCPcopy
hub / github.com/apache/echarts / doSingleTestDeal

Function doSingleTestDeal

test/ut/spec/scale/interval.test.ts:146–205  ·  view source on GitHub ↗
(
            extent: number[],
            splitNumber: number,
            fixMinMax: boolean
        )

Source from the content-addressed store, hash-verified

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 }

Callers 1

doSingleTestFunction · 0.85

Calls 6

getTicksMethod · 0.95
intervalScaleNiceTicksFunction · 0.90
scaleCalcNice2Function · 0.90
getPrecisionSafeFunction · 0.90
toBeFiniteMethod · 0.80
toBeGreaterThanMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…