public void LoadCoalTest() { CoalMovement coalMovement1 = new CoalMovement("05N_46_F25", "Truck10", "2017-12-12 04:45:52"); CoalMovement coalMovement2 = new CoalMovement("13_36_J17", "Truck2", "2017-12-12 04:48:00"); CoalMovement coalMovement3 = new CoalMovement("05N_46_F25", "Truck6", "2017-12-20 12:42:21"); CoalMovement coalMovement4 = new CoalMovement("13_36_J17", "Truck10", "2017-12-20 12:48:00"); CoalMovement coalMovement5 = new CoalMovement("05N_46_F25", "Truck4", "2017-12-20 12:52:56"); List <CoalMovement> incomingCoalMovements = new List <CoalMovement>(); incomingCoalMovements.Add(coalMovement1); incomingCoalMovements.Add(coalMovement2); incomingCoalMovements.Add(coalMovement3); incomingCoalMovements.Add(coalMovement4); incomingCoalMovements.Add(coalMovement5); List <string> coalCycle = new List <string>(); coalCycle.Add("05N_46_F25"); coalCycle.Add("13_36_J17"); coalCycle.Add("05N_46_F25"); coalCycle.Add("03S_46_F25"); coalCycle.Add("13_36_J17"); coalCycle.Add("03S_46_F25"); coalCycle.Add("13_36_J17"); coalCycle.Add("03S_46_J19"); coalCycle.Add("03S_46_J19"); TimeSpan waitTimeSpan = new TimeSpan(0, 2, 0); TimeSpan loadTimeSpan = new TimeSpan(0, 5, 0); ROMLoader loader = new ROMLoader(coalCycle, waitTimeSpan, loadTimeSpan); DateTime minimumTime = new DateTime(2017, 12, 12, 04, 44, 52); List <CoalMovement> result = loader.AllocateCoalMovements(minimumTime, incomingCoalMovements); Assert.True(true); }
public async Task GetMovements() { Directory.SetCurrentDirectory(AppDomain.CurrentDomain.BaseDirectory); DatabaseServices database = new DatabaseServices("ConsoleDB.db"); DateTime date = new DateTime(2017, 12, 13, 04, 54, 26); DateTime date1 = new DateTime(2017, 12, 13, 04, 55, 28); DateTime date3 = new DateTime(2017, 12, 13, 04, 56, 03); DateTime date2 = new DateTime(2017, 12, 13, 04, 56, 28); CoalMovement movement1 = new CoalMovement("05N_46_F25", "Truck3", "2017-12-13 04:56:28"); CoalMovement movement2 = new CoalMovement("13_36_J17", "Truck1", "2017-12-13 05:04:00"); CoalMovement movement3 = new CoalMovement("05N_46_F25", "Truck10", "2017-12-13 05:07:03"); CoalMovement movement4 = new CoalMovement("05N_46_F25", "Truck1", "2017-12-13 05:17:38"); // Test for empty movements List <CoalMovement> movements1 = await database.GetCoalMovements(date, 1); Assert.True(movements1.Count == 0); // Test for 0 movements where minimum time matches only movement. List <CoalMovement> movements2 = await database.GetCoalMovements(date2, 1); Assert.True(movements2.Count == 0); // Test for 1 movements normal case. List <CoalMovement> movements3 = await database.GetCoalMovements(date3, 3); Assert.True(movements3.Count == 1); Assert.True(movements3.Contains(movement1)); // Test for 1 movements time where movement matches maximum time. List <CoalMovement> movements4 = await database.GetCoalMovements(date1, 1); Assert.True(movements4.Count == 1); Assert.True(movements4.Contains(movement1)); // Test for 2 movements. List <CoalMovement> movements5 = await database.GetCoalMovements(date, 10); Assert.True(movements5.Count == 2); Assert.True(movements5.Contains(movement1)); Assert.True(movements5.Contains(movement2)); // Test for 3 movements. List <CoalMovement> movements6 = await database.GetCoalMovements(date, 15); Assert.True(movements6.Count == 3); Assert.True(movements6.Contains(movement1)); Assert.True(movements6.Contains(movement2)); Assert.True(movements6.Contains(movement3)); // Test for 4 movements. List <CoalMovement> movements7 = await database.GetCoalMovements(date, 24); Assert.True(movements7.Count == 4); Assert.True(movements7.Contains(movement1)); Assert.True(movements7.Contains(movement2)); Assert.True(movements7.Contains(movement3)); Assert.True(movements7.Contains(movement4)); }