samples/componentinjection/anagram-modular/src-test/org/apidesign/anagram/app/lookup/AnagramsWithLookupTest.java
author Jaroslav Tulach <jtulach@netbeans.org>
Sat, 14 Jun 2008 10:08:31 +0200
changeset 250 c6f1ccdd37f3
parent 248 b3aab65cde53
permissions -rw-r--r--
Example how lookup can listen to and react to changes
     1 package org.apidesign.anagram.app.lookup;
     2 
     3 import org.apidesign.anagram.api.WordLibrary;
     4 import org.apidesign.anagram.gui.*;
     5 import static org.junit.Assert.*;
     6 import org.junit.Test;
     7 import org.netbeans.junit.MockServices;
     8 
     9 public class AnagramsWithLookupTest extends AnagramsTestBase {
    10     @Override
    11     protected Anagrams create() {
    12         return new AnagramsWithLookup();
    13     }
    14     
    15     @Test public void testChangesInTheRegistrationAreReflected() {
    16         Anagrams ui = create();
    17         
    18         MockServices.setServices(FirstMockWordLibrary.class);
    19         ui.display();
    20         
    21         assertEquals(
    22             "Original word has to be from FirstMockWordLibrary",
    23             "1st", ui.getOriginalWord()
    24         );
    25         
    26         MockServices.setServices(SecondMockWordLibrary.class);
    27         
    28         assertEquals(
    29             "Original word has to be from new library now",
    30             "2nd", ui.getOriginalWord()
    31         );
    32     }
    33     
    34     public static final class FirstMockWordLibrary implements WordLibrary {
    35         public String[] getWords() {
    36             return new String[] { "1st" };
    37         }
    38     }
    39 
    40     public static final class SecondMockWordLibrary implements WordLibrary {
    41         public String[] getWords() {
    42             return new String[] { "2nd" };
    43         }
    44     }
    45     
    46     
    47 }