samples/componentinjection/anagram-modular/src-test/org/apidesign/anagram/gui/AnagramsTestBase.java
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/samples/componentinjection/anagram-modular/src-test/org/apidesign/anagram/gui/AnagramsTestBase.java Sat Jun 14 10:08:25 2008 +0200
1.3 @@ -0,0 +1,42 @@
1.4 +package org.apidesign.anagram.gui;
1.5 +
1.6 +import org.apidesign.anagram.api.Scrambler;
1.7 +import org.apidesign.anagram.api.WordLibrary;
1.8 +import static org.junit.Assert.*;
1.9 +import org.junit.Test;
1.10 +import org.netbeans.junit.MockServices;
1.11 +
1.12 +public abstract class AnagramsTestBase {
1.13 +
1.14 + protected abstract Anagrams create();
1.15 +
1.16 + @Test public void testInjectionOfServices() throws Exception {
1.17 + Anagrams ui = create();
1.18 +
1.19 + assertNull("No scrambler injected yet", ui.getScrambler());
1.20 + assertNull("No scrambler injected yet", ui.getWordLibrary());
1.21 +
1.22 + MockServices.setServices(
1.23 + ReversingMockScrambler.class, SingleMockLibrary.class
1.24 + );
1.25 +
1.26 + Scrambler s = ui.getScrambler();
1.27 + assertNotNull("Now we have scrambler", s);
1.28 + assertEquals(
1.29 + "It is the mock one", ReversingMockScrambler.class, s.getClass()
1.30 + );
1.31 + WordLibrary l = ui.getWordLibrary();
1.32 + assertNotNull("Now we have library", l);
1.33 + assertEquals(
1.34 + "It is the mock one", SingleMockLibrary.class, l.getClass()
1.35 + );
1.36 + }
1.37 +
1.38 + public static final class ReversingMockScrambler {
1.39 +
1.40 + }
1.41 +
1.42 + public static final class SingleMockLibrary {
1.43 +
1.44 + }
1.45 +}