void rice::p2p::replication::manager::testing::ReplicationManagerRegrTest::testBasic() { auto num = npc(npc(environment)->getRandomSource())->nextInt(NUM_NODES); auto id = npc((*nodes)[num])->getId(); auto all = npc(FACTORY)->buildIdRange(npc(FACTORY)->buildId(new ::int8_tArray(int32_t(20))), npc(FACTORY)->buildId(new ::int8_tArray(int32_t(20)))); sectionStart(u"Testing Basic Functionality"_j); stepStart(u"Inserting Object"_j); npc((*clients)[num])->insert(id); stepDone(SUCCESS()); stepStart(u"Initiating Maintenance"_j); runMaintenance(); for (auto i = int32_t(0); i < NUM_NODES; i++) simulate(); auto count = int32_t(0); for (auto i = int32_t(0); i < NUM_NODES; i++) { if(npc(npc((*clients)[i])->scan(all))->isMemberId(id)) count++; } assertTrue(::java::lang::StringBuilder().append(u"Correct number of replicas should be "_j)->append((REPLICATION_FACTOR + int32_t(1))) ->append(u" was "_j) ->append(count)->toString(), count == REPLICATION_FACTOR + int32_t(1)); stepDone(SUCCESS()); sectionDone(); }
void rice::p2p::replication::manager::testing::ReplicationManagerRegrTest::testOverload() { auto NUM_TO_INSERT = int32_t(16); auto num = npc(npc(environment)->getRandomSource())->nextInt(NUM_NODES); auto id = npc((*nodes)[num])->getId(); auto all = npc(FACTORY)->buildIdRange(npc(FACTORY)->buildId(new ::int8_tArray(int32_t(20))), npc(FACTORY)->buildId(new ::int8_tArray(int32_t(20)))); sectionStart(u"Testing Overload Functionality"_j); stepStart(::java::lang::StringBuilder().append(u"Inserting "_j)->append(NUM_TO_INSERT) ->append(u" Objects"_j)->toString()); for (auto i = int32_t(0); i < NUM_TO_INSERT; i++) { npc((*clients)[num])->insert(addToId(id, i)); simulate(); } stepDone(SUCCESS()); stepStart(u"Initiating Maintenance"_j); runMaintenance(); simulate(); for (auto i = int32_t(0); i < NUM_TO_INSERT + int32_t(1); i++) { try { ::java::lang::Thread::sleep(npc((*replications)[int32_t(0)])->FETCH_DELAY); } catch (::java::lang::InterruptedException* e) { npc(::java::lang::System::out())->println(npc(e)->toString()); } simulate(); } for (auto j = int32_t(0); j < NUM_TO_INSERT; j++) { auto count = int32_t(0); auto thisId = addToId(id, j); for (auto i = int32_t(0); i < NUM_NODES; i++) { if(npc(npc((*clients)[i])->scan(all))->isMemberId(thisId)) count++; } assertTrue(::java::lang::StringBuilder().append(u"Correct number of replicas for "_j)->append(j) ->append(u":"_j) ->append(static_cast< ::java::lang::Object* >(thisId)) ->append(u" should be "_j) ->append((REPLICATION_FACTOR + int32_t(1))) ->append(u" was "_j) ->append(count)->toString(), count == REPLICATION_FACTOR + int32_t(1)); } stepDone(SUCCESS()); sectionDone(); }
void timeStep(const action_type& a) { switch(current_state) { case CLIFF::start: stepStart(a); break; case CLIFF::goal: stepGoal(a); break; default: step(a); break; } }