1 package org
.eclipse
.linuxtools
.lttng
.ui
.tests
.distribution
;
3 import junit
.framework
.TestCase
;
5 import org
.eclipse
.linuxtools
.lttng
.ui
.views
.latency
.model
.Config
;
6 import org
.eclipse
.linuxtools
.lttng
.ui
.views
.latency
.model
.GraphScaledData
;
7 import org
.eclipse
.linuxtools
.lttng
.ui
.views
.latency
.model
.IGraphModelListener
;
8 import org
.eclipse
.linuxtools
.lttng
.ui
.views
.latency
.model
.LatencyGraphModel
;
10 @SuppressWarnings("nls")
11 public class LatencyGraphModelTest
extends TestCase
{
13 // ------------------------------------------------------------------------
15 // ------------------------------------------------------------------------
17 // ------------------------------------------------------------------------
19 // ------------------------------------------------------------------------
22 public void setUp() throws Exception
{
26 public void tearDown() throws Exception
{
29 // ------------------------------------------------------------------------
31 // ------------------------------------------------------------------------
33 public void testLatencyGraphModel() {
34 LatencyGraphModel model
= new LatencyGraphModel();
35 assertEquals("nbBuckets", Config
.DEFAULT_NUMBER_OF_BUCKETS
, model
.getNbBuckets());
36 assertEquals("currentTime", Config
.INVALID_EVENT_TIME
, model
.getCurrentEventTime());
39 public void testLatencyGraphModelInt() {
40 LatencyGraphModel model
= new LatencyGraphModel(100);
41 assertEquals("nbBuckets", 100, model
.getNbBuckets());
42 assertEquals("currentTime", Config
.INVALID_EVENT_TIME
, model
.getCurrentEventTime());
46 public void testGraphModelListener() {
47 final int nbBuckets
= 2000;
48 final int nbEvents
= 10 * nbBuckets
+ 256;
49 final int[] count
= new int[2];
53 // Test add listener and call of listener
54 IGraphModelListener listener
= new IGraphModelListener() {
57 public void graphModelUpdated() {
63 public void currentEventUpdated(long currentEventTime
) {
68 // Test that the listener interface is called every 10000 events.
69 LatencyGraphModel model
= new LatencyGraphModel(nbBuckets
);
70 model
.addGraphModelListener(listener
);
71 for (int i
= 0; i
< nbEvents
; i
++) {
72 model
.countEvent(i
+1, i
, i
);
75 assertEquals("listener", 2, count
[0]);
77 // Test that the listener interface is called when complete is called.
79 assertEquals("listener", 3, count
[0]);
81 // Test that clear triggers call of listener interface
83 assertEquals("listener", 4, count
[0]);
85 // Test that clear triggers call of listener interface
86 model
.setCurrentEventNotifyListeners(100);
87 assertEquals("listener", 1, count
[1]);
89 // Test remove listener
92 model
.removeGraphModelListener(listener
);
94 for (int i
= 0; i
< nbEvents
; i
++) {
95 model
.countEvent(i
, i
, i
);
98 assertEquals("listener", 0, count
[1]);
100 // Test that clear triggers call of listener interface
101 model
.setCurrentEventNotifyListeners(100);
102 assertEquals("listener", 0, count
[1]);
105 public void testConstructor() {
106 final int nbBuckets
= 2000;
108 LatencyGraphModel model
= new LatencyGraphModel(nbBuckets
);
109 GraphScaledData scaledData
= model
.scaleTo(100, 100, 1);
111 // Verify model parameters
112 assertEquals("Horizontal bucket duration", 1, model
.getHorBucketDuration());
113 assertEquals("Vertical bucket duration", 1, model
.getVerBucketDuration());
115 assertEquals("Horizontal first bucket time", 0, model
.getHorFirstBucketTime());
116 assertEquals("Vertical first bucket time", 0, model
.getVerFirstBucketTime());
118 assertEquals("Horizontal last bucket ", 0, model
.getHorLastBucket());
119 assertEquals("Vertical last bucket ", 0, model
.getVerLastBucket());
121 assertEquals("Horizontal first time", 0, model
.getHorFirstEventTime());
122 assertEquals("Vertical first time", 0, model
.getVerFirstEventTime());
124 assertEquals("Horizontal last time", 0, model
.getHorLastEventTime());
125 assertEquals("Vertical last time", 0, model
.getVerLastEventTime());
127 assertEquals("Horizontal time limit", 2000, model
.getHorTimeLimit());
128 assertEquals("Vertical time limit", 2000, model
.getVerTimeLimit());
130 // Verify scaled data parameters
131 scaledData
= model
.scaleTo(101, 100, 1);
133 assertEquals("barWidth", 1, scaledData
.getBarWidth());
134 assertEquals("height", 100, scaledData
.getHeight());
135 assertEquals("width", 101, scaledData
.getWidth());
137 assertEquals(Config
.INVALID_EVENT_TIME
, scaledData
.getCurrentEventTime());
139 assertEquals("Horizontal bucket duration", 1, scaledData
.getHorBucketDuration());
140 assertEquals("Vertical bucket duration", 1, scaledData
.getVerBucketDuration());
142 assertEquals("Horizontal bucket end time", 1, scaledData
.getHorBucketEndTime(0));
143 assertEquals("Vertical bucket end time", 1, scaledData
.getVerBucketEndTime(0));
145 assertEquals("Horizontal bucket start time", 0, scaledData
.getHorBucketStartTime(0));
146 assertEquals("Vertical bucket start time", 0, scaledData
.getVerBucketStartTime(0));
148 assertEquals("Horizontal first time", 0, scaledData
.getHorFirstEventTime());
149 assertEquals("Vertical first time", 0, scaledData
.getVerFirstEventTime());
151 assertEquals("Horizontal first bucket time", 0, scaledData
.getHorFirstBucketTime());
152 assertEquals("Vertical first bucket time", 0, scaledData
.getVerFirstBucketTime());
154 assertEquals("Horizontal last bucket time", 0, scaledData
.getHorLastBucketTime());
155 assertEquals("Vertical last bucket time", 0, scaledData
.getVerLastBucketTime());
157 assertEquals("Horizontal number of buckets", 101, scaledData
.getHorNbBuckets());
158 assertEquals("Vertical nubmer of buckets", 100, scaledData
.getVerNbBuckets());
160 assertEquals("Horizontal getIndex", 100, scaledData
.getHorBucketIndex(100));
161 assertEquals("Vertical getIndex", 124, scaledData
.getVerBucketIndex(124));
163 assertEquals("Horizontal last bucket", 0, scaledData
.getHorLastBucket());
164 assertEquals("Vertical last bucket", 0, scaledData
.getVerLastBucket());
166 assertEquals("Horizontal last event time", 0, scaledData
.getHorLastEventTime());
167 assertEquals("Vertical last event time", 0, scaledData
.getVerLastEventTime());
170 public void testClear() {
171 final int nbBuckets
= 2000;
172 final int nbEvents
= 10 * nbBuckets
+ 256;
174 LatencyGraphModel model
= new LatencyGraphModel(nbBuckets
);
175 for (int i
= 0; i
< nbEvents
; i
++) {
176 model
.countEvent(i
+1, i
, i
);
178 // make sure that we actually counted something.
179 GraphScaledData scaledData
= model
.scaleTo(100, 100, 1);
181 assertTrue(scaledData
.getHorLastBucket() > 0);
185 // Verify model parameters
186 assertEquals("Horizontal bucket duration", 1, model
.getHorBucketDuration());
187 assertEquals("Vertical bucket duration", 1, model
.getVerBucketDuration());
189 assertEquals("Horizontal first bucket time", 0, model
.getHorFirstBucketTime());
190 assertEquals("Vertical first bucket time", 0, model
.getVerFirstBucketTime());
192 assertEquals("Horizontal last bucket ", 0, model
.getHorLastBucket());
193 assertEquals("Vertical last bucket ", 0, model
.getVerLastBucket());
195 assertEquals("Horizontal first time", 0, model
.getHorFirstEventTime());
196 assertEquals("Vertical first time", 0, model
.getVerFirstEventTime());
198 assertEquals("Horizontal last time", 0, model
.getHorLastEventTime());
199 assertEquals("Vertical last time", 0, model
.getVerLastEventTime());
201 assertEquals("Horizontal time limit", 2000, model
.getHorTimeLimit());
202 assertEquals("Vertical time limit", 2000, model
.getVerTimeLimit());
204 // Verify scaled data parameters
205 scaledData
= model
.scaleTo(101, 100, 1);
207 assertEquals("barWidth", 1, scaledData
.getBarWidth());
208 assertEquals("height", 100, scaledData
.getHeight());
209 assertEquals("width", 101, scaledData
.getWidth());
211 assertEquals(Config
.INVALID_EVENT_TIME
, scaledData
.getCurrentEventTime());
213 assertEquals("Horizontal bucket duration", 1, scaledData
.getHorBucketDuration());
214 assertEquals("Vertical bucket duration", 1, scaledData
.getVerBucketDuration());
216 assertEquals("Horizontal bucket end time", 1, scaledData
.getHorBucketEndTime(0));
217 assertEquals("Vertical bucket end time", 1, scaledData
.getVerBucketEndTime(0));
219 assertEquals("Horizontal bucket start time", 0, scaledData
.getHorBucketStartTime(0));
220 assertEquals("Vertical bucket start time", 0, scaledData
.getVerBucketStartTime(0));
222 assertEquals("Horizontal first time", 0, scaledData
.getHorFirstEventTime());
223 assertEquals("Vertical first time", 0, scaledData
.getVerFirstEventTime());
225 assertEquals("Horizontal first bucket time", 0, scaledData
.getHorFirstBucketTime());
226 assertEquals("Vertical first bucket time", 0, scaledData
.getVerFirstBucketTime());
228 assertEquals("Horizontal last bucket time", 0, scaledData
.getHorLastBucketTime());
229 assertEquals("Vertical last bucket time", 0, scaledData
.getVerLastBucketTime());
231 assertEquals("Horizontal getIndex", 100, scaledData
.getHorBucketIndex(100));
232 assertEquals("Vertical getIndex", 124, scaledData
.getVerBucketIndex(124));
234 assertEquals("Horizontal number of buckets", 101, scaledData
.getHorNbBuckets());
235 assertEquals("Vertical nubmer of buckets", 100, scaledData
.getVerNbBuckets());
237 assertEquals("Horizontal last bucket", 0, scaledData
.getHorLastBucket());
238 assertEquals("Vertical last bucket", 0, scaledData
.getVerLastBucket());
240 assertEquals("Horizontal last event time", 0, scaledData
.getHorLastEventTime());
241 assertEquals("Vertical last event time", 0, scaledData
.getVerLastEventTime());
244 public void testCountEvent() {
245 final int nbBuckets
= 2000;
246 final int nbEvents
= 10 * nbBuckets
+ 256;
247 final long hOffset
= 100;
248 final long vOffset
= 55;
250 LatencyGraphModel model
= new LatencyGraphModel(nbBuckets
);
252 for (int i
= 0; i
< nbEvents
; i
++) {
253 model
.countEvent(i
+ 1, hOffset
+ i
, vOffset
+ i
);
256 // Verify model parameters
257 assertEquals("Horizontal bucket duration", 16, model
.getHorBucketDuration());
258 assertEquals("Vertical bucket duration", 16, model
.getVerBucketDuration());
260 assertEquals("Horizontal first bucket time", hOffset
, model
.getHorFirstBucketTime());
261 assertEquals("Vertical first bucket time", vOffset
, model
.getVerFirstBucketTime());
263 assertEquals("Horizontal last bucket ", (nbEvents
- 1)/16, model
.getHorLastBucket());
264 assertEquals("Vertical last bucket ", (nbEvents
- 1)/16, model
.getVerLastBucket());
266 assertEquals("Horizontal first time", hOffset
, model
.getHorFirstEventTime());
267 assertEquals("Vertical first time", vOffset
, model
.getVerFirstEventTime());
269 assertEquals("Horizontal last time", nbEvents
+ hOffset
- 1, model
.getHorLastEventTime());
270 assertEquals("Vertical last time", nbEvents
+ vOffset
- 1, model
.getVerLastEventTime());
272 assertEquals("Horizontal time limit", 16 * nbBuckets
+ hOffset
, model
.getHorTimeLimit());
273 assertEquals("Vertical time limit", 16 * nbBuckets
+ vOffset
, model
.getVerTimeLimit());
275 // Verify scaled data parameters
276 GraphScaledData scaledData
= model
.scaleTo(50, 100, 1);
278 assertEquals("barWidth", 1, scaledData
.getBarWidth());
279 assertEquals("height", 100, scaledData
.getHeight());
280 assertEquals("width", 50, scaledData
.getWidth());
282 assertEquals(Config
.INVALID_EVENT_TIME
, scaledData
.getCurrentEventTime());
284 // nbBars = width / barWidth
285 // bucketsPerBar = lastBucket/nbBars + 1
286 // scaled bucket duration = bucketsPerBar * model.bucketDuration
287 // for nbBuckets=2000 and nbEvents=20256 (means 20256 ns + offset) -> model.bucketDuration = 16
288 assertEquals("Horizontal bucket duration", 416, scaledData
.getHorBucketDuration());
289 assertEquals("Vertical bucket duration", 208, scaledData
.getVerBucketDuration());
291 // startTime + scaledData.bucketDuration
292 assertEquals("Horizontal bucket end time", hOffset
+ 416, scaledData
.getHorBucketEndTime(0));
293 assertEquals("Vertical bucket end time", 55 + 208, scaledData
.getVerBucketEndTime(0));
295 assertEquals("Horizontal bucket start time", 100, scaledData
.getHorBucketStartTime(0));
296 assertEquals("Vertical bucket start time", 55, scaledData
.getVerBucketStartTime(0));
298 assertEquals("Horizontal first time", 100, scaledData
.getHorFirstEventTime());
299 assertEquals("Vertical first time", 55, scaledData
.getVerFirstEventTime());
301 assertEquals("Horizontal first bucket time", hOffset
, scaledData
.getHorFirstBucketTime());
302 assertEquals("Vertical first bucket time", 55, scaledData
.getVerFirstBucketTime());
304 assertEquals("Horizontal last bucket time", hOffset
+ 48 * 416, scaledData
.getHorLastBucketTime());
305 assertEquals("Vertical last bucket time", vOffset
+ 97 * 208, scaledData
.getVerLastBucketTime());
307 assertEquals("Horizontal getIndex", 47, scaledData
.getHorBucketIndex(20000));
308 assertEquals("Vertical getIndex", 47, scaledData
.getVerBucketIndex(10000));
310 // nb Buckets = nbBars
311 assertEquals("Horizontal number of buckets", 50, scaledData
.getHorNbBuckets());
312 assertEquals("Vertical nubmer of buckets", 100, scaledData
.getVerNbBuckets());
314 assertEquals("Horizontal last bucket", 48, scaledData
.getHorLastBucket());
315 assertEquals("Vertical last bucket", 97, scaledData
.getVerLastBucket());
317 // start time of last bucket
318 assertEquals("Horizontal last event time", hOffset
+ nbEvents
- 1, scaledData
.getHorLastEventTime());
319 assertEquals("Vertical last event time", vOffset
+ nbEvents
- 1 , scaledData
.getVerLastEventTime());
322 public void testCountEvent2() {
324 final int nbBuckets
= 2000;
325 final int nbEvents
= 10 * nbBuckets
+ 256;
326 final long offset
= 100;
327 final int height
= 100;
328 final int width
= 100;
329 final int barWidth
= 1;
331 int[][] expectedResults
= new int[width
/barWidth
][height
/barWidth
];
335 // Horizontally and vertically the same data is used
337 // for nbBuckets=2000 and nbEvents=20256 (means 20256 ns + offset) -> model.bucketDuration = 16
338 // nbBars = width / barWidth = 100
339 // bucketsPerBar = lastBucket/nbBars + 1 = 13
340 // scaled bucket duration = bucketsPerBar * model.bucketDuration = 13 * 16
341 boolean isFinished
= false;
342 for (int i
= 0; i
< width
/barWidth
; i
++) {
346 for (int j
= 0; j
< height
/barWidth
; j
++) {
349 if (total
+ value
> nbEvents
) {
350 expectedResults
[i
][j
] = nbEvents
- total
;
355 expectedResults
[i
][j
] = value
;
362 LatencyGraphModel model
= new LatencyGraphModel(nbBuckets
);
364 for (int i
= 0; i
< nbEvents
; i
++) {
365 model
.countEvent(i
+1, offset
+ i
, offset
+ i
);
368 GraphScaledData scaledData
= model
.scaleTo(height
, width
, barWidth
);
370 for (int i
= 0; i
< scaledData
.getHorLastBucket(); i
++) {
371 for (int j
= 0; j
< scaledData
.getVerLastBucket(); j
++) {
372 assertEquals(expectedResults
[i
][j
], scaledData
.getEventCount(i
, j
));
377 public void testCountEvent3() {
378 // Test with barWidth > 1
379 final int nbBuckets
= 2000;
380 final int nbEvents
= 10 * nbBuckets
+ 256;
381 final long offset
= 100;
382 final int height
= 100;
383 final int width
= 100;
384 final int barWidth
= 4;
386 int[][] expectedResults
= new int[width
/barWidth
][height
/barWidth
];
390 // Horizontally and vertically the same data is used
392 // for nbBuckets=2000 and nbEvents=20256 (means 20256 ns + offset) -> model.bucketDuration = 16
393 // nbBars = width / barWidth = 25
394 // bucketsPerBar = lastBucket/nbBars + 1 = 51
395 // scaled bucket duration = bucketsPerBar * model.bucketDuration = 51 * 16
396 boolean isFinished
= false;
397 for (int i
= 0; i
< width
/barWidth
; i
++) {
401 for (int j
= 0; j
< height
/barWidth
; j
++) {
404 if (total
+ value
> nbEvents
) {
405 expectedResults
[i
][j
] = nbEvents
- total
;
410 expectedResults
[i
][j
] = value
;
417 LatencyGraphModel model
= new LatencyGraphModel(nbBuckets
);
419 for (int i
= 0; i
< nbEvents
; i
++) {
420 model
.countEvent(i
+1, offset
+ i
, offset
+ i
);
423 GraphScaledData scaledData
= model
.scaleTo(height
, width
, barWidth
);
425 for (int i
= 0; i
< scaledData
.getHorLastBucket(); i
++) {
426 for (int j
= 0; j
< scaledData
.getVerLastBucket(); j
++) {
427 assertEquals(expectedResults
[i
][j
], scaledData
.getEventCount(i
, j
));
432 public void testCountEventReverse1() {
433 // Depending on the number of buckets and events the start buckets can be different
434 // between forward and reserve times. However, the content is correct.
435 final int nbBuckets
= 100;
436 final int nbEvents
= 256;
437 final long hOffset
= 100;
438 final long vOffset
= 55;
439 final int height
= 100;
440 final int width
= 50;
441 final int barWidth
= 1;
443 LatencyGraphModel model
= new LatencyGraphModel(nbBuckets
);
445 for (int i
= 0; i
< nbEvents
; i
++) {
446 model
.countEvent(i
+ 1, hOffset
+ i
, vOffset
+ i
);
449 GraphScaledData scaledData
= model
.scaleTo(width
, height
, barWidth
);
453 for (int i
= nbEvents
- 1; i
>= 0; i
--) {
454 model
.countEvent(nbEvents
- i
, hOffset
+ i
, vOffset
+ i
);
457 GraphScaledData scaledDataReverse
= model
.scaleTo(50, 100, 1);
460 for (int i
= 0; i
<= scaledData
.getHorLastBucket(); i
++) {
461 for (int j
= 0; j
<= scaledData
.getVerLastBucket(); j
++) {
462 count
+= scaledData
.getEventCount(i
, j
);
467 for (int i
= 0; i
<= scaledDataReverse
.getHorLastBucket(); i
++) {
468 for (int j
= 0; j
<= scaledDataReverse
.getVerLastBucket(); j
++) {
469 revCount
+= scaledDataReverse
.getEventCount(i
, j
);
473 assertEquals(count
, revCount
);
475 // Make sure that both scaledData have the same content
476 assertTrue("barWidth", scaledData
.getBarWidth() == scaledDataReverse
.getBarWidth());
477 assertTrue("height", scaledData
.getHeight() == scaledDataReverse
.getHeight());
478 assertTrue("width", scaledData
.getWidth() == scaledDataReverse
.getWidth());
480 assertTrue(scaledData
.getCurrentEventTime() == scaledDataReverse
.getCurrentEventTime());
482 assertTrue("Horizontal bucket duration", scaledData
.getHorBucketDuration() == scaledDataReverse
.getHorBucketDuration());
483 assertTrue("Vertical bucket duration", scaledData
.getVerBucketDuration() == scaledDataReverse
.getVerBucketDuration());
485 // startTime + scaledData.bucketDuration
486 assertTrue("Horizontal bucket end time", scaledData
.getHorBucketEndTime(0) == scaledDataReverse
.getHorBucketEndTime(0));
487 assertTrue("Vertical bucket end time", scaledData
.getVerBucketEndTime(0) == scaledDataReverse
.getVerBucketEndTime(0));
489 assertTrue("Horizontal bucket start time", scaledData
.getHorBucketStartTime(0) == scaledDataReverse
.getHorBucketStartTime(0));
490 assertTrue("Vertical bucket start time", scaledData
.getVerBucketStartTime(0) == scaledDataReverse
.getVerBucketStartTime(0));
492 assertTrue("Horizontal first time", scaledData
.getHorFirstEventTime() == scaledDataReverse
.getHorFirstEventTime());
493 assertTrue("Vertical first time", scaledData
.getVerFirstEventTime() == scaledDataReverse
.getVerFirstEventTime());
495 assertTrue("Horizontal getIndex", scaledData
.getHorBucketIndex(200) == scaledDataReverse
.getHorBucketIndex(200));
496 assertTrue("Vertical getIndex", scaledData
.getVerBucketIndex(100) == scaledDataReverse
.getVerBucketIndex(100));
498 assertTrue("Horizontal last bucket", scaledData
.getHorNbBuckets() == scaledDataReverse
.getHorNbBuckets());
499 assertTrue("Vertical last bucket", scaledData
.getVerNbBuckets() == scaledDataReverse
.getVerNbBuckets());
501 assertTrue("Horizontal nubmer of buckets", scaledData
.getHorLastBucket() == scaledDataReverse
.getHorLastBucket());
502 assertTrue("Vertical nubmer of buckets", scaledData
.getVerLastBucket() == scaledDataReverse
.getVerLastBucket());
504 // start time of last bucket
505 assertTrue("Horizontal last event time", scaledData
.getHorLastEventTime() == scaledDataReverse
.getHorLastEventTime());
506 assertTrue("Vertical last event time", scaledData
.getVerLastEventTime() == scaledDataReverse
.getVerLastEventTime());
509 public void testCountEventReverse2() {
510 // Depending on the number of buckets and events the start buckets can be different
511 // between forward and reserve times. However, the content is correct.
512 final int nbBuckets
= 100;
513 final int nbEvents
= 256;
514 final long hOffset
= 100;
515 final long vOffset
= 55;
516 final int height
= 100;
517 final int width
= 50;
518 final int barWidth
= 1;
520 LatencyGraphModel model
= new LatencyGraphModel(nbBuckets
);
522 for (int i
= nbEvents
- 1; i
>= 0; i
--) {
523 model
.countEvent(nbEvents
- i
, hOffset
+ i
, vOffset
+ i
);
526 // Verify model parameters
527 int expectedBucketDuration
= 4;
528 assertEquals("Horizontal bucket duration", expectedBucketDuration
, model
.getHorBucketDuration());
529 assertEquals("Vertical bucket duration", expectedBucketDuration
, model
.getVerBucketDuration());
531 assertEquals("Horizontal first bucket time", hOffset
, model
.getHorFirstBucketTime());
532 assertEquals("Vertical first bucket time", vOffset
, model
.getVerFirstBucketTime());
534 assertEquals("Horizontal last bucket", (nbEvents
-1)/expectedBucketDuration
, model
.getHorLastBucket());
535 assertEquals("Vertical last bucket", (nbEvents
-1)/expectedBucketDuration
, model
.getVerLastBucket());
537 assertEquals("Horizontal first time", hOffset
, model
.getHorFirstEventTime());
538 assertEquals("Vertical first time", vOffset
, model
.getVerFirstEventTime());
540 assertEquals("Horizontal last time", nbEvents
+ hOffset
- 1, model
.getHorLastEventTime());
541 assertEquals("Vertical last time", nbEvents
+ vOffset
- 1, model
.getVerLastEventTime());
543 assertEquals("Horizontal time limit", expectedBucketDuration
* nbBuckets
+ hOffset
, model
.getHorTimeLimit());
544 assertEquals("Vertical time limit", expectedBucketDuration
* nbBuckets
+ vOffset
, model
.getVerTimeLimit());
546 GraphScaledData scaledData
= model
.scaleTo(50, 100, 1);
548 // Make sure that both scaledData have the same content
549 assertEquals("barWidth", barWidth
, scaledData
.getBarWidth());
550 assertEquals("height", height
, scaledData
.getHeight());
551 assertEquals("width", width
, scaledData
.getWidth());
553 assertEquals(-1, scaledData
.getCurrentEventTime());
555 assertEquals("Horizontal bucket duration", 8, scaledData
.getHorBucketDuration());
556 assertEquals("Vertical bucket duration", 4, scaledData
.getVerBucketDuration());
558 // startTime + scaledData.bucketDuration
559 assertEquals("Horizontal bucket end time", hOffset
+ 8, scaledData
.getHorBucketEndTime(0));
560 assertEquals("Vertical bucket end time", vOffset
+ 4, scaledData
.getVerBucketEndTime(0));
562 assertEquals("Horizontal bucket start time", hOffset
, scaledData
.getHorBucketStartTime(0));
563 assertEquals("Vertical bucket start time", vOffset
, scaledData
.getVerBucketStartTime(0));
565 assertEquals("Horizontal first time", hOffset
, scaledData
.getHorFirstEventTime());
566 assertEquals("Vertical first time", vOffset
, scaledData
.getVerFirstEventTime());
568 assertEquals("Horizontal getIndex", 12, scaledData
.getHorBucketIndex(200));
569 assertEquals("Vertical getIndex", 11, scaledData
.getVerBucketIndex(100));
571 // nb Buckets = nbBars
572 assertEquals("Horizontal number of buckets", 50, scaledData
.getHorNbBuckets());
573 assertEquals("Vertical number of buckets", 100, scaledData
.getVerNbBuckets());
575 assertEquals("Horizontal last bucket", 31, scaledData
.getHorLastBucket());
576 assertEquals("Vertical last bucket", 63, scaledData
.getVerLastBucket());
578 // start time of last bucket
579 assertEquals("Horizontal last event time", 355, scaledData
.getHorLastEventTime());
580 assertEquals("Vertical last event time", 310, scaledData
.getVerLastEventTime());