Changeset 1280


Ignore:
Timestamp:
07/26/13 10:01:49 (11 years ago)
Author:
pharms
Message:
  • added some tests for grouping GUI elements in a model
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/autoquest-core-events-test/src/test/java/de/ugoe/cs/autoquest/eventcore/guimodel/GUIModelTest.java

    r1088 r1280  
    1818 
    1919import java.util.ArrayList; 
     20import java.util.Arrays; 
    2021import java.util.List; 
    2122 
     
    340341     */ 
    341342    @Test 
    342     public void test_Traverser_01() throws Exception { 
     343    public void test_GroupGUIElements_01() throws Exception { 
    343344        GUIModel model = new GUIModel(); 
    344345         
     
    389390        //         \-- guiElem10 
    390391         
    391         GUIModel.Traverser traverser = model.getTraverser(); 
    392         assertNotNull(traverser); 
    393         assertTrue(traverser.hasFirstChild()); 
    394         assertFalse(traverser.hasNextSibling()); 
    395         assertNull(traverser.parent()); 
    396          
    397         // guiElem1 
    398         IGUIElement element = traverser.firstChild(); 
    399         assertNotNull(element); 
    400         assertTrue(element.getSpecification() instanceof TestGUIElementSpec); 
    401         assertEquals("guiElem1", ((TestGUIElementSpec) element.getSpecification()).id); 
    402         assertTrue(traverser.hasFirstChild()); 
    403         assertFalse(traverser.hasNextSibling()); 
    404         assertNull(traverser.nextSibling()); 
    405          
    406         // guiElem2 
    407         element = traverser.firstChild(); 
    408         assertNotNull(element); 
    409         assertTrue(element.getSpecification() instanceof TestGUIElementSpec); 
    410         assertEquals("guiElem2", ((TestGUIElementSpec) element.getSpecification()).id); 
    411         assertTrue(traverser.hasFirstChild()); 
    412         assertTrue(traverser.hasNextSibling()); 
    413          
    414         // guiElem3 
    415         element = traverser.firstChild(); 
    416         assertNotNull(element); 
    417         assertTrue(element.getSpecification() instanceof TestGUIElementSpec); 
    418         assertEquals("guiElem3", ((TestGUIElementSpec) element.getSpecification()).id); 
    419         assertTrue(traverser.hasFirstChild()); 
    420         assertTrue(traverser.hasNextSibling()); 
    421          
    422         // guiElem4 
    423         element = traverser.firstChild(); 
    424         assertNotNull(element); 
    425         assertTrue(element.getSpecification() instanceof TestGUIElementSpec); 
    426         assertEquals("guiElem4", ((TestGUIElementSpec) element.getSpecification()).id); 
    427         assertFalse(traverser.hasFirstChild()); 
    428         assertNull(traverser.firstChild()); 
    429         assertFalse(traverser.hasNextSibling()); 
    430         assertNull(traverser.nextSibling()); 
    431  
    432         // guiElem3 
    433         element = traverser.parent(); 
    434         assertNotNull(element); 
    435         assertTrue(element.getSpecification() instanceof TestGUIElementSpec); 
    436         assertEquals("guiElem3", ((TestGUIElementSpec) element.getSpecification()).id); 
    437         assertTrue(traverser.hasFirstChild()); 
    438         assertTrue(traverser.hasNextSibling()); 
    439          
    440         // guiElem5 
    441         element = traverser.nextSibling(); 
    442         assertNotNull(element); 
    443         assertTrue(element.getSpecification() instanceof TestGUIElementSpec); 
    444         assertEquals("guiElem5", ((TestGUIElementSpec) element.getSpecification()).id); 
    445         assertTrue(traverser.hasFirstChild()); 
    446         assertFalse(traverser.hasNextSibling()); 
    447         assertNull(traverser.nextSibling()); 
    448          
    449         // guiElem6 
    450         element = traverser.firstChild(); 
    451         assertNotNull(element); 
    452         assertTrue(element.getSpecification() instanceof TestGUIElementSpec); 
    453         assertEquals("guiElem6", ((TestGUIElementSpec) element.getSpecification()).id); 
    454         assertFalse(traverser.hasFirstChild()); 
    455         assertNull(traverser.firstChild()); 
    456         assertTrue(traverser.hasNextSibling()); 
    457          
    458         // guiElem7 
    459         element = traverser.nextSibling(); 
    460         assertNotNull(element); 
    461         assertTrue(element.getSpecification() instanceof TestGUIElementSpec); 
    462         assertEquals("guiElem7", ((TestGUIElementSpec) element.getSpecification()).id); 
    463         assertTrue(traverser.hasFirstChild()); 
    464         assertFalse(traverser.hasNextSibling()); 
    465         assertNull(traverser.nextSibling()); 
    466          
    467         // guiElem8 
    468         element = traverser.firstChild(); 
    469         assertNotNull(element); 
    470         assertTrue(element.getSpecification() instanceof TestGUIElementSpec); 
    471         assertEquals("guiElem8", ((TestGUIElementSpec) element.getSpecification()).id); 
    472         assertFalse(traverser.hasFirstChild()); 
    473         assertNull(traverser.firstChild()); 
    474         assertFalse(traverser.hasNextSibling()); 
    475         assertNull(traverser.nextSibling()); 
    476          
    477         // guiElem7 
    478         element = traverser.parent(); 
    479         assertNotNull(element); 
    480         assertTrue(element.getSpecification() instanceof TestGUIElementSpec); 
    481         assertEquals("guiElem7", ((TestGUIElementSpec) element.getSpecification()).id); 
    482         assertTrue(traverser.hasFirstChild()); 
    483         assertFalse(traverser.hasNextSibling()); 
    484         assertNull(traverser.nextSibling()); 
    485          
    486         // guiElem5 
    487         element = traverser.parent(); 
    488         assertNotNull(element); 
    489         assertTrue(element.getSpecification() instanceof TestGUIElementSpec); 
    490         assertEquals("guiElem5", ((TestGUIElementSpec) element.getSpecification()).id); 
    491         assertTrue(traverser.hasFirstChild()); 
    492         assertFalse(traverser.hasNextSibling()); 
    493         assertNull(traverser.nextSibling()); 
    494          
    495         // guiElem2 
    496         element = traverser.parent(); 
    497         assertNotNull(element); 
    498         assertTrue(element.getSpecification() instanceof TestGUIElementSpec); 
    499         assertEquals("guiElem2", ((TestGUIElementSpec) element.getSpecification()).id); 
    500         assertTrue(traverser.hasFirstChild()); 
    501         assertTrue(traverser.hasNextSibling()); 
    502          
    503         // guiElem9 
    504         element = traverser.nextSibling(); 
    505         assertNotNull(element); 
    506         assertTrue(element.getSpecification() instanceof TestGUIElementSpec); 
    507         assertEquals("guiElem9", ((TestGUIElementSpec) element.getSpecification()).id); 
    508         assertTrue(traverser.hasFirstChild()); 
    509         assertFalse(traverser.hasNextSibling()); 
    510         assertNull(traverser.nextSibling()); 
    511          
    512         // guiElem10 
    513         element = traverser.firstChild(); 
    514         assertNotNull(element); 
    515         assertTrue(element.getSpecification() instanceof TestGUIElementSpec); 
    516         assertEquals("guiElem10", ((TestGUIElementSpec) element.getSpecification()).id); 
    517         assertFalse(traverser.hasFirstChild()); 
    518         assertNull(traverser.firstChild()); 
    519         assertFalse(traverser.hasNextSibling()); 
    520         assertNull(traverser.nextSibling()); 
    521          
    522         // guiElem9 
    523         element = traverser.parent(); 
    524         assertNotNull(element); 
    525         assertTrue(element.getSpecification() instanceof TestGUIElementSpec); 
    526         assertEquals("guiElem9", ((TestGUIElementSpec) element.getSpecification()).id); 
    527         assertTrue(traverser.hasFirstChild()); 
    528         assertFalse(traverser.hasNextSibling()); 
    529         assertNull(traverser.nextSibling()); 
    530          
    531         // guiElem1 
    532         element = traverser.parent(); 
    533         assertNotNull(element); 
    534         assertTrue(element.getSpecification() instanceof TestGUIElementSpec); 
    535         assertEquals("guiElem1", ((TestGUIElementSpec) element.getSpecification()).id); 
    536         assertTrue(traverser.hasFirstChild()); 
    537         assertFalse(traverser.hasNextSibling()); 
    538         assertNull(traverser.nextSibling()); 
    539          
    540         assertNull(traverser.parent()); 
    541     } 
    542  
    543     /** 
    544      *  
    545      */ 
    546     @Test 
    547     public void test_Traverser_02() throws Exception { 
     392        assertNotNull(model.getRootElements()); 
     393        assertEquals(1, model.getRootElements().size()); 
     394         
     395        IGUIElement guiElem1 = model.getRootElements().get(0); 
     396         
     397        assertEquals(2, model.getChildren(guiElem1).size()); 
     398        IGUIElement guiElem2 = model.getChildren(guiElem1).get(0); 
     399        IGUIElement guiElem9 = model.getChildren(guiElem1).get(1); 
     400         
     401        model.groupGUIElements(Arrays.asList(guiElem2, guiElem9), "newGroup"); 
     402         
     403        assertEquals(1, model.getChildren(guiElem1).size()); 
     404        IGUIElement group = model.getChildren(guiElem1).get(0); 
     405         
     406        assertEquals(2, model.getChildren(group).size()); 
     407        assertEquals(guiElem2, model.getChildren(group).get(0)); 
     408        assertEquals(guiElem9, model.getChildren(group).get(1)); 
     409    } 
     410 
     411    /** 
     412     *  
     413     */ 
     414    @Test 
     415    public void test_GroupGUIElements_02() throws Exception { 
    548416        GUIModel model = new GUIModel(); 
    549417         
     
    562430        guiElementPath.add(new TestGUIElementSpec("guiElem6")); 
    563431 
    564         IGUIElement target = model.integratePath(guiElementPath, guiElementFactory); 
     432        model.integratePath(guiElementPath, guiElementFactory); 
    565433         
    566434        guiElementPath.remove(3); 
     
    594462        //         \-- guiElem10 
    595463         
     464        assertNotNull(model.getRootElements()); 
     465        assertEquals(1, model.getRootElements().size()); 
     466         
     467        IGUIElement guiElem1 = model.getRootElements().get(0); 
     468        IGUIElement guiElem2 = model.getChildren(guiElem1).get(0); 
     469         
     470        assertEquals(2, model.getChildren(guiElem2).size()); 
     471        IGUIElement guiElem3 = model.getChildren(guiElem2).get(0); 
     472        IGUIElement guiElem5 = model.getChildren(guiElem2).get(1); 
     473         
     474        model.groupGUIElements(Arrays.asList(guiElem3, guiElem5), "newGroup"); 
     475         
     476        assertEquals(1, model.getChildren(guiElem2).size()); 
     477        IGUIElement group = model.getChildren(guiElem2).get(0); 
     478         
     479        assertEquals(2, model.getChildren(group).size()); 
     480        assertEquals(guiElem3, model.getChildren(group).get(0)); 
     481        assertEquals(guiElem5, model.getChildren(group).get(1)); 
     482    } 
     483 
     484    /** 
     485     *  
     486     */ 
     487    @Test 
     488    public void test_GroupGUIElements_03() throws Exception { 
     489        GUIModel model = new GUIModel(); 
     490         
     491        List<IGUIElementSpec> guiElementPath = new ArrayList<IGUIElementSpec>(); 
     492        guiElementPath.add(new TestGUIElementSpec("guiElem1")); 
     493        guiElementPath.add(new TestGUIElementSpec("guiElem2")); 
     494        guiElementPath.add(new TestGUIElementSpec("guiElem3")); 
     495        guiElementPath.add(new TestGUIElementSpec("guiElem4")); 
     496         
     497        model.integratePath(guiElementPath, guiElementFactory); 
     498 
     499        guiElementPath.remove(2); 
     500        guiElementPath.remove(2); 
     501         
     502        guiElementPath.add(new TestGUIElementSpec("guiElem5")); 
     503        guiElementPath.add(new TestGUIElementSpec("guiElem6")); 
     504 
     505        model.integratePath(guiElementPath, guiElementFactory); 
     506         
     507        guiElementPath.remove(3); 
     508         
     509        guiElementPath.add(new TestGUIElementSpec("guiElem7")); 
     510        guiElementPath.add(new TestGUIElementSpec("guiElem8")); 
     511 
     512        model.integratePath(guiElementPath, guiElementFactory); 
     513         
     514        guiElementPath.remove(1); 
     515        guiElementPath.remove(1); 
     516        guiElementPath.remove(1); 
     517        guiElementPath.remove(1); 
     518         
     519        guiElementPath.add(new TestGUIElementSpec("guiElem9")); 
     520        guiElementPath.add(new TestGUIElementSpec("guiElem10")); 
     521 
     522        model.integratePath(guiElementPath, guiElementFactory); 
     523         
     524        // the model created is 
     525        // guiElem1 
     526        //   |-- guiElem2 
     527        //   |     |-- guiElem3 
     528        //   |     |     \-- guiElem4 
     529        //   |     | 
     530        //   |     \-- guiElem5 
     531        //   |           |-- guiElem6 
     532        //   |           \-- guiElem7 
     533        //   |                 \-- guiElem8 
     534        //   \-- guiElem9 
     535        //         \-- guiElem10 
     536         
     537        assertNotNull(model.getRootElements()); 
     538        assertEquals(1, model.getRootElements().size()); 
     539         
     540        IGUIElement guiElem1 = model.getRootElements().get(0); 
     541        IGUIElement guiElem2 = model.getChildren(guiElem1).get(0); 
     542        IGUIElement guiElem3 = model.getChildren(guiElem2).get(0); 
     543         
     544        assertEquals(1, model.getChildren(guiElem3).size()); 
     545        IGUIElement guiElem4 = model.getChildren(guiElem3).get(0); 
     546         
     547        model.groupGUIElements(Arrays.asList(guiElem4), "newGroup"); 
     548         
     549        assertEquals(1, model.getChildren(guiElem3).size()); 
     550        IGUIElement group = model.getChildren(guiElem3).get(0); 
     551         
     552        assertEquals(1, model.getChildren(group).size()); 
     553        assertEquals(guiElem4, model.getChildren(group).get(0)); 
     554    } 
     555 
     556    /** 
     557     *  
     558     */ 
     559    @Test(expected = java.lang.IllegalArgumentException.class) 
     560    public void test_GroupGUIElements_04() throws Exception { 
     561        GUIModel model = new GUIModel(); 
     562         
     563        List<IGUIElementSpec> guiElementPath = new ArrayList<IGUIElementSpec>(); 
     564        guiElementPath.add(new TestGUIElementSpec("guiElem1")); 
     565        guiElementPath.add(new TestGUIElementSpec("guiElem2")); 
     566        guiElementPath.add(new TestGUIElementSpec("guiElem3")); 
     567        guiElementPath.add(new TestGUIElementSpec("guiElem4")); 
     568         
     569        model.integratePath(guiElementPath, guiElementFactory); 
     570 
     571        guiElementPath.remove(2); 
     572        guiElementPath.remove(2); 
     573         
     574        guiElementPath.add(new TestGUIElementSpec("guiElem5")); 
     575        guiElementPath.add(new TestGUIElementSpec("guiElem6")); 
     576 
     577        model.integratePath(guiElementPath, guiElementFactory); 
     578         
     579        guiElementPath.remove(3); 
     580         
     581        guiElementPath.add(new TestGUIElementSpec("guiElem7")); 
     582        guiElementPath.add(new TestGUIElementSpec("guiElem8")); 
     583 
     584        model.integratePath(guiElementPath, guiElementFactory); 
     585         
     586        guiElementPath.remove(1); 
     587        guiElementPath.remove(1); 
     588        guiElementPath.remove(1); 
     589        guiElementPath.remove(1); 
     590         
     591        guiElementPath.add(new TestGUIElementSpec("guiElem9")); 
     592        guiElementPath.add(new TestGUIElementSpec("guiElem10")); 
     593 
     594        model.integratePath(guiElementPath, guiElementFactory); 
     595         
     596        // the model created is 
     597        // guiElem1 
     598        //   |-- guiElem2 
     599        //   |     |-- guiElem3 
     600        //   |     |     \-- guiElem4 
     601        //   |     | 
     602        //   |     \-- guiElem5 
     603        //   |           |-- guiElem6 
     604        //   |           \-- guiElem7 
     605        //   |                 \-- guiElem8 
     606        //   \-- guiElem9 
     607        //         \-- guiElem10 
     608         
     609        assertNotNull(model.getRootElements()); 
     610        assertEquals(1, model.getRootElements().size()); 
     611         
     612        IGUIElement guiElem1 = model.getRootElements().get(0); 
     613        IGUIElement guiElem2 = model.getChildren(guiElem1).get(0); 
     614        IGUIElement guiElem3 = model.getChildren(guiElem2).get(0); 
     615        IGUIElement guiElem5 = model.getChildren(guiElem2).get(1); 
     616         
     617        assertEquals(1, model.getChildren(guiElem3).size()); 
     618        IGUIElement guiElem4 = model.getChildren(guiElem3).get(0); 
     619         
     620        assertEquals(2, model.getChildren(guiElem5).size()); 
     621        IGUIElement guiElem6 = model.getChildren(guiElem5).get(0); 
     622 
     623        model.groupGUIElements(Arrays.asList(guiElem4, guiElem6), "newGroup"); 
     624    } 
     625 
     626    /** 
     627     *  
     628     */ 
     629    @Test 
     630    public void test_Traverser_01() throws Exception { 
     631        GUIModel model = new GUIModel(); 
     632         
     633        List<IGUIElementSpec> guiElementPath = new ArrayList<IGUIElementSpec>(); 
     634        guiElementPath.add(new TestGUIElementSpec("guiElem1")); 
     635        guiElementPath.add(new TestGUIElementSpec("guiElem2")); 
     636        guiElementPath.add(new TestGUIElementSpec("guiElem3")); 
     637        guiElementPath.add(new TestGUIElementSpec("guiElem4")); 
     638         
     639        model.integratePath(guiElementPath, guiElementFactory); 
     640 
     641        guiElementPath.remove(2); 
     642        guiElementPath.remove(2); 
     643         
     644        guiElementPath.add(new TestGUIElementSpec("guiElem5")); 
     645        guiElementPath.add(new TestGUIElementSpec("guiElem6")); 
     646 
     647        model.integratePath(guiElementPath, guiElementFactory); 
     648         
     649        guiElementPath.remove(3); 
     650         
     651        guiElementPath.add(new TestGUIElementSpec("guiElem7")); 
     652        guiElementPath.add(new TestGUIElementSpec("guiElem8")); 
     653 
     654        model.integratePath(guiElementPath, guiElementFactory); 
     655         
     656        guiElementPath.remove(1); 
     657        guiElementPath.remove(1); 
     658        guiElementPath.remove(1); 
     659        guiElementPath.remove(1); 
     660         
     661        guiElementPath.add(new TestGUIElementSpec("guiElem9")); 
     662        guiElementPath.add(new TestGUIElementSpec("guiElem10")); 
     663 
     664        model.integratePath(guiElementPath, guiElementFactory); 
     665         
     666        // the model created is 
     667        // guiElem1 
     668        //   |-- guiElem2 
     669        //   |     |-- guiElem3 
     670        //   |     |     \-- guiElem4 
     671        //   |     | 
     672        //   |     \-- guiElem5 
     673        //   |           |-- guiElem6 
     674        //   |           \-- guiElem7 
     675        //   |                 \-- guiElem8 
     676        //   \-- guiElem9 
     677        //         \-- guiElem10 
     678         
     679        GUIModel.Traverser traverser = model.getTraverser(); 
     680        assertNotNull(traverser); 
     681        assertTrue(traverser.hasFirstChild()); 
     682        assertFalse(traverser.hasNextSibling()); 
     683        assertNull(traverser.parent()); 
     684         
     685        // guiElem1 
     686        IGUIElement element = traverser.firstChild(); 
     687        assertNotNull(element); 
     688        assertTrue(element.getSpecification() instanceof TestGUIElementSpec); 
     689        assertEquals("guiElem1", ((TestGUIElementSpec) element.getSpecification()).id); 
     690        assertTrue(traverser.hasFirstChild()); 
     691        assertFalse(traverser.hasNextSibling()); 
     692        assertNull(traverser.nextSibling()); 
     693         
     694        // guiElem2 
     695        element = traverser.firstChild(); 
     696        assertNotNull(element); 
     697        assertTrue(element.getSpecification() instanceof TestGUIElementSpec); 
     698        assertEquals("guiElem2", ((TestGUIElementSpec) element.getSpecification()).id); 
     699        assertTrue(traverser.hasFirstChild()); 
     700        assertTrue(traverser.hasNextSibling()); 
     701         
     702        // guiElem3 
     703        element = traverser.firstChild(); 
     704        assertNotNull(element); 
     705        assertTrue(element.getSpecification() instanceof TestGUIElementSpec); 
     706        assertEquals("guiElem3", ((TestGUIElementSpec) element.getSpecification()).id); 
     707        assertTrue(traverser.hasFirstChild()); 
     708        assertTrue(traverser.hasNextSibling()); 
     709         
     710        // guiElem4 
     711        element = traverser.firstChild(); 
     712        assertNotNull(element); 
     713        assertTrue(element.getSpecification() instanceof TestGUIElementSpec); 
     714        assertEquals("guiElem4", ((TestGUIElementSpec) element.getSpecification()).id); 
     715        assertFalse(traverser.hasFirstChild()); 
     716        assertNull(traverser.firstChild()); 
     717        assertFalse(traverser.hasNextSibling()); 
     718        assertNull(traverser.nextSibling()); 
     719 
     720        // guiElem3 
     721        element = traverser.parent(); 
     722        assertNotNull(element); 
     723        assertTrue(element.getSpecification() instanceof TestGUIElementSpec); 
     724        assertEquals("guiElem3", ((TestGUIElementSpec) element.getSpecification()).id); 
     725        assertTrue(traverser.hasFirstChild()); 
     726        assertTrue(traverser.hasNextSibling()); 
     727         
     728        // guiElem5 
     729        element = traverser.nextSibling(); 
     730        assertNotNull(element); 
     731        assertTrue(element.getSpecification() instanceof TestGUIElementSpec); 
     732        assertEquals("guiElem5", ((TestGUIElementSpec) element.getSpecification()).id); 
     733        assertTrue(traverser.hasFirstChild()); 
     734        assertFalse(traverser.hasNextSibling()); 
     735        assertNull(traverser.nextSibling()); 
     736         
     737        // guiElem6 
     738        element = traverser.firstChild(); 
     739        assertNotNull(element); 
     740        assertTrue(element.getSpecification() instanceof TestGUIElementSpec); 
     741        assertEquals("guiElem6", ((TestGUIElementSpec) element.getSpecification()).id); 
     742        assertFalse(traverser.hasFirstChild()); 
     743        assertNull(traverser.firstChild()); 
     744        assertTrue(traverser.hasNextSibling()); 
     745         
     746        // guiElem7 
     747        element = traverser.nextSibling(); 
     748        assertNotNull(element); 
     749        assertTrue(element.getSpecification() instanceof TestGUIElementSpec); 
     750        assertEquals("guiElem7", ((TestGUIElementSpec) element.getSpecification()).id); 
     751        assertTrue(traverser.hasFirstChild()); 
     752        assertFalse(traverser.hasNextSibling()); 
     753        assertNull(traverser.nextSibling()); 
     754         
     755        // guiElem8 
     756        element = traverser.firstChild(); 
     757        assertNotNull(element); 
     758        assertTrue(element.getSpecification() instanceof TestGUIElementSpec); 
     759        assertEquals("guiElem8", ((TestGUIElementSpec) element.getSpecification()).id); 
     760        assertFalse(traverser.hasFirstChild()); 
     761        assertNull(traverser.firstChild()); 
     762        assertFalse(traverser.hasNextSibling()); 
     763        assertNull(traverser.nextSibling()); 
     764         
     765        // guiElem7 
     766        element = traverser.parent(); 
     767        assertNotNull(element); 
     768        assertTrue(element.getSpecification() instanceof TestGUIElementSpec); 
     769        assertEquals("guiElem7", ((TestGUIElementSpec) element.getSpecification()).id); 
     770        assertTrue(traverser.hasFirstChild()); 
     771        assertFalse(traverser.hasNextSibling()); 
     772        assertNull(traverser.nextSibling()); 
     773         
     774        // guiElem5 
     775        element = traverser.parent(); 
     776        assertNotNull(element); 
     777        assertTrue(element.getSpecification() instanceof TestGUIElementSpec); 
     778        assertEquals("guiElem5", ((TestGUIElementSpec) element.getSpecification()).id); 
     779        assertTrue(traverser.hasFirstChild()); 
     780        assertFalse(traverser.hasNextSibling()); 
     781        assertNull(traverser.nextSibling()); 
     782         
     783        // guiElem2 
     784        element = traverser.parent(); 
     785        assertNotNull(element); 
     786        assertTrue(element.getSpecification() instanceof TestGUIElementSpec); 
     787        assertEquals("guiElem2", ((TestGUIElementSpec) element.getSpecification()).id); 
     788        assertTrue(traverser.hasFirstChild()); 
     789        assertTrue(traverser.hasNextSibling()); 
     790         
     791        // guiElem9 
     792        element = traverser.nextSibling(); 
     793        assertNotNull(element); 
     794        assertTrue(element.getSpecification() instanceof TestGUIElementSpec); 
     795        assertEquals("guiElem9", ((TestGUIElementSpec) element.getSpecification()).id); 
     796        assertTrue(traverser.hasFirstChild()); 
     797        assertFalse(traverser.hasNextSibling()); 
     798        assertNull(traverser.nextSibling()); 
     799         
     800        // guiElem10 
     801        element = traverser.firstChild(); 
     802        assertNotNull(element); 
     803        assertTrue(element.getSpecification() instanceof TestGUIElementSpec); 
     804        assertEquals("guiElem10", ((TestGUIElementSpec) element.getSpecification()).id); 
     805        assertFalse(traverser.hasFirstChild()); 
     806        assertNull(traverser.firstChild()); 
     807        assertFalse(traverser.hasNextSibling()); 
     808        assertNull(traverser.nextSibling()); 
     809         
     810        // guiElem9 
     811        element = traverser.parent(); 
     812        assertNotNull(element); 
     813        assertTrue(element.getSpecification() instanceof TestGUIElementSpec); 
     814        assertEquals("guiElem9", ((TestGUIElementSpec) element.getSpecification()).id); 
     815        assertTrue(traverser.hasFirstChild()); 
     816        assertFalse(traverser.hasNextSibling()); 
     817        assertNull(traverser.nextSibling()); 
     818         
     819        // guiElem1 
     820        element = traverser.parent(); 
     821        assertNotNull(element); 
     822        assertTrue(element.getSpecification() instanceof TestGUIElementSpec); 
     823        assertEquals("guiElem1", ((TestGUIElementSpec) element.getSpecification()).id); 
     824        assertTrue(traverser.hasFirstChild()); 
     825        assertFalse(traverser.hasNextSibling()); 
     826        assertNull(traverser.nextSibling()); 
     827         
     828        assertNull(traverser.parent()); 
     829    } 
     830 
     831    /** 
     832     *  
     833     */ 
     834    @Test 
     835    public void test_Traverser_02() throws Exception { 
     836        GUIModel model = new GUIModel(); 
     837         
     838        List<IGUIElementSpec> guiElementPath = new ArrayList<IGUIElementSpec>(); 
     839        guiElementPath.add(new TestGUIElementSpec("guiElem1")); 
     840        guiElementPath.add(new TestGUIElementSpec("guiElem2")); 
     841        guiElementPath.add(new TestGUIElementSpec("guiElem3")); 
     842        guiElementPath.add(new TestGUIElementSpec("guiElem4")); 
     843         
     844        model.integratePath(guiElementPath, guiElementFactory); 
     845 
     846        guiElementPath.remove(2); 
     847        guiElementPath.remove(2); 
     848         
     849        guiElementPath.add(new TestGUIElementSpec("guiElem5")); 
     850        guiElementPath.add(new TestGUIElementSpec("guiElem6")); 
     851 
     852        IGUIElement target = model.integratePath(guiElementPath, guiElementFactory); 
     853         
     854        guiElementPath.remove(3); 
     855         
     856        guiElementPath.add(new TestGUIElementSpec("guiElem7")); 
     857        guiElementPath.add(new TestGUIElementSpec("guiElem8")); 
     858 
     859        model.integratePath(guiElementPath, guiElementFactory); 
     860         
     861        guiElementPath.remove(1); 
     862        guiElementPath.remove(1); 
     863        guiElementPath.remove(1); 
     864        guiElementPath.remove(1); 
     865         
     866        guiElementPath.add(new TestGUIElementSpec("guiElem9")); 
     867        guiElementPath.add(new TestGUIElementSpec("guiElem10")); 
     868 
     869        model.integratePath(guiElementPath, guiElementFactory); 
     870         
     871        // the model created is 
     872        // guiElem1 
     873        //   |-- guiElem2 
     874        //   |     |-- guiElem3 
     875        //   |     |     \-- guiElem4 
     876        //   |     | 
     877        //   |     \-- guiElem5 
     878        //   |           |-- guiElem6 
     879        //   |           \-- guiElem7 
     880        //   |                 \-- guiElem8 
     881        //   \-- guiElem9 
     882        //         \-- guiElem10 
     883         
    596884        GUIModel.Traverser traverser = model.getTraverser(target); 
    597885        assertNotNull(traverser); 
Note: See TracChangeset for help on using the changeset viewer.