def test_offerings_at(): gc = Gym("Gold Ring") diane = Instructor(1, 'Diane') roney = Instructor(2, 'Roney') diane.add_certificate('Strength Training') diane.add_certificate('Interval Training') diane.add_certificate('Long Runs') diane.add_certificate('Tempo') diane.add_certificate('FTP Test') roney.add_certificate('Strength Training') roney.add_certificate('Interval Training') roney.add_certificate('Tempo') workout_class_run = WorkoutClass('Running', [ 'Strength Training', 'Interval Training', 'Long Runs', 'Tempo', 'FTP Test' ]) workout_class_cycling = WorkoutClass( 'Cycling Basics', ['Strength Training', 'Interval Training', 'Tempo']) gc.add_workout_class(workout_class_run) gc.add_workout_class(workout_class_cycling) gc.add_instructor(diane) gc.add_instructor(roney) JAN_27_2020 = datetime(2020, 1, 27, 12, 0) gc.add_room('Cycling Room', 1) gc.add_room('Strength Room', 1) gc.schedule_workout_class(JAN_27_2020, 'Strength Room', workout_class_run.get_name(), diane.get_id()) gc.schedule_workout_class(JAN_27_2020, 'Cycling Room', workout_class_cycling.get_name(), roney.get_id()) assert ('Diane', 'Running', 'Strength Room') in gc.offerings_at(JAN_27_2020) assert len(gc.offerings_at(JAN_27_2020)) == 2 assert len(gc.offerings_at(datetime(2020, 1, 28, 12, 0))) == 0
def test_gym_offerings_at_one_class() -> None: ac = Gym('Athletic Centre') instructor = Instructor(5, 'Matthew') swimming = WorkoutClass('Swimming', ['Lifeguard']) jan_28_2020_11_00 = datetime(2020, 1, 29, 11, 0) assert instructor.add_certificate('Lifeguard') assert ac.add_workout_class(swimming) assert ac.add_instructor(instructor) assert ac.add_room('25-yard Pool', 100) assert ac.schedule_workout_class(jan_28_2020_11_00, '25-yard Pool', swimming.get_name(), instructor.get_id()) assert ac.offerings_at(jan_28_2020_11_00) == \ [('Matthew', 'Swimming', '25-yard Pool')]
def test_gym_offerings_everything() -> None: ac = Gym('Athletic Centre') diane = Instructor(1, 'Diane') dian = Instructor(2, 'Dian') dia = Instructor(3, 'Dia') assert diane.add_certificate('Cardio 1') assert dian.add_certificate('Cardio 1') assert dia.add_certificate('Cardio 1') assert ac.add_instructor(diane) assert ac.add_instructor(dian) assert ac.add_instructor(dia) assert ac.add_room('Dance Studio', 50) assert ac.add_room('Danc Studio', 50) assert ac.add_room('Dan Studio', 50) boot_camp = WorkoutClass('Boot Camp', ['Cardio 1']) assert ac.add_workout_class(boot_camp) t1 = datetime(2019, 9, 9, 12, 0) t2 = datetime(2019, 9, 9, 13, 0) assert ac.offerings_at(t1) == [] assert ac.schedule_workout_class(t1, 'Dance Studio', \ boot_camp.get_name(), diane.get_id()) assert ac.offerings_at(t1) == [('Diane', 'Boot Camp', 'Dance Studio')] assert ac.schedule_workout_class(t1, 'Danc Studio', \ boot_camp.get_name(), dian.get_id()) assert ac.schedule_workout_class(t1, 'Dan Studio', \ boot_camp.get_name(), dia.get_id()) assert ac.offerings_at(t1) == [('Diane', 'Boot Camp', 'Dance Studio'), ('Dian', 'Boot Camp', 'Danc Studio'), ('Dia', 'Boot Camp', 'Dan Studio'),] assert ac.schedule_workout_class(t2, 'Dance Studio', \ boot_camp.get_name(), diane.get_id()) assert ac.offerings_at(t2) == [('Diane', 'Boot Camp', 'Dance Studio')]