public void ShiftingListTest() { const int maxCount = 2; ShiftingList shiftingList = new ShiftingList(maxCount); Assert.AreEqual(shiftingList.MaxCount, maxCount); }
public void AddTest() { const int maxCount = 2; const int entriesToAdd = 6; ShiftingList shiftingList = new ShiftingList(maxCount); for (int i = 0; i < entriesToAdd; i++) { shiftingList.Add($"Test{i}"); } Assert.AreEqual(shiftingList.Count, maxCount); for (int i = 0; i < shiftingList.Count; i++) { Assert.AreEqual(shiftingList[i], $"Test{entriesToAdd - i - 1}"); } }
public void ReplaceTest() { const int maxCount = 6; const int indexToReplace = 2; ShiftingList shiftingList = new ShiftingList(maxCount); for (int i = 0; i < maxCount; i++) { shiftingList.Add($"Test{i}"); } for (int i = 0; i < maxCount; i++) { if (i == indexToReplace) { shiftingList.Replace("Replaced", indexToReplace); } } Assert.AreEqual(shiftingList.Count, maxCount); Assert.AreEqual(shiftingList[indexToReplace], "Replaced"); }
public void RemoveFromEndTest() { const int maxCount = 6; const int entriesToRemove = 2; ShiftingList shiftingList = new ShiftingList(maxCount); for (int i = 0; i < maxCount; i++) { shiftingList.Add($"Test{i}"); } for (int i = 0; i < entriesToRemove; i++) { shiftingList.RemoveFromEnd(); } Assert.AreEqual(shiftingList.Count, Math.Max(maxCount - entriesToRemove, 0)); for (int i = 0; i < shiftingList.Count; i++) { Assert.AreEqual(shiftingList[i], $"Test{maxCount - i - 1}"); } }
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); }