示例#1
0
 def test_calculate_tracks(self):
     input_data = SchedulerApp.process_input(
         'ConferencetrackmanagementPythonGA/tests/test_input2.txt')
     my_scheduler = Scheduler()
     times = my_scheduler.calculate_times(input_data)
     self.assertEquals(my_scheduler.calculate_tracks(times), ({
         0: ('talk12 60min', 60),
         120: ('talk14 60min', 60),
         60: ('talk13 60min', 60)
     }, {
         0: ('talk8 60min', 60),
         120: ('talk10 60min', 60),
         180: ('talk11 60min', 60),
         60: ('talk9 60min', 60)
     }, {
         0: ('talk5 60min', 60),
         120: ('talk7 60min', 60),
         60: ('talk6 60min', 60)
     }, {
         0: ('talk1 60min', 60),
         120: ('talk3 60min', 60),
         180: ('talk4 60min', 60),
         60: ('talk2 60min', 60)
     }, 0))
     input_data = SchedulerApp.process_input(
         'ConferencetrackmanagementPythonGA/tests/test_input3.txt')
     my_scheduler = Scheduler()
     times = my_scheduler.calculate_times(input_data)
     self.assertEquals(my_scheduler.calculate_tracks(times), ({
         0: ('talk12 60min', 60),
         120: ('talk14 60min', 60),
         60: ('talk13 60min', 60)
     }, {
         0: ('talk8 60min', 60),
         120: ('talk10 60min', 60),
         180: ('talk11 60min', 60),
         60: ('talk9 60min', 60)
     }, {
         0: ('talk5 60min', 60),
         120: ('talk7 60min', 60),
         60: ('talk6 60min', 60)
     }, {
         0: ('talk1 60min', 60),
         120: ('talk3 60min', 60),
         180: ('talk4 60min', 60),
         60: ('talk2 60min', 60)
     }, 1))
示例#2
0
 def test_calculate_times(self):
     input_data = SchedulerApp.process_input(
         'ConferencetrackmanagementPythonGA/tests/test_input.txt')
     my_scheduler = Scheduler()
     self.assertEquals(my_scheduler.calculate_times(input_data),
                       [('talk2 60min', 60), ('talk3 45min', 45),
                        ('talk5 30min', 30), ('talk1 25min', 25),
                        ('talk4 lightning', 5)])
示例#3
0
# Method used to read the input_data
def process_input(input_path_var):
    with open(input_path_var, 'r') as f:
        read_data = f.read()
    return read_data.split(', ')


# Method called to do a 'clear', just for application visualization purposes
def clean_screen():
    print(chr(27) + "[2J")


if __name__ == '__main__':

    clean_screen()
    presentation()

    if len(sys.argv) == 1:
        input_path = 'ConferencetrackmanagementPythonGA/data/input.txt'
    else:
        input_path = sys.argv[1]

    input_data = process_input(input_path)
    my_scheduler = Scheduler()
    times = my_scheduler.calculate_times(input_data)
    track1morning, track1afternoon, track2morning, track2afternoon, left_sessions = Scheduler.calculate_tracks(
        times)
    Printer.show_tracks(track1morning, track1afternoon, track2morning,
                        track2afternoon)