samples/componentinjection/anagram-modular/src-test/org/apidesign/anagram/app/lookup/AnagramsWithLookupTest.java
1.1 --- a/samples/componentinjection/anagram-modular/src-test/org/apidesign/anagram/app/lookup/AnagramsWithLookupTest.java Sat Jun 14 10:08:25 2008 +0200
1.2 +++ b/samples/componentinjection/anagram-modular/src-test/org/apidesign/anagram/app/lookup/AnagramsWithLookupTest.java Sat Jun 14 10:08:31 2008 +0200
1.3 @@ -1,11 +1,47 @@
1.4 package org.apidesign.anagram.app.lookup;
1.5
1.6 +import org.apidesign.anagram.api.WordLibrary;
1.7 import org.apidesign.anagram.gui.*;
1.8 -import org.apidesign.anagram.app.lookup.AnagramsWithLookup;
1.9 +import static org.junit.Assert.*;
1.10 +import org.junit.Test;
1.11 +import org.netbeans.junit.MockServices;
1.12
1.13 public class AnagramsWithLookupTest extends AnagramsTestBase {
1.14 @Override
1.15 protected Anagrams create() {
1.16 return new AnagramsWithLookup();
1.17 }
1.18 +
1.19 + @Test public void testChangesInTheRegistrationAreReflected() {
1.20 + Anagrams ui = create();
1.21 +
1.22 + MockServices.setServices(FirstMockWordLibrary.class);
1.23 + ui.display();
1.24 +
1.25 + assertEquals(
1.26 + "Original word has to be from FirstMockWordLibrary",
1.27 + "1st", ui.getOriginalWord()
1.28 + );
1.29 +
1.30 + MockServices.setServices(SecondMockWordLibrary.class);
1.31 +
1.32 + assertEquals(
1.33 + "Original word has to be from new library now",
1.34 + "2nd", ui.getOriginalWord()
1.35 + );
1.36 + }
1.37 +
1.38 + public static final class FirstMockWordLibrary implements WordLibrary {
1.39 + public String[] getWords() {
1.40 + return new String[] { "1st" };
1.41 + }
1.42 + }
1.43 +
1.44 + public static final class SecondMockWordLibrary implements WordLibrary {
1.45 + public String[] getWords() {
1.46 + return new String[] { "2nd" };
1.47 + }
1.48 + }
1.49 +
1.50 +
1.51 }