samples/componentinjection/anagram-modular/src-test/org/apidesign/anagram/gui/AnagramsTestBase.java
author Jaroslav Tulach <jtulach@netbeans.org>
Sat, 14 Jun 2008 10:08:25 +0200
changeset 248 b3aab65cde53
child 249 a3a5034a7b8f
permissions -rw-r--r--
Testing behaviour of lookup and service loader
jtulach@248
     1
package org.apidesign.anagram.gui;
jtulach@248
     2
jtulach@248
     3
import org.apidesign.anagram.api.Scrambler;
jtulach@248
     4
import org.apidesign.anagram.api.WordLibrary;
jtulach@248
     5
import static org.junit.Assert.*;
jtulach@248
     6
import org.junit.Test;
jtulach@248
     7
import org.netbeans.junit.MockServices;
jtulach@248
     8
jtulach@248
     9
public abstract class AnagramsTestBase {
jtulach@248
    10
jtulach@248
    11
    protected abstract Anagrams create();
jtulach@248
    12
    
jtulach@248
    13
    @Test public void testInjectionOfServices() throws Exception {
jtulach@248
    14
        Anagrams ui = create();
jtulach@248
    15
        
jtulach@248
    16
        assertNull("No scrambler injected yet", ui.getScrambler());
jtulach@248
    17
        assertNull("No scrambler injected yet", ui.getWordLibrary());
jtulach@248
    18
        
jtulach@248
    19
        MockServices.setServices(
jtulach@248
    20
            ReversingMockScrambler.class, SingleMockLibrary.class
jtulach@248
    21
        );
jtulach@248
    22
        
jtulach@248
    23
        Scrambler s = ui.getScrambler();
jtulach@248
    24
        assertNotNull("Now we have scrambler", s);
jtulach@248
    25
        assertEquals(
jtulach@248
    26
            "It is the mock one", ReversingMockScrambler.class, s.getClass()
jtulach@248
    27
        );
jtulach@248
    28
        WordLibrary l = ui.getWordLibrary();
jtulach@248
    29
        assertNotNull("Now we have library", l);
jtulach@248
    30
        assertEquals(
jtulach@248
    31
            "It is the mock one", SingleMockLibrary.class, l.getClass()
jtulach@248
    32
        );
jtulach@248
    33
    }
jtulach@248
    34
    
jtulach@248
    35
    public static final class ReversingMockScrambler {
jtulach@248
    36
        
jtulach@248
    37
    }
jtulach@248
    38
    
jtulach@248
    39
    public static final class SingleMockLibrary {
jtulach@248
    40
        
jtulach@248
    41
    }
jtulach@248
    42
}