Skip to content

Commit 26f2541

Browse files
committed
Revert "Merge pull request #74 from ITArray/GridAlignment"
This reverts commit a44487d, reversing changes made to a8ae908. revert because of bug
1 parent a44487d commit 26f2541

File tree

5 files changed

+98
-150
lines changed

5 files changed

+98
-150
lines changed

src/main/java/net/itarray/automotion/internal/ResponsiveUIChunkValidatorBase.java

Lines changed: 5 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
package net.itarray.automotion.internal;
22

3-
import com.google.common.collect.Maps;
4-
import com.google.common.collect.Sets;
53
import net.itarray.automotion.internal.geometry.Scalar;
64
import net.itarray.automotion.validation.ChunkUIElementValidator;
75
import net.itarray.automotion.validation.UISnapshot;
@@ -12,7 +10,6 @@
1210

1311
import java.util.List;
1412
import java.util.Map;
15-
import java.util.Set;
1613
import java.util.SortedMap;
1714
import java.util.TreeMap;
1815
import java.util.concurrent.ConcurrentSkipListMap;
@@ -257,22 +254,13 @@ private void validateElementsAreNotOverlapped(List<UIElement> elements) {
257254
}
258255

259256
private void validateGridAlignment(List<UIElement> elements, int columns, int rows) {
260-
SortedMap<Scalar, Integer> countByYCoordinate = new TreeMap<>();
257+
SortedMap<Scalar, Integer> map = new TreeMap<>();
261258
for (UIElement element : elements) {
262-
int oldCount = countByYCoordinate.getOrDefault(element.getY(), 0);
263-
countByYCoordinate.put(element.getY(), oldCount + 1);
259+
int oldCount = map.getOrDefault(element.getY(), 0);
260+
map.put(element.getY(), oldCount + 1);
264261
}
265262

266-
Set<Scalar> xCoordinates = Sets.newHashSet();
267-
for (UIElement element : elements) {
268-
xCoordinates.add(element.getX());
269-
}
270-
271-
if (xCoordinates.size() > columns) {
272-
addError(String.format("Elements in a grid are not aligned properly. Looks like grid has wrong amount of columns. Expected is %d. Actual is %d", columns, xCoordinates.size()));
273-
}
274-
275-
int mapSize = countByYCoordinate.size();
263+
int mapSize = map.size();
276264
if (rows > 0) {
277265
if (mapSize != rows) {
278266
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));
@@ -282,7 +270,7 @@ private void validateGridAlignment(List<UIElement> elements, int columns, int ro
282270
if (columns > 0) {
283271
int errorLastLine = 0;
284272
int rowCount = 1;
285-
for (Map.Entry<Scalar, Integer> entry : countByYCoordinate.entrySet()) {
273+
for (Map.Entry<Scalar, Integer> entry : map.entrySet()) {
286274
if (rowCount <= mapSize) {
287275
int actualInARow = entry.getValue();
288276
if (actualInARow != columns) {

src/test/java/net/itarray/automotion/tests/grid/GridTest.java

Lines changed: 0 additions & 43 deletions
This file was deleted.

src/test/java/net/itarray/automotion/tests/grid/SevenElementsInThreeRowsWithDifferentSizesAndGuttersTest.java

Lines changed: 67 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,22 +16,79 @@
1616
import static org.assertj.core.api.Assertions.assertThat;
1717
import static rectangles.DummyWebElement.createElement;
1818

19-
public class SevenElementsInThreeRowsWithDifferentSizesAndGuttersTest extends GridTest {
19+
public class SevenElementsInThreeRowsWithDifferentSizesAndGuttersTest {
2020

21-
public List<WebElement> createElemements() {
22-
return newArrayList(
23-
createElement(100, 50, 300, 60),
24-
createElement(900, 50, 1200, 80),
25-
createElement(1300, 50, 1800, 80),
26-
createElement(100, 150, 300, 160),
27-
createElement(400, 150, 700, 170),
28-
createElement(1300, 150, 1800, 180)
29-
);
21+
private ChunkUIElementValidator chunkValidator;
22+
23+
@Before
24+
public void setUp() {
25+
DummyDriverFacade driverFacade = new DummyDriverFacade();
26+
driverFacade.setPageSize(new Dimension(2000, 1000));
27+
ResponsiveUIValidator uiValidator = new ResponsiveUIValidator(driverFacade);
28+
UISnapshot snapshot = uiValidator.snapshot();
29+
List<WebElement> elements = newArrayList(
30+
createElement(100, 50, 300, 60),
31+
createElement(400, 50, 700, 70),
32+
createElement(900, 50, 1200, 80),
33+
createElement(100, 150, 300, 160),
34+
createElement(400, 150, 700, 170),
35+
createElement(900, 150, 1200, 180),
36+
createElement(100, 250, 300, 160)
37+
);
38+
chunkValidator = snapshot.findElements(elements);
39+
}
40+
41+
@Test
42+
public void areNotAlignedInTwoColumns() {
43+
chunkValidator.alignedAsGrid(2);
44+
assertInvalid();
45+
}
46+
47+
@Test
48+
public void areAlignedInThreeColumns() {
49+
chunkValidator.alignedAsGrid(3);
50+
assertValid();
51+
}
52+
53+
@Test
54+
public void areAlignedInThreeColumnsAndThreeRows() {
55+
chunkValidator.alignedAsGrid(3, 3);
56+
assertValid();
3057
}
3158

3259
@Test
3360
public void areNotAlignedInThreeColumnsAndTwoRows() {
3461
chunkValidator.alignedAsGrid(3, 2);
3562
assertInvalid();
3663
}
64+
65+
@Test
66+
public void areNotAlignedInThreeColumnsAndTwoFour() {
67+
chunkValidator.alignedAsGrid(3, 4);
68+
assertInvalid();
69+
}
70+
71+
@Test
72+
public void areNotAlignedInFourColumns() {
73+
chunkValidator.alignedAsGrid(4);
74+
assertInvalid();
75+
}
76+
77+
@Test
78+
public void areNotAlignedInFourColumnsAndOneRow() {
79+
chunkValidator.alignedAsGrid(4, 1);
80+
assertInvalid();
81+
}
82+
83+
public void assertValid() {
84+
ResponsiveUIValidatorBase base = (ResponsiveUIValidatorBase) chunkValidator;
85+
String lastMessage = base.getErrors().getLastMessage();
86+
assertThat(lastMessage).isNull();
87+
}
88+
89+
public void assertInvalid() {
90+
ResponsiveUIValidatorBase base = (ResponsiveUIValidatorBase) chunkValidator;
91+
String lastMessage = base.getErrors().getLastMessage();
92+
assertThat(lastMessage).isNotNull();
93+
}
3794
}

src/test/java/net/itarray/automotion/tests/grid/SixElementsInTwoRowsAndFourXCoordinatesTest.java

Lines changed: 0 additions & 74 deletions
This file was deleted.

src/test/java/net/itarray/automotion/tests/grid/ThreeElementsInARowWithDifferentSizesAndGuttersTest.java

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,21 @@
1717
import static org.assertj.core.api.Assertions.assertThat;
1818
import static rectangles.DummyWebElement.createElement;
1919

20-
public class ThreeElementsInARowWithDifferentSizesAndGuttersTest extends GridTest {
20+
public class ThreeElementsInARowWithDifferentSizesAndGuttersTest {
2121

22-
public List<WebElement> createElemements() {
23-
return newArrayList(
24-
createElement(100, 50, 300, 60),
25-
createElement(400, 50, 700, 60),
26-
createElement(900, 50, 1200, 60));
22+
private ChunkUIElementValidator chunkValidator;
23+
24+
@Before
25+
public void setUp() {
26+
DummyDriverFacade driverFacade = new DummyDriverFacade();
27+
driverFacade.setPageSize(new Dimension(2000, 1000));
28+
ResponsiveUIValidator uiValidator = new ResponsiveUIValidator(driverFacade);
29+
UISnapshot snapshot = uiValidator.snapshot();
30+
List<WebElement> elements = newArrayList(
31+
createElement(100, 50, 300, 60),
32+
createElement(400, 50, 700, 60),
33+
createElement(900, 50, 1200, 60));
34+
chunkValidator = snapshot.findElements(elements);
2735
}
2836

2937
@Test
@@ -67,4 +75,16 @@ public void areNotAlignedInFourColumnsAndTwoRows() {
6775
chunkValidator.alignedAsGrid(4, 2);
6876
assertInvalid();
6977
}
78+
79+
public void assertValid() {
80+
ResponsiveUIValidatorBase base = (ResponsiveUIValidatorBase) chunkValidator;
81+
String lastMessage = base.getErrors().getLastMessage();
82+
assertThat(lastMessage).isNull();
83+
}
84+
85+
public void assertInvalid() {
86+
ResponsiveUIValidatorBase base = (ResponsiveUIValidatorBase) chunkValidator;
87+
String lastMessage = base.getErrors().getLastMessage();
88+
assertThat(lastMessage).isNotNull();
89+
}
7090
}

0 commit comments

Comments
 (0)