示例#1
0
  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);
  }