11package com .redislabs .redisgraph ;
22import org .junit .Assert ;
33
4+ import java .util .List ;
5+
46public class RedisGraphAPITest {
57 @ org .testng .annotations .Test
68 public void testCreateNode () throws Exception {
@@ -10,10 +12,10 @@ public void testCreateNode() throws Exception {
1012 RedisNode node = api .createNode ("name" , "roi" , "age" , 32 );
1113
1214 // Validate node
13- Assert .assertNotNull (node .id );
14- Assert .assertSame (node .attributes .get ("name" ), "roi" );
15- Assert .assertSame (Integer .parseInt (node .attributes .get ("age" )), 32 );
16- Assert .assertSame (node .attributes .size (),2 );
15+ Assert .assertNotNull (node .getId () );
16+ Assert .assertSame (node .getAttributes () .get ("name" ), "roi" );
17+ Assert .assertSame (Integer .parseInt (node .getAttributes () .get ("age" )), 32 );
18+ Assert .assertSame (node .getAttributes () .size (),2 );
1719 }
1820
1921 @ org .testng .annotations .Test
@@ -24,11 +26,11 @@ public void testCreateLabeledNode() throws Exception {
2426 RedisNode node = api .createLabeledNode ("human" ,"name" , "roi" , "age" , 32 );
2527
2628 // Validate node
27- Assert .assertNotNull (node .id );
28- Assert .assertSame (node .label , "human" );
29- Assert .assertSame (node .attributes .get ("name" ), "roi" );
30- Assert .assertSame (Integer .parseInt (node .attributes .get ("age" )), 32 );
31- Assert .assertSame (node .attributes .size (),2 );
29+ Assert .assertNotNull (node .getId () );
30+ Assert .assertSame (node .getLabel () , "human" );
31+ Assert .assertSame (node .getAttributes () .get ("name" ), "roi" );
32+ Assert .assertSame (Integer .parseInt (node .getAttributes () .get ("age" )), 32 );
33+ Assert .assertSame (node .getAttributes () .size (),2 );
3234 }
3335
3436 @ org .testng .annotations .Test
@@ -81,15 +83,15 @@ public void testGetNode() throws Exception {
8183 RedisNode node = api .createLabeledNode ("human" ,"name" , "shany" , "age" , 23 );
8284
8385 // Get node
84- RedisNode retrievedNode = api .getNode (node .id );
86+ RedisNode retrievedNode = api .getNode (node .getId () );
8587
8688 // Expecting a single result
8789 Assert .assertNotNull (retrievedNode );
88- Assert .assertEquals (node .id , retrievedNode .id );
89- Assert .assertEquals (node .label , retrievedNode .label );
90- Assert .assertEquals (retrievedNode .attributes .size (), 2 );
91- Assert .assertEquals (retrievedNode .attributes .get ("name" ), "shany" );
92- Assert .assertEquals (Integer .parseInt (retrievedNode .attributes .get ("age" )), 23 );
90+ Assert .assertEquals (node .getId () , retrievedNode .getId () );
91+ Assert .assertEquals (node .getLabel () , retrievedNode .getLabel () );
92+ Assert .assertEquals (retrievedNode .getAttributes () .size (), 2 );
93+ Assert .assertEquals (retrievedNode .getAttributes () .get ("name" ), "shany" );
94+ Assert .assertEquals (Integer .parseInt (retrievedNode .getAttributes () .get ("age" )), 23 );
9395 }
9496
9597 @ org .testng .annotations .Test
@@ -114,8 +116,61 @@ public void testGetEdge() throws Exception {
114116 Assert .assertEquals (retrievedEdge .getAttributes ().get ("strength" ), "3" );
115117 Assert .assertEquals (retrievedEdge .getAttributes ().get ("from" ), "high-school" );
116118
117- Assert .assertEquals (retrievedEdge .getSrc ().id , src .id );
118- Assert .assertEquals (retrievedEdge .getDest ().id , dest .id );
119+ Assert .assertEquals (retrievedEdge .getSrc ().getId (), src .getId ());
120+ Assert .assertEquals (retrievedEdge .getDest ().getId (), dest .getId ());
121+ }
122+
123+ @ org .testng .annotations .Test
124+ public void testSetProperty () throws Exception {
125+ RedisGraphAPI api = new RedisGraphAPI ("social" );
126+
127+ // Create a node
128+ RedisNode node = api .createNode ("name" , "shimshon" , "age" , 60 );
129+ api .setProperty (node .getId (), "age" , 61 );
130+
131+ node = api .getNode (node .getId ());
132+
133+ // Validate node
134+ Assert .assertSame (Integer .parseInt (node .getAttributes ().get ("age" )), 61 );
135+ }
136+
137+ @ org .testng .annotations .Test
138+ public void testGetNeighbours () throws Exception {
139+ RedisGraphAPI api = new RedisGraphAPI ("social" );
140+
141+ // Create both source and destination nodes
142+ RedisNode roi = api .createNode ("name" , "roi" , "age" , 32 );
143+ RedisNode amit = api .createNode ("name" , "amit" , "age" , 30 );
144+ RedisNode shany = api .createNode ("name" , "shany" , "age" , 23 );
145+
146+ // Connect source and destination nodes.
147+ api .connectNodes (roi , "knows" , amit );
148+ api .connectNodes (roi , "knows" , shany );
149+ api .connectNodes (amit , "knows" , roi );
150+ api .connectNodes (shany , "knows" , roi );
151+
152+ int DIR_OUT = 0 ;
153+ int DIR_IN = 1 ;
154+ int DIR_BOTH = 2 ;
155+
156+ List <RedisNode > neighbours ;
157+ neighbours = api .getNeighbours (roi .getId (), "knows" , DIR_OUT );
158+ Assert .assertEquals (neighbours .size (), 2 );
159+
160+ neighbours = api .getNeighbours (roi .getId (), "knows" , DIR_IN );
161+ Assert .assertEquals (neighbours .size (), 2 );
162+
163+ neighbours = api .getNeighbours (roi .getId (), "knows" , DIR_BOTH );
164+ Assert .assertEquals (neighbours .size (), 4 );
165+
166+ neighbours = api .getNeighbours (amit .getId (), "knows" , DIR_OUT );
167+ Assert .assertEquals (neighbours .size (), 1 );
168+
169+ neighbours = api .getNeighbours (amit .getId (), "knows" , DIR_IN );
170+ Assert .assertEquals (neighbours .size (), 1 );
171+
172+ neighbours = api .getNeighbours (amit .getId (), "knows" , DIR_BOTH );
173+ Assert .assertEquals (neighbours .size (), 2 );
119174
120175 }
121176}
0 commit comments