public void ScanDiskScheduling_Test() { //Setup Setup(); //Arrange //for convenience select first item as CurrentRequest _currentRequest = _requests[0]; #region expected _expectedRequests = new List <Request> { new Request { Current = 5, Previous = -1 }, new Request { Current = 25, Previous = 5 }, new Request { Current = 49, Previous = 25 }, new Request { Current = 69, Previous = 49 }, new Request { Current = 90, Previous = 69 } }; #endregion //Act //loop through the list and call strategy. for (int i = 0; i <= 4; i++) { _actualRequests.Add(_currentRequest); _requests.Remove(_currentRequest); var nextRequest = _scanDisk.ReadRequest(_requests, _currentRequest); _currentRequest = nextRequest; } //Assert CollectionAssert.AreEqual(_expectedRequests, _actualRequests, new RequestComparer()); //TearDown TearDown(); }