samples/sidemeanings/test/org/apidesign/sidemeanings/test/MixedTest.java
author Jaroslav Tulach <jtulach@netbeans.org>
Sat, 14 Jun 2008 18:51:38 +0200
changeset 263 7e8e995065c5
parent 208 897361847d12
child 326 1657c68af062
permissions -rw-r--r--
Tests of all modules are executed and can fail the build
     1 package org.apidesign.sidemeanings.test;
     2 
     3 
     4 import org.apidesign.sidemeanings.MixedClass;
     5 import org.apidesign.sidemeanings.NonMixed;
     6 import org.apidesign.sidemeanings.NonMixed.Callback;
     7 import org.junit.After;
     8 import org.junit.Before;
     9 import org.junit.Test;
    10 import static org.junit.Assert.*;
    11 
    12 public class MixedTest {
    13 
    14     public MixedTest() {
    15     }
    16 
    17     @Before
    18     public void setUp() {
    19     }
    20 
    21     @After
    22     public void tearDown() {
    23     }
    24 
    25     // BEGIN: sidemeanings.Mixed.Use
    26     @Test public void useOfClassWithMixedMeanings() {
    27         class AddFiveMixedCounter extends MixedClass {
    28             @Override
    29             protected int toBeImplementedBySubclass() {
    30                 toBeCalledBySubclass();
    31                 return 5;
    32             }
    33         }
    34         AddFiveMixedCounter add5 = new AddFiveMixedCounter();
    35         assertEquals("5/1 = 5", 5, add5.apiForClients());
    36         assertEquals("10/2 = 5", 5, add5.apiForClients());
    37         assertEquals("15/3 = 5", 5, add5.apiForClients());
    38     }
    39     // END: sidemeanings.Mixed.Use
    40     
    41     // BEGIN: sidemeanings.Mixed.Clean.Use
    42     @Test public void useWithoutMixedMeanings() {
    43         class AddFiveMixedCounter implements NonMixed.Provider {
    44             private Callback callback;
    45             
    46             public int toBeImplementedBySubclass() {
    47                 callback.toBeCalledBySubclass();
    48                 return 5;
    49             }
    50 
    51             public void initialize(Callback c) {
    52                 callback = c;
    53             }
    54         }
    55         NonMixed add5 = NonMixed.create(new AddFiveMixedCounter());
    56         assertEquals("5/1 = 5", 5, add5.apiForClients());
    57         assertEquals("10/2 = 5", 5, add5.apiForClients());
    58         assertEquals("15/3 = 5", 5, add5.apiForClients());
    59     }
    60     // END: sidemeanings.Mixed.Clean.Use
    61 }
    62