1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.jboss.as.quickstart.cdi.extension.test;
18
19 import javax.enterprise.inject.spi.Extension;
20 import javax.inject.Inject;
21
22 import org.jboss.arquillian.container.test.api.Deployment;
23 import org.jboss.arquillian.junit.Arquillian;
24 import org.jboss.as.quickstart.cdi.extension.CreatureExtension;
25 import org.jboss.as.quickstart.cdi.extension.model.Monster;
26 import org.jboss.as.quickstart.cdi.extension.model.NonPlayerCharacter;
27 import org.jboss.shrinkwrap.api.Archive;
28 import org.jboss.shrinkwrap.api.ShrinkWrap;
29 import org.jboss.shrinkwrap.api.asset.EmptyAsset;
30 import org.jboss.shrinkwrap.api.spec.JavaArchive;
31 import org.junit.Test;
32 import org.junit.runner.RunWith;
33
34 import static org.hamcrest.CoreMatchers.is;
35 import static org.junit.Assert.assertThat;
36
37
38
39
40 @RunWith(Arquillian.class)
41 public class CreatureExtensionTest {
42 @Deployment
43 public static Archive<?> getDeployment() {
44 return ShrinkWrap.create(JavaArchive.class, "creature-creation.jar")
45 .addPackages(true, CreatureExtension.class.getPackage())
46 .addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml")
47 .addAsResource("creatures.xml")
48 .addAsServiceProvider(Extension.class, CreatureExtension.class);
49 }
50
51 @Inject
52 Monster m;
53
54 @Inject
55 NonPlayerCharacter npc;
56
57 @Test
58 public void assertFilledMonster() {
59 assertThat(m.getName(), is("Cat"));
60 assertThat(m.getHitPoints(), is(10));
61 assertThat(m.getInitiative(), is(25));
62 }
63
64 @Test
65 public void assertFilledNpc() {
66 assertThat(npc.getName(), is("Drunkard"));
67 assertThat(npc.getLocation(), is("Drunken Duck Tavern"));
68 }
69 }