jtulach@208
|
1 |
package org.apidesign.sidemeanings.test;
|
jtulach@208
|
2 |
|
jtulach@208
|
3 |
|
jtulach@208
|
4 |
import org.apidesign.sidemeanings.MixedClass;
|
jtulach@208
|
5 |
import org.apidesign.sidemeanings.NonMixed;
|
jtulach@326
|
6 |
import org.apidesign.sidemeanings.NonMixedFactory;
|
jtulach@326
|
7 |
import org.apidesign.sidemeanings.NonMixedFactory.Callback;
|
jtulach@208
|
8 |
import org.junit.After;
|
jtulach@208
|
9 |
import org.junit.Before;
|
jtulach@208
|
10 |
import org.junit.Test;
|
jtulach@208
|
11 |
import static org.junit.Assert.*;
|
jtulach@208
|
12 |
|
jtulach@208
|
13 |
public class MixedTest {
|
jtulach@208
|
14 |
|
jtulach@208
|
15 |
public MixedTest() {
|
jtulach@208
|
16 |
}
|
jtulach@208
|
17 |
|
jtulach@208
|
18 |
@Before
|
jtulach@208
|
19 |
public void setUp() {
|
jtulach@208
|
20 |
}
|
jtulach@208
|
21 |
|
jtulach@208
|
22 |
@After
|
jtulach@208
|
23 |
public void tearDown() {
|
jtulach@208
|
24 |
}
|
jtulach@208
|
25 |
|
jtulach@208
|
26 |
// BEGIN: sidemeanings.Mixed.Use
|
jtulach@208
|
27 |
@Test public void useOfClassWithMixedMeanings() {
|
jtulach@208
|
28 |
class AddFiveMixedCounter extends MixedClass {
|
jtulach@208
|
29 |
@Override
|
jtulach@208
|
30 |
protected int toBeImplementedBySubclass() {
|
jtulach@208
|
31 |
toBeCalledBySubclass();
|
jtulach@208
|
32 |
return 5;
|
jtulach@208
|
33 |
}
|
jtulach@208
|
34 |
}
|
jtulach@208
|
35 |
AddFiveMixedCounter add5 = new AddFiveMixedCounter();
|
jtulach@208
|
36 |
assertEquals("5/1 = 5", 5, add5.apiForClients());
|
jtulach@208
|
37 |
assertEquals("10/2 = 5", 5, add5.apiForClients());
|
jtulach@208
|
38 |
assertEquals("15/3 = 5", 5, add5.apiForClients());
|
jtulach@208
|
39 |
}
|
jtulach@208
|
40 |
// END: sidemeanings.Mixed.Use
|
jtulach@208
|
41 |
|
jtulach@208
|
42 |
// BEGIN: sidemeanings.Mixed.Clean.Use
|
jtulach@208
|
43 |
@Test public void useWithoutMixedMeanings() {
|
jtulach@326
|
44 |
class AddFiveMixedCounter implements NonMixedFactory.Provider {
|
jtulach@208
|
45 |
private Callback callback;
|
jtulach@208
|
46 |
|
jtulach@208
|
47 |
public int toBeImplementedBySubclass() {
|
jtulach@208
|
48 |
callback.toBeCalledBySubclass();
|
jtulach@208
|
49 |
return 5;
|
jtulach@208
|
50 |
}
|
jtulach@208
|
51 |
|
jtulach@208
|
52 |
public void initialize(Callback c) {
|
jtulach@208
|
53 |
callback = c;
|
jtulach@208
|
54 |
}
|
jtulach@208
|
55 |
}
|
jtulach@326
|
56 |
NonMixed add5 = NonMixedFactory.create(new AddFiveMixedCounter());
|
jtulach@208
|
57 |
assertEquals("5/1 = 5", 5, add5.apiForClients());
|
jtulach@208
|
58 |
assertEquals("10/2 = 5", 5, add5.apiForClients());
|
jtulach@208
|
59 |
assertEquals("15/3 = 5", 5, add5.apiForClients());
|
jtulach@208
|
60 |
}
|
jtulach@208
|
61 |
// END: sidemeanings.Mixed.Clean.Use
|
jtulach@208
|
62 |
}
|
jtulach@208
|
63 |
|