Example #1
0
        public void Collections_List_Insert()
        {
            ReadList.AssertEmpty();

            var item1 = CreateItem1();
            var item2 = CreateItem2();

            WriteList.Add(item1);
            WriteList.Insert(0, item2);

            ReadList.AssertSequence(item2, item1);
        }
Example #2
0
        public void Collections_List_Order()
        {
            var item1 = CreateItem1();
            var item2 = CreateItem2();

            WriteList.Add(item1);
            WriteList.Add(item2);

            Assert.AreEqual(item1, ReadList[0]);
            Assert.AreEqual(item2, ReadList[1]);

            ReadList.AssertSequence(item1, item2);
        }
Example #3
0
        public void Collections_List_IndexOf()
        {
            var item1 = CreateItem1();
            var item2 = CreateItem2();
            var item3 = CreateItem3();

            WriteList.Add(item1);
            WriteList.Add(item2);

            Assert.AreEqual(0, ReadList.IndexOf(item1));
            Assert.AreEqual(1, ReadList.IndexOf(item2));
            Assert.AreEqual(-1, ReadList.IndexOf(item3));
        }
Example #4
0
        public void Collections_List_SetItem()
        {
            var item1 = CreateItem1();
            var item2 = CreateItem2();
            var item3 = CreateItem3();

            WriteList.Add(item1);
            WriteList.Add(item2);

            WriteList[1] = item3;

            Assert.AreEqual(item1, ReadList[0]);
            Assert.AreEqual(item3, ReadList[1]);
            Assert.IsFalse(ReadList.Contains(item2));
            ReadList.AssertSequence(item1, item3);
        }
Example #5
0
        public static int Compute(List <int> l, int friendindex)
        {
            bool flag = false;
            int  n    = 0;

            Console.WriteLine("проверяем нужны ли билеты другу вообще");
            if (l[friendindex] == 0)
            {
                flag = true;
                Console.WriteLine("нет не нужны");
            }
            Console.WriteLine("нужны,чекаем есть ли в очереди нули");
            if (flag == false)
            {
                for (int i = 0; i < l.Count; i++)
                {
                    if (l[i] == 0)
                    {
                        Console.WriteLine("есть прохожий,удаляем его");
                        l.RemoveAt(i);
                        if (i < friendindex)
                        {
                            friendindex--;
                        }
                        i--;
                        Console.WriteLine("Индекс друга" + friendindex);
                    }
                }

                Console.WriteLine("Нулей нет");

                while (l[0] != 1 | friendindex != 0)
                {
                    if (l[0] == 1)
                    {
                        l.RemoveAt(0);
                        friendindex--;
                        n++;
                        WriteList.Write(l);
                    }
                    else
                    {
                        if (friendindex == 0)
                        {
                            l = ShiftingList.ShiftList(l);
                            l[l.Count - 1] -= 1;
                            friendindex     = l.Count - 1;
                            n++;
                            WriteList.Write(l);
                        }
                        else
                        {
                            l = ShiftingList.ShiftList(l);
                            l[l.Count - 1] -= 1;
                            friendindex--;
                            n++;
                            WriteList.Write(l);
                        }
                    }
                }
            }


            return(n + 1);
        }
 /// <summary>
 /// 异步写入多点
 /// </summary>
 /// <param name="Value"></param>
 /// <param name="Start"></param>
 /// <param name="End"></param>
 /// <param name="T"></param>
 public WriteInvoke(List <object> Value, int Start, int End, Type T)
 {
     ListValue = new WriteList(Value, Start, End, T);
 }