Scalien.Users.TestCycle C# (CSharp) Метод

TestCycle() публичный Метод

public TestCycle ( int userNum ) : void
userNum int
Результат void
        public void TestCycle(int userNum)
        {
            // uses count for ids, call reset_tables before using this
            long count = CountUsers();
            ulong from = (ulong) Utils.RandomNumber.Next((int)count - userNum);
            TestUser user;

            foreach (string key in table.GetKeyIterator(new StringRangeParams().StartKey(Utils.Id(from)).Count((uint)userNum)))
            {
                //System.Console.WriteLine("===========================================================");
                //System.Console.WriteLine("Key for test:");
                //System.Console.WriteLine(key);
                System.Console.Write(".");

                switch (Utils.RandomNumber.Next(6))
                {
                    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;
                }
                clients[client_index].Submit();
            }
            // TODO more operations
            // random operation on list
        }

Usage Example

Пример #1
0
        private static void TestWorker(Object param)
        {
            Utils.TestThreadConf conf = (Utils.TestThreadConf) param;

            int loop = System.Convert.ToInt32(conf.param);
            int users_per_iteration = 2;

            try
            {
                Users usr = new Users(Utils.GetConfigNodes());
                while (loop-- > 0)
                {
                    usr.TestCycle(users_per_iteration);
                }
            }
            catch (Exception e)
            {
                lock (conf.exceptionsCatched)
                {
                    conf.exceptionsCatched.Add(e);
                }
            }
        }
All Usage Examples Of Scalien.Users::TestCycle