44import net .itarray .automotion .internal .geometry .Interval ;
55import net .itarray .automotion .internal .geometry .Scalar ;
66import net .itarray .automotion .internal .geometry .Vector ;
7+ import net .itarray .automotion .internal .properties .Context ;
78import net .itarray .automotion .validation .ChunkUIElementValidator ;
89import net .itarray .automotion .validation .UISnapshot ;
910import net .itarray .automotion .validation .Units ;
@@ -29,7 +30,7 @@ public ResponsiveUIChunkValidatorBase(UISnapshot snapshot, List<WebElement> webE
2930 super (snapshot );
3031 if (!allowEmpty && webElements .isEmpty ()) {
3132 String message = "Set root web element" ;
32- addError (message );
33+ getContext (). add (message );
3334 } else {
3435 if (!getDriver ().isAppiumContext ()) {
3536 try {
@@ -113,7 +114,7 @@ public void validateAlignedAsGridCells(List<UIElement> rootElements) {
113114 Interval yInterval = element .getYInterval ();
114115 Interval yCell = rows .get (rows .indexOf (yInterval ));
115116 if (!(xInterval .equals (xCell ) && yInterval .equals (yCell ))) {
116- errors .add (String .format ("banane" ));
117+ getContext () .add (String .format ("banane" ));
117118 }
118119 }
119120 }
@@ -275,13 +276,14 @@ public ResponsiveUIChunkValidatorBase areInsideOf(WebElement containerElement, S
275276 }
276277
277278 private void validateElementsAreNotOverlapped (List <UIElement > elements ) {
279+ Context context = getContext ();
278280 for (int firstIndex = 0 ; firstIndex < elements .size (); firstIndex ++) {
279281 UIElement first = elements .get (firstIndex );
280282 for (int secondIndex = firstIndex +1 ; secondIndex < elements .size (); secondIndex ++) {
281283 UIElement second = elements .get (secondIndex );
282- if (first .overlaps (second , getContext () )) {
283- errors .add ("Elements are overlapped" );
284- errors .draw (first );
284+ if (first .overlaps (second , context )) {
285+ context .add ("Elements are overlapped" );
286+ context .draw (first );
285287 break ;
286288 }
287289 }
@@ -299,7 +301,7 @@ private void validateGridAlignment(List<UIElement> elements, int columns, int ro
299301 int mapSize = map .size ();
300302 if (rows > 0 ) {
301303 if (mapSize != rows ) {
302- addError (String .format ("Elements in a grid are not aligned properly. Looks like grid has wrong amount of rows. Expected is %d. Actual is %d" , rows , mapSize ));
304+ getContext (). add (String .format ("Elements in a grid are not aligned properly. Looks like grid has wrong amount of rows. Expected is %d. Actual is %d" , rows , mapSize ));
303305 }
304306 }
305307
@@ -312,7 +314,7 @@ private void validateGridAlignment(List<UIElement> elements, int columns, int ro
312314 if (actualInARow != columns ) {
313315 errorLastLine ++;
314316 if (errorLastLine > 1 || actualInARow > columns ) {
315- addError (String .format ("Elements in a grid are not aligned properly in row #%d. Expected %d elements in a row. Actually it's %d" , rowCount , columns , actualInARow ));
317+ getContext (). add (String .format ("Elements in a grid are not aligned properly in row #%d. Expected %d elements in a row. Actually it's %d" , rowCount , columns , actualInARow ));
316318 }
317319 }
318320 rowCount ++;
@@ -323,16 +325,16 @@ private void validateGridAlignment(List<UIElement> elements, int columns, int ro
323325
324326 private void validateRightAlignedWithChunk (List <UIElement > elements ) {
325327 if (!elements .isEmpty ()) {
326- int oldErrorsSize = errors . getMessages ().size ();
328+ int oldErrorsSize = getContext ().errorCount ();
327329 int pickedIndex = 0 ;
328330 UIElement element = elements .get (pickedIndex );
329331 for (int i = 0 ; i < elements .size (); i ++) {
330332 if (i != pickedIndex ) {
331333 UIElement elementToCompare = elements .get (i );
332- element .validateRightAlignedWith (elementToCompare , getContext (), errors );
334+ element .validateRightAlignedWith (elementToCompare , getContext ());
333335 }
334336 }
335- if (errors . getMessages ().size () != oldErrorsSize ) {
337+ if (getContext ().errorCount () != oldErrorsSize ) {
336338 Vector onLine = elements .get (pickedIndex ).getCorner ();
337339 drawVerticalLine (onLine );
338340 }
@@ -341,143 +343,149 @@ private void validateRightAlignedWithChunk(List<UIElement> elements) {
341343
342344 private void validateLeftAlignedWithChunk (List <UIElement > elements ) {
343345 if (!elements .isEmpty ()) {
344- int oldErrorsSize = errors . getMessages ().size ();
346+ int oldErrorsSize = getContext ().errorCount ();
345347 int pickedIndex = 0 ;
346348 UIElement element = elements .get (pickedIndex );
347349 for (int i = 0 ; i < elements .size (); i ++) {
348350 UIElement elementToCompare = elements .get (i );
349- element .validateLeftAlignedWith (elementToCompare , getContext (), errors );
351+ element .validateLeftAlignedWith (elementToCompare , getContext ());
350352 }
351- if (errors . getMessages ().size () != oldErrorsSize ) {
353+ if (getContext ().errorCount () != oldErrorsSize ) {
352354 drawVerticalLine (elements .get (pickedIndex ).getOrigin ());
353355 }
354356 }
355357 }
356358
357359 private void validateTopAlignedWithChunk (List <UIElement > elements ) {
358360 if (!elements .isEmpty ()) {
359- int oldErrorsSize = errors . getMessages ().size ();
361+ int oldErrorsSize = getContext ().errorCount ();
360362 int pickedIndex = 0 ;
361363 UIElement element = elements .get (pickedIndex );
362364 for (int i = 0 ; i < elements .size (); i ++) {
363365 UIElement elementToCompare = elements .get (i );
364- element .validateTopAlignedWith (elementToCompare , getContext (), errors );
366+ element .validateTopAlignedWith (elementToCompare , getContext ());
365367 }
366- if (errors . getMessages ().size () != oldErrorsSize ) {
368+ if (getContext ().errorCount () != oldErrorsSize ) {
367369 drawHorizontalLine (elements .get (pickedIndex ).getOrigin ());
368370 }
369371 }
370372 }
371373
372374 private void validateBottomAlignedWithChunk (List <UIElement > elements ) {
373375 if (!elements .isEmpty ()) {
374- int oldErrorsSize = errors . getMessages ().size ();
376+ int oldErrorsSize = getContext ().errorCount ();
375377 int pickedIndex = 0 ;
376378 UIElement element = elements .get (pickedIndex );
377379 for (int i = 0 ; i < elements .size (); i ++) {
378380 UIElement elementToCompare = elements .get (i );
379- element .validateBottomAlignedWith (elementToCompare , getContext (), this . errors );
381+ element .validateBottomAlignedWith (elementToCompare , getContext ());
380382 }
381- if (errors . getMessages ().size () != oldErrorsSize ) {
383+ if (getContext ().errorCount () != oldErrorsSize ) {
382384 drawHorizontalLine (elements .get (pickedIndex ).getCorner ());
383385 }
384386 }
385387 }
386388
387389 private void validateSameWidth (List <UIElement > elements ) {
390+ Context context = getContext ();
388391 for (int i = 0 ; i < elements .size () - 1 ; i ++) {
389392 UIElement element = elements .get (i );
390393 UIElement elementToCompare = elements .get (i + 1 );
391- if (!element .hasSameWidthAs (elementToCompare , getContext () )) {
392- errors .add (String .format ("Element %s has different width than element %s." , element .getQuotedName (), elementToCompare .getQuotedName ()));
393- errors .draw (element );
394- errors .draw (elementToCompare );
394+ if (!element .hasSameWidthAs (elementToCompare , context )) {
395+ context .add (String .format ("Element %s has different width than element %s." , element .getQuotedName (), elementToCompare .getQuotedName ()));
396+ context .draw (element );
397+ context .draw (elementToCompare );
395398 }
396399 }
397400 }
398401
399402 private void validateSameHeight (List <UIElement > elements ) {
403+ Context context = getContext ();
400404 for (int i = 0 ; i < elements .size () - 1 ; i ++) {
401405 UIElement element = elements .get (i );
402406 UIElement elementToCompare = elements .get (i + 1 );
403- if (!element .hasSameHeightAs (elementToCompare , getContext () )) {
404- errors .add (String .format ("Element %s has different height than element %s." , element .getQuotedName (), elementToCompare .getQuotedName ()));
405- errors .draw (element );
406- errors .draw (elementToCompare );
407+ if (!element .hasSameHeightAs (elementToCompare , context )) {
408+ context .add (String .format ("Element %s has different height than element %s." , element .getQuotedName (), elementToCompare .getQuotedName ()));
409+ context .draw (element );
410+ context .draw (elementToCompare );
407411 }
408412 }
409413 }
410414
411415 private void validateSameSize (List <UIElement > elements ) {
416+ Context context = getContext ();
412417 for (int i = 0 ; i < elements .size () - 1 ; i ++) {
413418 UIElement element = elements .get (i );
414419 UIElement elementToCompare = elements .get (i + 1 );
415- if (!element .hasSameSizeAs (elementToCompare , getContext () )) {
416- errors .add (String .format ("Element %s has different size than element %s." , element .getQuotedName (), elementToCompare .getQuotedName ()));
417- errors .draw (element );
418- errors .draw (elementToCompare );
420+ if (!element .hasSameSizeAs (elementToCompare , context )) {
421+ context .add (String .format ("Element %s has different size than element %s." , element .getQuotedName (), elementToCompare .getQuotedName ()));
422+ context .draw (element );
423+ context .draw (elementToCompare );
419424 }
420425
421426 }
422427 }
423428
424429 private void validateHaveDifferentSizes (List <UIElement > elements ) {
430+ Context context = getContext ();
425431 for (int firstIndex = 0 ; firstIndex < elements .size (); firstIndex ++) {
426432 UIElement element = elements .get (firstIndex );
427433 for (int secondIndex = firstIndex +1 ; secondIndex < elements .size (); secondIndex ++) {
428434 UIElement elementToCompare = elements .get (secondIndex );
429- if (element .hasSameSizeAs (elementToCompare , getContext () )) {
430- errors .add (String .format ("Element %s has same size than element %s." , element .getQuotedName (), elementToCompare .getQuotedName ()));
431- errors .draw (element );
432- errors .draw (elementToCompare );
435+ if (element .hasSameSizeAs (elementToCompare , context )) {
436+ context .add (String .format ("Element %s has same size than element %s." , element .getQuotedName (), elementToCompare .getQuotedName ()));
437+ context .draw (element );
438+ context .draw (elementToCompare );
433439 }
434440 }
435441 }
436442 }
437443
438444 private void validateHaveDifferentWidths (List <UIElement > elements ) {
445+ Context context = getContext ();
439446 for (int firstIndex = 0 ; firstIndex < elements .size (); firstIndex ++) {
440447 UIElement element = elements .get (firstIndex );
441448 for (int secondIndex = firstIndex +1 ; secondIndex < elements .size (); secondIndex ++) {
442449 UIElement elementToCompare = elements .get (secondIndex );
443- if (element .hasSameWidthAs (elementToCompare , getContext () )) {
444- errors .add (String .format ("Element %s has same width than element %s." , element .getQuotedName (), elementToCompare .getQuotedName ()));
445- errors .draw (element );
446- errors .draw (elementToCompare );
450+ if (element .hasSameWidthAs (elementToCompare , context )) {
451+ context .add (String .format ("Element %s has same width than element %s." , element .getQuotedName (), elementToCompare .getQuotedName ()));
452+ context .draw (element );
453+ context .draw (elementToCompare );
447454 }
448455 }
449456 }
450457 }
451458
452459 private void validateNotSameHeight (List <UIElement > elements ) {
460+ Context context = getContext ();
453461 for (int firstIndex = 0 ; firstIndex < elements .size (); firstIndex ++) {
454462 UIElement element = elements .get (firstIndex );
455463 for (int secondIndex = firstIndex +1 ; secondIndex < elements .size (); secondIndex ++) {
456464 UIElement elementToCompare = elements .get (secondIndex );
457- if (element .hasSameHeightAs (elementToCompare , getContext () )) {
458- errors .add (String .format ("Element %s has same height than element %s." , element .getQuotedName (), elementToCompare .getQuotedName ()));
459- errors .draw (element );
460- errors .draw (elementToCompare );
465+ if (element .hasSameHeightAs (elementToCompare , context )) {
466+ context .add (String .format ("Element %s has same height than element %s." , element .getQuotedName (), elementToCompare .getQuotedName ()));
467+ context .draw (element );
468+ context .draw (elementToCompare );
461469 }
462470 }
463471 }
464472 }
465473
466474 private void validateCenteredOnPageVertically (List <UIElement > elements ) {
467475 for (UIElement element : elements ) {
468- element .validateCenteredOnVertically (page , getContext (), errors );
476+ element .validateCenteredOnVertically (page , getContext ());
469477 }
470478 }
471479
472480 private void validateCenteredOnPageHorizontally (List <UIElement > elements ) {
473481 for (UIElement element : elements ) {
474- element .validateCenteredOnHorizontally (page , getContext (), errors );
482+ element .validateCenteredOnHorizontally (page , getContext ());
475483 }
476484 }
477485
478486 private void validateInsideOfContainer (UIElement containerElement , List <UIElement > elements ) {
479487 for (UIElement element : elements ) {
480- element .validateInsideOfContainer (containerElement , getContext (), errors );
488+ element .validateInsideOfContainer (containerElement , getContext ());
481489 }
482490 }
483491
0 commit comments