[neurogrid-cvs] neurogrid/simulation/junit/com/neurogrid/simulation GnutellaNodeTest.java,1.7,1.8 Gn
Status: Alpha
Brought to you by:
samjoseph
From: <sam...@us...> - 2004-01-12 00:24:36
|
Update of /cvsroot/neurogrid/neurogrid/simulation/junit/com/neurogrid/simulation In directory sc8-pr-cvs1:/tmp/cvs-serv14191/junit/com/neurogrid/simulation Modified Files: GnutellaNodeTest.java GnutellaMessageHandlerTest.java Log Message: merging GnutellaNodeTest versions Index: GnutellaNodeTest.java =================================================================== RCS file: /cvsroot/neurogrid/neurogrid/simulation/junit/com/neurogrid/simulation/GnutellaNodeTest.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** GnutellaNodeTest.java 11 Jan 2004 03:16:43 -0000 1.7 --- GnutellaNodeTest.java 12 Jan 2004 00:24:33 -0000 1.8 *************** *** 6,27 **** import junit.framework.TestCase; import junit.framework.TestSuite; import org.apache.log4j.BasicConfigurator; import org.apache.log4j.Category; import org.apache.log4j.PropertyConfigurator; import com.neurogrid.simulation.root.ContentMessage; import com.neurogrid.simulation.root.Document; import com.neurogrid.simulation.root.Keyword; import com.neurogrid.simulation.root.Node; - // JUnitDoclet end import /** ! * Generated by JUnitDoclet, a tool provided by ! * ObjectFab GmbH under LGPL. ! * Please see www.junitdoclet.org, www.gnu.org ! * and www.objectfab.de for informations about ! * the tool, the licence and the authors. ! */ ! public class GnutellaNodeTest// JUnitDoclet begin extends_implements ! extends TestCase// JUnitDoclet end extends_implements { private static Category o_cat = Category.getInstance(GnutellaNodeTest.class.getName()); --- 6,25 ---- import junit.framework.TestCase; import junit.framework.TestSuite; + import org.apache.log4j.BasicConfigurator; import org.apache.log4j.Category; import org.apache.log4j.PropertyConfigurator; + import com.neurogrid.simulation.root.ContentMessage; import com.neurogrid.simulation.root.Document; import com.neurogrid.simulation.root.Keyword; import com.neurogrid.simulation.root.Node; /** ! * @author <a href="mailto:sa...@ne...">Sam Joseph</a> ! * ! */ ! public class GnutellaNodeTest extends TestCase { + private static Category o_cat = Category.getInstance(GnutellaNodeTest.class.getName()); *************** *** 38,72 **** } public static final int RANDOM_SEED = 888; ! GnutellaNode gnutellanode = null; static GnutellaNetwork o_network = null; public GnutellaNodeTest(String name) { - // JUnitDoclet begin method GnutellaNodeTest super(name); GnutellaNode.init(System.getProperty("Log4jConfig")); - // JUnitDoclet end method GnutellaNodeTest } public static GnutellaNode createInstance() throws Exception { - // JUnitDoclet begin method testcase.createInstance o_network = new GnutellaNetwork(); ! return new com.neurogrid.simulation.GnutellaNode( o_network, new Random(RANDOM_SEED)); ! // JUnitDoclet end method testcase.createInstance } protected void setUp() throws Exception { - // JUnitDoclet begin method testcase.setUp super.setUp(); ! gnutellanode = createInstance(); ! // JUnitDoclet end method testcase.setUp } protected void tearDown() throws Exception { ! // JUnitDoclet begin method testcase.tearDown ! gnutellanode = null; super.tearDown(); - // JUnitDoclet end method testcase.tearDown } public void testGetCvsInfo() throws Exception --- 36,64 ---- } public static final int RANDOM_SEED = 888; ! GnutellaNode o_gnutella_node = null; static GnutellaNetwork o_network = null; + public GnutellaNodeTest(String name) { super(name); GnutellaNode.init(System.getProperty("Log4jConfig")); } public static GnutellaNode createInstance() throws Exception { o_network = new GnutellaNetwork(); ! return new GnutellaNode( o_network, new Random(RANDOM_SEED)); ! } protected void setUp() throws Exception { super.setUp(); ! o_gnutella_node = createInstance(); } protected void tearDown() throws Exception { ! o_gnutella_node = null; super.tearDown(); } public void testGetCvsInfo() throws Exception *************** *** 102,112 **** ContentMessage x_message = new SimpleContentMessage(3, x_doc.getKeywords(), x_doc, x_node); ! gnutellanode.addMessageToInbox(x_message); assertTrue( "message location not updated", ! x_message.getLocation() == gnutellanode); assertTrue( "message of correct type not in inbox", ! gnutellanode.inboxContainsMessage(x_message).equals( "com.neurogrid.simulation.SimpleContentMessage")); // JUnitDoclet end method addMessageToInbox --- 94,104 ---- ContentMessage x_message = new SimpleContentMessage(3, x_doc.getKeywords(), x_doc, x_node); ! o_gnutella_node.addMessageToInbox(x_message); assertTrue( "message location not updated", ! x_message.getLocation() == o_gnutella_node); assertTrue( "message of correct type not in inbox", ! o_gnutella_node.inboxContainsMessage(x_message).equals( "com.neurogrid.simulation.SimpleContentMessage")); // JUnitDoclet end method addMessageToInbox *************** *** 130,144 **** { // JUnitDoclet begin method setInactive ! assertTrue("node already active", !gnutellanode.getActive()); ! gnutellanode.setActive(); ! assertTrue("node not active", gnutellanode.getActive()); assertTrue( "node not added to active set", ! o_network.activeNodeContains(gnutellanode)); ! gnutellanode.setInactive(); ! assertTrue("node not inactive", !gnutellanode.getActive()); assertTrue( "node still in active set", ! !o_network.activeNodeContains(gnutellanode)); // JUnitDoclet end method setInactive } --- 122,136 ---- { // JUnitDoclet begin method setInactive ! assertTrue("node already active", !o_gnutella_node.getActive()); ! o_gnutella_node.setActive(); ! assertTrue("node not active", o_gnutella_node.getActive()); assertTrue( "node not added to active set", ! o_network.activeNodeContains(o_gnutella_node)); ! o_gnutella_node.setInactive(); ! assertTrue("node not inactive", !o_gnutella_node.getActive()); assertTrue( "node still in active set", ! !o_network.activeNodeContains(o_gnutella_node)); // JUnitDoclet end method setInactive } *************** *** 146,155 **** { // JUnitDoclet begin method setActive ! assertTrue("node already active", !gnutellanode.getActive()); ! gnutellanode.setActive(); ! assertTrue("node not active", gnutellanode.getActive()); assertTrue( "node not added to active set", ! o_network.activeNodeContains(gnutellanode)); // JUnitDoclet end method setActive } --- 138,147 ---- { // JUnitDoclet begin method setActive ! assertTrue("node already active", !o_gnutella_node.getActive()); ! o_gnutella_node.setActive(); ! assertTrue("node not active", o_gnutella_node.getActive()); assertTrue( "node not added to active set", ! o_network.activeNodeContains(o_gnutella_node)); // JUnitDoclet end method setActive } *************** *** 201,219 **** ContentMessage x_message = new SimpleContentMessage(3, x_doc.getKeywords(), x_doc, x_node); ! gnutellanode.addMessageToInbox(x_message); assertTrue( "message location not updated", ! x_message.getLocation() == gnutellanode); assertTrue( "message of correct type not in inbox", ! gnutellanode.inboxContainsMessage(x_message).equals( "com.neurogrid.simulation.SimpleContentMessage")); assertTrue( "checkInbox indicates inbox empty", ! gnutellanode.checkInbox()); ! gnutellanode.clearInbox(); assertTrue( "checkInbox indicated inbox full", ! !gnutellanode.checkInbox()); // JUnitDoclet end method clearInbox } --- 193,211 ---- ContentMessage x_message = new SimpleContentMessage(3, x_doc.getKeywords(), x_doc, x_node); ! o_gnutella_node.addMessageToInbox(x_message); assertTrue( "message location not updated", ! x_message.getLocation() == o_gnutella_node); assertTrue( "message of correct type not in inbox", ! o_gnutella_node.inboxContainsMessage(x_message).equals( "com.neurogrid.simulation.SimpleContentMessage")); assertTrue( "checkInbox indicates inbox empty", ! o_gnutella_node.checkInbox()); ! o_gnutella_node.clearInbox(); assertTrue( "checkInbox indicated inbox full", ! !o_gnutella_node.checkInbox()); // JUnitDoclet end method clearInbox } *************** *** 232,242 **** ContentMessage x_message2 = new SimpleContentMessage(3, x_doc.getKeywords(), x_doc, x_node); ! gnutellanode.addToSeen(x_message); assertTrue( "seen message not indicated as such", ! gnutellanode.checkSeen(x_message) != null); assertTrue( "unseen messageindicated as seen", ! gnutellanode.checkSeen(x_message2) == null); // JUnitDoclet end method checkInbox } --- 224,234 ---- ContentMessage x_message2 = new SimpleContentMessage(3, x_doc.getKeywords(), x_doc, x_node); ! o_gnutella_node.addToSeen(x_message); assertTrue( "seen message not indicated as such", ! o_gnutella_node.checkSeen(x_message) != null); assertTrue( "unseen messageindicated as seen", ! o_gnutella_node.checkSeen(x_message2) == null); // JUnitDoclet end method checkInbox } *************** *** 253,267 **** ContentMessage x_message = new SimpleContentMessage(3, x_doc.getKeywords(), x_doc, x_node); ! gnutellanode.addToSeen(x_message); assertTrue( "seen message not indicated as such", ! gnutellanode.checkSeen(x_message) != null); ! gnutellanode.clearGUIDs(); assertTrue( "message indicated as seen after cleared", ! gnutellanode.checkSeen(x_message) == null); assertTrue( "not all messages cleared", ! gnutellanode.getNoSeenMessages() == 0); // JUnitDoclet end method clearGUIDs } --- 245,259 ---- ContentMessage x_message = new SimpleContentMessage(3, x_doc.getKeywords(), x_doc, x_node); ! o_gnutella_node.addToSeen(x_message); assertTrue( "seen message not indicated as such", ! o_gnutella_node.checkSeen(x_message) != null); ! o_gnutella_node.clearGUIDs(); assertTrue( "message indicated as seen after cleared", ! o_gnutella_node.checkSeen(x_message) == null); assertTrue( "not all messages cleared", ! o_gnutella_node.getNoSeenMessages() == 0); // JUnitDoclet end method clearGUIDs } *************** *** 269,283 **** { // JUnitDoclet begin method clearConnList ! GnutellaNode x_node = ! new GnutellaNode(o_network, new Random(888)); ! gnutellanode.addConnection(x_node); assertTrue( "failed to add connection", ! gnutellanode.hasConnection(x_node)); ! gnutellanode.clearConnList(); assertTrue( "clear failed to remove connection", ! !gnutellanode.hasConnection(x_node)); ! assertTrue("no. conns not zero", gnutellanode.getNoConnections() == 0); // JUnitDoclet end method clearConnList } --- 261,276 ---- { // JUnitDoclet begin method clearConnList ! GnutellaNode x_node = new GnutellaNode(o_network, new Random(888)); ! o_gnutella_node.addConnection(x_node); assertTrue( "failed to add connection", ! o_gnutella_node.hasConnection(x_node)); ! o_gnutella_node.clearConnList(); assertTrue( "clear failed to remove connection", ! !o_gnutella_node.hasConnection(x_node)); ! assertTrue( ! "no. conns not zero", ! o_gnutella_node.getNoConnections() == 0); // JUnitDoclet end method clearConnList } *************** *** 286,296 **** // JUnitDoclet begin method clearContents SimpleDocument x_doc = new SimpleDocument(3); ! gnutellanode.addContent(x_doc); ! assertTrue("content not added", gnutellanode.hasContent(x_doc)); ! gnutellanode.clearContents(); assertTrue( "clear failed to remove contents", ! !gnutellanode.hasContent(x_doc)); ! assertTrue("no. content not zero", gnutellanode.getNoContents() == 0); // JUnitDoclet end method clearContents } --- 279,291 ---- // JUnitDoclet begin method clearContents SimpleDocument x_doc = new SimpleDocument(3); ! o_gnutella_node.addContent(x_doc); ! assertTrue("content not added", o_gnutella_node.hasContent(x_doc)); ! o_gnutella_node.clearContents(); assertTrue( "clear failed to remove contents", ! !o_gnutella_node.hasContent(x_doc)); ! assertTrue( ! "no. content not zero", ! o_gnutella_node.getNoContents() == 0); // JUnitDoclet end method clearContents } *************** *** 310,314 **** try { ! gnutellanode.addConnection(null); fail("Failed to throw exception when adding null connection"); } --- 305,309 ---- try { ! o_gnutella_node.addConnection(null); fail("Failed to throw exception when adding null connection"); } *************** *** 316,323 **** { } ! GnutellaNode x_node = ! new GnutellaNode(o_network, new Random(888)); ! gnutellanode.addConnection(x_node); ! assertTrue(gnutellanode.hasConnection(x_node)); // JUnitDoclet end method addConnection } --- 311,317 ---- { } ! GnutellaNode x_node = new GnutellaNode(o_network, new Random(888)); ! o_gnutella_node.addConnection(x_node); ! assertTrue(o_gnutella_node.hasConnection(x_node)); // JUnitDoclet end method addConnection } *************** *** 327,331 **** try { ! gnutellanode.hasConnection(null); fail("Failed to throw exception when checking for null connection"); } --- 321,325 ---- try { ! o_gnutella_node.hasConnection(null); fail("Failed to throw exception when checking for null connection"); } *************** *** 333,343 **** { } ! GnutellaNode x_node = ! new GnutellaNode(o_network, new Random(888)); ! GnutellaNode x_node2 = ! new GnutellaNode(o_network, new Random(888)); ! gnutellanode.addConnection(x_node); ! assertTrue(gnutellanode.hasConnection(x_node)); ! assertTrue(!gnutellanode.hasConnection(x_node2)); // JUnitDoclet end method hasConnection } --- 327,335 ---- { } ! GnutellaNode x_node = new GnutellaNode(o_network, new Random(888)); ! GnutellaNode x_node2 = new GnutellaNode(o_network, new Random(888)); ! o_gnutella_node.addConnection(x_node); ! assertTrue(o_gnutella_node.hasConnection(x_node)); ! assertTrue(!o_gnutella_node.hasConnection(x_node2)); // JUnitDoclet end method hasConnection } *************** *** 347,351 **** try { ! gnutellanode.addContent(null); fail("Failed to throw exception when adding null content"); } --- 339,343 ---- try { ! o_gnutella_node.addContent(null); fail("Failed to throw exception when adding null content"); } *************** *** 354,359 **** } SimpleDocument x_doc = new SimpleDocument(3); ! gnutellanode.addContent(x_doc); ! assertTrue(gnutellanode.hasContent(x_doc)); // JUnitDoclet end method addContent } --- 346,351 ---- } SimpleDocument x_doc = new SimpleDocument(3); ! o_gnutella_node.addContent(x_doc); ! assertTrue(o_gnutella_node.hasContent(x_doc)); // JUnitDoclet end method addContent } *************** *** 363,367 **** try { ! gnutellanode.hasContent(null); fail("Failed to throw exception when checking for null content"); } --- 355,359 ---- try { ! o_gnutella_node.hasContent(null); fail("Failed to throw exception when checking for null content"); } *************** *** 371,377 **** SimpleDocument x_doc = new SimpleDocument(3); SimpleDocument x_doc2 = new SimpleDocument(3); ! gnutellanode.addContent(x_doc); ! assertTrue(gnutellanode.hasContent(x_doc)); ! assertTrue(!gnutellanode.hasContent(x_doc2)); // JUnitDoclet end method hasContent } --- 363,369 ---- SimpleDocument x_doc = new SimpleDocument(3); SimpleDocument x_doc2 = new SimpleDocument(3); ! o_gnutella_node.addContent(x_doc); ! assertTrue(o_gnutella_node.hasContent(x_doc)); ! assertTrue(!o_gnutella_node.hasContent(x_doc2)); // JUnitDoclet end method hasContent } *************** *** 381,385 **** try { ! gnutellanode.hasKeyword(null); fail("Failed to throw exception when checking for null content"); } --- 373,377 ---- try { ! o_gnutella_node.hasKeyword(null); fail("Failed to throw exception when checking for null content"); } *************** *** 396,408 **** SimpleDocument x_doc = new SimpleDocument(x_keywords); SimpleDocument x_doc2 = new SimpleDocument(x_keywords2); ! gnutellanode.addContent(x_doc); for (int i = 0; i < 3; i++) { assertTrue( "local keyword not indicated", ! gnutellanode.hasKeyword(x_keywords[i]) == 1); assertTrue( "absent keyword identified as local", ! gnutellanode.hasKeyword(x_keywords2[i]) == 0); } // JUnitDoclet end method hasContent --- 388,400 ---- SimpleDocument x_doc = new SimpleDocument(x_keywords); SimpleDocument x_doc2 = new SimpleDocument(x_keywords2); ! o_gnutella_node.addContent(x_doc); for (int i = 0; i < 3; i++) { assertTrue( "local keyword not indicated", ! o_gnutella_node.hasKeyword(x_keywords[i]) == 1); assertTrue( "absent keyword identified as local", ! o_gnutella_node.hasKeyword(x_keywords2[i]) == 0); } // JUnitDoclet end method hasContent *************** *** 413,417 **** try { ! gnutellanode.matchingDocuments(null); fail("Failed to throw exception when checking for null content"); } --- 405,409 ---- try { ! o_gnutella_node.matchingDocuments(null); fail("Failed to throw exception when checking for null content"); } *************** *** 431,438 **** SimpleDocument x_doc2 = new SimpleDocument(x_keywords); SimpleDocument x_doc3 = new SimpleDocument(x_keywords2); ! gnutellanode.addContent(x_doc); ! gnutellanode.addContent(x_doc2); ! gnutellanode.addContent(x_doc3); ! Set x_set = gnutellanode.matchingDocuments(x_keywords); assertTrue("not all matching documents found", x_set.size() == 2); assertTrue("x_doc not found", x_set.contains(x_doc)); --- 423,430 ---- SimpleDocument x_doc2 = new SimpleDocument(x_keywords); SimpleDocument x_doc3 = new SimpleDocument(x_keywords2); ! o_gnutella_node.addContent(x_doc); ! o_gnutella_node.addContent(x_doc2); ! o_gnutella_node.addContent(x_doc3); ! Set x_set = o_gnutella_node.matchingDocuments(x_keywords); assertTrue("not all matching documents found", x_set.size() == 2); assertTrue("x_doc not found", x_set.contains(x_doc)); *************** *** 443,447 **** // x_docs = (Vector)(o_contents.get(p_keywords[i])); // x_set.addAll(x_docs); ! x_set = gnutellanode.matchingDocuments(x_keywords3); assertTrue("match from unrelated keywords", x_set.size() == 0); // JUnitDoclet end method matchingDocuments --- 435,439 ---- // x_docs = (Vector)(o_contents.get(p_keywords[i])); // x_set.addAll(x_docs); ! x_set = o_gnutella_node.matchingDocuments(x_keywords3); assertTrue("match from unrelated keywords", x_set.size() == 0); // JUnitDoclet end method matchingDocuments *************** *** 487,491 **** public void testHandleMessage() throws Exception { - // JUnitDoclet begin method handleMessage SimpleKeyword[][] x_keywords = new SimpleKeyword[3][3]; for (int i = 0; i < 3; i++) --- 479,482 ---- *************** *** 503,509 **** x_node[i] = new GnutellaNode(o_network, new Random(888)); } ! gnutellanode.addConnection(x_node[1]); ! gnutellanode.addConnection(x_node[2]); ! gnutellanode.addConnection(x_node[3]); for (int k = 0; k < 3; k++) { --- 494,500 ---- x_node[i] = new GnutellaNode(o_network, new Random(888)); } ! o_gnutella_node.addConnection(x_node[1]); ! o_gnutella_node.addConnection(x_node[2]); ! o_gnutella_node.addConnection(x_node[3]); for (int k = 0; k < 3; k++) { *************** *** 517,525 **** x_message[k].setPreviousLocation(x_node[3]); } ! gnutellanode.addContent(x_doc[0]); assertTrue( "failed to successfully handle message", ! gnutellanode.handleMessage(x_message[1])); ! assertTrue("node not activated", gnutellanode.getActive()); assertTrue( "Connected Node failed to receive message of correct type", --- 508,516 ---- x_message[k].setPreviousLocation(x_node[3]); } ! o_gnutella_node.addContent(x_doc[0]); assertTrue( "failed to successfully handle message", ! o_gnutella_node.handleMessage(x_message[1])); ! assertTrue("node not activated", o_gnutella_node.getActive()); assertTrue( "Connected Node failed to receive message of correct type", *************** *** 535,552 **** assertTrue( "initial node still has message", ! gnutellanode.inboxContainsMessage(x_message[1]) == null); ! // JUnitDoclet end method handleMessage } ! /** ! * JUnitDoclet moves marker to this method, if there is not match ! * for them in the regenerated code and if the marker is not empty. ! * This way, no test gets lost when regenerating after renaming. ! * Method testVault is supposed to be empty. ! */ ! public void testVault() throws Exception { ! // JUnitDoclet begin method testcase.testVault ! // JUnitDoclet end method testcase.testVault } private void testAndCheckForwardMessage( final Class p_message_class, --- 526,548 ---- assertTrue( "initial node still has message", ! o_gnutella_node.inboxContainsMessage(x_message[1]) == null); } ! ! public void testForwardProbabilisticFuzzyMessage2() throws Exception { ! // we should check that the message is passed to all the nodes connected to a single node ! //final int x_no_nodes = 4; ! final int x_no_nodes = 7; ! final int x_no_keywords = 10; ! final int x_start_TTL = 10; ! final int x_start_node = 0; ! testAndCheckForwardMessage( ! ProbabilisticFuzzyContentMessage.class, ! x_no_nodes, ! x_no_keywords, ! x_start_TTL, ! x_start_node); } + private void testAndCheckForwardMessage( final Class p_message_class, *************** *** 717,738 **** }*/ } ! public void testForwardProbabilisticFuzzyMessage2() throws Exception ! { ! // we should check that the message is passed to all the nodes connected to a single node ! //final int x_no_nodes = 4; ! final int x_no_nodes = 7; ! final int x_no_keywords = 10; ! final int x_start_TTL = 10; ! final int x_start_node = 0; ! testAndCheckForwardMessage( ! ProbabilisticFuzzyContentMessage.class, ! x_no_nodes, ! x_no_keywords, ! x_start_TTL, ! x_start_node); ! } public static void main(String[] args) { - // JUnitDoclet begin method testcase.main String x_method = System.getProperty("test.method"); System.out.println("test.method=" + x_method); --- 713,722 ---- }*/ } ! ! /** ! * @param args - command line args ! */ public static void main(String[] args) { String x_method = System.getProperty("test.method"); System.out.println("test.method=" + x_method); *************** *** 748,752 **** suite.addTest(new GnutellaNodeTest(x_method)); junit.textui.TestRunner.run(suite); ! } // JUnitDoclet end method testcase.main } } --- 732,736 ---- suite.addTest(new GnutellaNodeTest(x_method)); junit.textui.TestRunner.run(suite); ! } } } Index: GnutellaMessageHandlerTest.java =================================================================== RCS file: /cvsroot/neurogrid/neurogrid/simulation/junit/com/neurogrid/simulation/GnutellaMessageHandlerTest.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** GnutellaMessageHandlerTest.java 29 Dec 2003 23:58:48 -0000 1.9 --- GnutellaMessageHandlerTest.java 12 Jan 2004 00:24:33 -0000 1.10 *************** *** 451,454 **** --- 451,457 ---- throws Exception { + // TODO this currently won't handle variation in start node well + // + // 1. create some Gnutella nodes Node x_node[] = new GnutellaNode[p_no_nodes]; for (int i = 0; i < p_no_nodes; i++) *************** *** 456,459 **** --- 459,463 ---- x_node[i] = new GnutellaNode(o_network, new Random(RANDOM_SEED)); } + // 2. connect the start node to the other nodes for (int i = 1; i < p_no_nodes; i++) { *************** *** 465,468 **** --- 469,473 ---- x_node[p_start_node].addConnection(x_node[i]); } + // 3. create some keywords and documents SimpleKeyword[] x_keywords = new SimpleKeyword[p_no_keywords]; for (int i = 0; i < p_no_keywords; i++) *************** *** 471,474 **** --- 476,480 ---- } SimpleDocument x_doc = new SimpleDocument(x_keywords); + // 4. create a query message Constructor x_constructor = null; Object[] x_args = null; *************** *** 501,512 **** --- 507,521 ---- x_args[3] = new Random(RANDOM_SEED); } + // 5. create a random number generator to shadow the one in the simulator Random x_random_shadow = new Random(RANDOM_SEED); ContentMessage x_message = (ContentMessage) x_constructor.newInstance(x_args); x_message.setPreviousLocation(x_node[p_start_node]); + // 6. get the message handler to foward this message o_message_handler.forwardMessage(x_message, x_node[p_start_node]); for (int i = 1; i < p_no_nodes; i++) { String x_message_id = x_node[i].inboxContainsMessage(x_message); + // 7. check that each of the connected nodes has received the message assertTrue( "Connected Node " *************** *** 516,519 **** --- 525,529 ---- if (p_message_class != ProbabilisticFuzzyContentMessage.class) { + // 8a. for non-probabilistic messages check that the ttl has been decremented assertTrue( "Connected Node message has TTL that has not been decremented", *************** *** 523,526 **** --- 533,537 ---- else { + // 8b. for probabilistic messages check that the ttl has been randomised int x_ttl = x_node[i].getTTLOfMessageInInbox(x_message); double x_rnd = x_random_shadow.nextDouble(); *************** *** 536,569 **** x_ttl == x_expected_ttl); } ! } /* ! assertTrue( ! "Connected Node failed to receive message of correct type", ! x_node[2].inboxContainsMessage(x_message).equals( ! p_message_class.getName())); ! if (p_message_class != ProbabilisticFuzzyContentMessage.class) ! { ! assertTrue( ! "Connected Node message has TTL that has not been decremented", ! x_node[2].getTTLOfMessageInInbox(x_message) == p_start_TTL - 1); ! } ! else ! { ! int x_ttl = x_node[2].getTTLOfMessageInInbox(x_message); ! double x_rnd = x_random_shadow.nextDouble(); ! o_cat.debug("random is " + x_rnd); ! o_cat.debug("p_start_TTL is " + p_start_TTL); ! int x_expected_ttl = (int) (x_rnd * (p_start_TTL - 1)); ! o_cat.debug("x_expected_ttl is " + x_expected_ttl); ! assertTrue( ! "Connected Node message has TTL that has not been randomized: expected " ! + x_expected_ttl ! + ", is " ! + x_ttl, ! x_ttl == x_expected_ttl); ! } ! assertTrue( ! "Connected Node that sent message re-received message", ! x_node[p_start_node].inboxContainsMessage(x_message) == null); ! */ } /** --- 547,551 ---- x_ttl == x_expected_ttl); } ! } } /** |