1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.neo4j.server.rrd;
21
22 import static org.hamcrest.MatcherAssert.assertThat;
23 import static org.hamcrest.core.Is.is;
24
25 import java.io.IOException;
26
27 import javax.management.MalformedObjectNameException;
28
29 import org.junit.After;
30 import org.junit.Before;
31 import org.junit.Test;
32 import org.neo4j.graphdb.DynamicRelationshipType;
33 import org.neo4j.graphdb.Node;
34 import org.neo4j.graphdb.Transaction;
35 import org.neo4j.kernel.ImpermanentGraphDatabase;
36
37 public class RelationshipCountSampleableTest
38 {
39 public ImpermanentGraphDatabase db;
40 public RelationshipCountSampleable sampleable;
41
42 @Test
43 public void emptyDbHasZeroRelationships() throws IOException, MalformedObjectNameException
44 {
45 assertThat( sampleable.getValue(), is( 0L ) );
46 }
47
48 @Test
49 public void addANodeAndSampleableGoesUp() throws IOException, MalformedObjectNameException
50 {
51 createARelationship( db );
52
53 assertThat( sampleable.getValue(), is( 1L ) );
54 }
55
56 private void createARelationship( ImpermanentGraphDatabase db )
57 {
58 Transaction tx = db.beginTx();
59 Node node1 = db.createNode();
60 Node node2 = db.createNode();
61 node1.createRelationshipTo( node2, DynamicRelationshipType.withName( "friend" ) );
62 tx.success();
63 tx.finish();
64 }
65
66 @Before
67 public void setUp() throws Exception
68 {
69 db = new ImpermanentGraphDatabase();
70 sampleable = new RelationshipCountSampleable( db );
71 }
72
73 @After
74 public void shutdownDatabase()
75 {
76 this.db.shutdown();
77 }
78 }