public void testIfBrickParts() { ArrayList<Integer> yPosition; ArrayList<Brick> projectBrickList = project.getSpriteList().get(0).getScript(0).getBrickList(); Log.e("info", "Befor drag item 1 to item 4 + 20"); logBrickListForJenkins(projectBrickList); yPosition = UiTestUtils.getListItemYPositions(solo, 1); UiTestUtils.longClickAndDrag(solo, 10, yPosition.get(1), 10, yPosition.get(4) + 20, 20); assertEquals("Incorrect number of bricks.", 4, projectBrickList.size()); assertTrue("Wrong Brick instance.", (projectBrickList.get(1) instanceof IfLogicBeginBrick)); Log.e("info", "Befor drag item 2 to item 0"); logBrickListForJenkins(projectBrickList); yPosition = UiTestUtils.getListItemYPositions(solo, 1); UiTestUtils.longClickAndDrag(solo, 10, yPosition.get(2), 10, yPosition.get(0), 20); assertEquals("Incorrect number of bricks.", 4, projectBrickList.size()); assertTrue("Wrong Brick instance.", (projectBrickList.get(0) instanceof IfLogicBeginBrick)); // just to get focus // seems to be a bug just with the Nexus S 2.3.6 String spinnerScripts = solo.getString(R.string.scripts); solo.clickOnText(spinnerScripts); solo.clickOnText(spinnerScripts); Log.e("info", "Befor drag item 3 to item 0"); logBrickListForJenkins(projectBrickList); yPosition = UiTestUtils.getListItemYPositions(solo, 1); UiTestUtils.longClickAndDrag(solo, 10, yPosition.get(3), 10, yPosition.get(0), 20); assertEquals("Incorrect number of bricks.", 4, projectBrickList.size()); assertTrue( "Wrong Brick instance - expected IfElseBrick but was " + projectBrickList.get(1).getClass().getSimpleName(), projectBrickList.get(1) instanceof IfLogicElseBrick); assertTrue( "Wrong Brick instance - expected ChangeYByNBrick but was " + projectBrickList.get(2).getClass().getSimpleName(), projectBrickList.get(2) instanceof ChangeYByNBrick); Log.e("info", "Befor drag item 4 to item 0"); logBrickListForJenkins(projectBrickList); yPosition = UiTestUtils.getListItemYPositions(solo, 1); UiTestUtils.longClickAndDrag(solo, 10, yPosition.get(4) - 10, 10, yPosition.get(0), 20); assertEquals("Incorrect number of bricks.", 4, projectBrickList.size()); Log.e("info", "After drag item 4 to item 0"); logBrickListForJenkins(projectBrickList); // TODO Test commented lines on local test-device in order to find strange jenkins error // junit.framework.AssertionFailedError: Wrong Brick instance, expected IfLogicEndBrick but was // ChangeYByNBrick // assert below! // // assertTrue("Wrong Brick instance, expected IfLogicEndBrick but was " // + projectBrickList.get(2).getClass().getSimpleName(), // projectBrickList.get(2) instanceof IfLogicEndBrick); // // UiTestUtils.addNewBrick(solo, R.string.brick_broadcast_receive); // yPosition = UiTestUtils.getListItemYPositions(solo, 1); // int addedYPosition = UiTestUtils.getAddedListItemYPosition(solo); // // Sprite sprite = ProjectManager.getInstance().getCurrentSprite(); // assertEquals("Incorrect number of Scripts.", 2, sprite.getNumberOfScripts()); // // solo.goBack(); // // yPosition = UiTestUtils.getListItemYPositions(solo, 1); // solo.clickOnScreen(20, yPosition.get(3)); // clickOnDeleteInDialog(); // // assertEquals("Incorrect number of bricks.", 1, projectBrickList.size()); // assertTrue("Wrong Brick instance.", projectBrickList.get(0) instanceof ChangeYByNBrick); // // yPosition = UiTestUtils.getListItemYPositions(solo, 1); // UiTestUtils.longClickAndDrag(solo, 10, yPosition.get(1), 10, yPosition.get(2) + 20, 20); // assertEquals("Incorrect number of bricks.", 0, projectBrickList.size()); // projectBrickList = project.getSpriteList().get(0).getScript(1).getBrickList(); // assertEquals("Incorrect number of bricks.", 1, projectBrickList.size()); // assertTrue("Wrong Brick instance.", projectBrickList.get(0) instanceof ChangeYByNBrick); // // UiTestUtils.addNewBrick(solo, R.string.brick_if_begin); // yPosition = UiTestUtils.getListItemYPositions(solo, 1); // addedYPosition = UiTestUtils.getAddedListItemYPosition(solo); // solo.drag(20, 20, addedYPosition, yPosition.get(3) + 20, 20); // // UiTestUtils.addNewBrick(solo, R.string.brick_set_look); // yPosition = UiTestUtils.getListItemYPositions(solo, 1); // addedYPosition = UiTestUtils.getAddedListItemYPosition(solo); // solo.drag(20, 20, addedYPosition, yPosition.get(5) + 20, 20); // // yPosition = UiTestUtils.getListItemYPositions(solo, 1); // UiTestUtils.longClickAndDrag(solo, 10, yPosition.get(4), 10, yPosition.get(5) + 20, 20); // projectBrickList = project.getSpriteList().get(0).getScript(1).getBrickList(); // // assertTrue("Wrong Brick instance.", projectBrickList.get(0) instanceof ChangeYByNBrick); // assertTrue("Wrong Brick instance.", projectBrickList.get(1) instanceof IfLogicBeginBrick); // assertTrue("Wrong Brick instance.", projectBrickList.get(2) instanceof SetLookBrick); // assertTrue("Wrong Brick instance.", projectBrickList.get(3) instanceof IfLogicElseBrick); // assertTrue("Wrong Brick instance.", projectBrickList.get(4) instanceof IfLogicEndBrick); }