/** ForEachTest.java. Purpose: Description: History: 5:35:03 PM Nov 5, 2014, Created by jumperchen Copyright (C) 2014 Potix Corporation. All Rights Reserved. */ package org.zkoss.zktest.zats.zuti.simple; import static org.junit.Assert.*; import java.util.List; import java.util.ListIterator; import org.junit.Test; import org.zkoss.zats.mimic.ComponentAgent; import org.zkoss.zats.mimic.DesktopAgent; import org.zkoss.zul.Div; import org.zkoss.zul.Label; import org.zkoss.zktest.zats.zuti.ZutiBasicTestCase; import org.zkoss.zktest.zats.zuti.verifier.NullShadowRoot; /** * @author jumperchen */ public class ForEachTest extends ZutiBasicTestCase { @Test public void testResult() { DesktopAgent desktop = connect(); ComponentAgent hostAgent = desktop.query("#host"); checkChildren(hostAgent, new Integer[]{0,1,2,3}, 1); hostAgent = hostAgent.getNextSibling(); checkChildren(hostAgent, new Integer[]{0,1,2,3}, 2); hostAgent = hostAgent.getNextSibling(); checkChildren(hostAgent, new Object[]{"one", "two", "three"}, 1); hostAgent = hostAgent.getNextSibling(); checkChildren(hostAgent, new Object[]{"two", "three"}, 1); } private void checkChildren(ComponentAgent parent, Object[] data, int step) { List<ComponentAgent> children = parent.getChildren(); assertTrue(children.size() == data.length / step + 1); int index = 0; for (ListIterator<ComponentAgent> it = parent.getChildren().listIterator(1); it.hasNext(); index += step) { ComponentAgent cmp = it.next(); assertEquals("color:blue", cmp.as(Div.class).getStyle()); assertEquals(data[index] + " Template", cmp.getChild(0).as(Label.class).getValue());; } checkVerifier(parent.getOwner(), NullShadowRoot.class); } }