public void TestCycle_MultiUser()
{
int operation = Utils.RandomNumber.Next(15);
long count = CountUsers(); // we hope counts are the same
ulong from = (ulong) Utils.RandomNumber.Next((int)count - 1);
TestUser user;
while (IterateClients())
{
foreach (string key in table.GetKeyIterator(new StringRangeParams().StartKey(Utils.Id(from)).Count(1)))
{
System.Console.WriteLine("===========================================================");
System.Console.WriteLine("Key for test:");
System.Console.WriteLine(key);
switch (operation)
{
case 1:
// Get user
user = GetUser(key);
System.Console.WriteLine("GetAction:");
user.Print();
break;
case 2:
// set user
user = GetUser(key);
System.Console.WriteLine("SetAction:");
user.info.Nick = user.info.Nick + "-SetAt" + System.DateTime.Now.ToString("s");
SetUser(user);
user.Print();
break;
case 3:
user = GetUser(key);
System.Console.WriteLine("DeleteAction:");
user.Print();
DeleteUser(user);
//
break;
case 4:
user = GetUser(key);
string prefix = user.info.Nick.Substring(0, 3);
System.Console.WriteLine("ListSimilar to Nick: " + user.info.Nick + " using prefix: " + prefix);
PrintByNick(prefix);
break;
default:
//add user
System.Console.WriteLine("Add new");
AddUser();
break;
}
}
}
SubmitAll();
}