public void SSTF_Test()
 {
     Queue<Request> queue = new Queue<Request>(array);
     queue = RequestAlgorithms.SSTF(
         queue,
         new Drive.Stats(100, 50, i => 10 + i * 0.2, 0.3, 0.5, null, 0, 0, true, 10, 0.2));
     var expected = new Request[] { array[0], array[2], array[1], array[5], array[4], array[3] };
     Assert.IsTrue(expected.Zip(queue, comparisonFunc).Aggregate((b, b1) => b && b1));
 }
 public void LOOK_Test()
 {
     Queue<Request> queue = new Queue<Request>(array);
     var expected1 = new Request[] { array[5], array[4], array[3], array[1], array[0], array[2] };
     var expected2 = new Request[] { array[1], array[0], array[2], array[5], array[4], array[3] };
     var queue1 = RequestAlgorithms.LOOK(
         queue,
         new Drive.Stats(100, 50, i => 10 + i * 0.2, 0.3, 0.5, null, 15, 0, true, 10, 0.2));
     var queue2 = RequestAlgorithms.LOOK(
         queue,
         new Drive.Stats(100, 50, i => 10 + i * 0.2, 0.3, 0.5, null, 15, 0, false, 10, 0.2));
     Assert.IsTrue(expected1.Zip(queue1,comparisonFunc).Aggregate((b, b1) => b && b1));
     Assert.IsTrue(expected2.Zip(queue2,comparisonFunc).Aggregate((b, b1) => b && b1));
 }