def test_busy_put(): plan = Timetable2( [przerwa, przerwa2, przerwa3, przerwa4, przerwa5, przerwa6, przerwa7]) lesson = Lesson(Term(8, 0, Day.TUE), "Programowanie Skryptowe", "Stanisław Polak", 2) # Wstawiamy powyzsza lekcje do planu, powinno sie udac assert plan.put(lesson) == True lesson2 = Lesson(Term(8, 0, Day.TUE), "Programowanie Skryptowe", "Stanisław Polak", 2) # Teraz wstawiamy ta sama lekcje drugi raz, nie powinno sie udac assert plan.put(lesson2) == False # Teraz wstawiamy ta sama lekcje w miejsce przerwy bez skipBreaks, powinno sie nie udac lesson2 = Lesson(Term(9, 30, Day.TUE), "Programowanie Skryptowe", "Stanisław Polak", 2, skipBreaks=False) assert plan.put(lesson2) == False # Sprawdzamy czy dziala SkipBreaks lesson2 = Lesson(Term(8, 0, Day.TUE), "Programowanie Skryptowe", "Stanisław Polak", 2, skipBreaks=True) # sprawdzmy czy mozna przeniesc lesson2 w miejsce lesson assert plan.can_be_transferred_to(lesson2, Term(9, 30, Day.TUE))[0] == True
def test_put2(self): plan = Timetable2([przerwa, przerwa2, przerwa3]) lesson1 = Lesson(Term(8, 0, Day.MON), "A", "B", 3) lesson2 = Lesson(Term(8, 0, Day.MON), "C", "D", 3) plan.put(lesson1) with self.assertRaises(ValueError) as context: plan.put(lesson2)
def test_3(): lesson = Lesson(Term(17, 0, Day.FRI), "Programowanie skryptowe", "Stanisław Polak", 2) lesson.laterDay( ) # <- Przenosimy na sobote - NIE dozwolone (zostanie piatek) lesson.laterTime() # <- Przenosimy na Piatek 18:30 - dozwolone lesson.laterTime( ) # <- Przenosimy na Piatek 20:00 - NIE dozwolone (zostanie 18:30) lesson.earlierDay() # <- Przenosimy na czwartek - dozwolone oczekiwane = Lesson(Term(18, 30, Day.THU), "Programowanie skryptowe", "Stanisław Polak", 2)
def test_1(): lesson = Lesson(Term(9, 35, Day.TUE), "Programowanie skryptowe", "Stanisław Polak", 2) lesson.earlierDay() # <- Przenosimy na Poniedzialek 9:30 - Dozwolone lesson.earlierDay( ) # <- Przenosimy na niedziele 9:30 - NIE dozwolone (zostanie MON) lesson.earlierTime() # <- Przenosimy na Poniedzialek 8:00 - Dozwolone lesson.earlierTime( ) # <- Prznosimy na Poniedzialek 6:30 - NIE dozwolone (zostanie 8:00) oczekiwane = Lesson(Term(8, 5, Day.MON), "Programowanie skryptowe", "Stanisław Polak", 2) assert lesson == oczekiwane
def test_busy_put(): plan = Timetable1() lesson = Lesson(Term(9, 30, Day.TUE), "Programowanie Skryptowe", "Stanisław Polak", 2) # Wstawiamy powyzsza lekcje do planu, powinno sie udac assert plan.put(lesson) == True lesson2 = Lesson(Term(9, 30, Day.TUE), "Programowanie Skryptowe", "Stanisław Polak", 2) # Teraz wstawiamy ta sama lekcje drugi raz, nie powinno sie udac assert plan.put(lesson2) == False # Teraz sprawdzmy czy mozna wstawic w inny termin, powinno sie udac lesson2 = Lesson(Term(18, 30, Day.TUE), "Programowanie Skryptowe", "Stanisław Polak", 2) assert plan.put(lesson2) == True # sprawdzmy czy mozna przeniesc lesson2 w miejsce lesson assert plan.can_be_transferred_to(lesson2, Term(9, 30, Day.TUE)) == False # A co jesli ten termin jest wolny, ale nie dozwolony? assert plan.can_be_transferred_to(lesson2, Term(21, 30, Day.TUE)) == False
def test_parse(): plan = Timetable1() lesson1 = Lesson(Term(9, 30, Day.TUE), "Programowanie Skryptowe", "Stanisław Polak", 2) lesson2 = Lesson(Term(8, 0, Day.MON), "Kryptografia", "Stanisław Polak", 2) lesson3 = Lesson(Term(12, 30, Day.FRI), "Fizyka 2", "Stanisław Polak", 2) plan.put(lesson1) plan.put(lesson2) plan.put(lesson3) assert plan.create_lesson_queue() == [lesson2, lesson1, lesson3] polecenia = plan.perform(plan.parse(["t-", "d-", "d+", "d+", "t+", "t+"])) # "t-" dla Kryptografii - NIE dozwolone -> Poniedzialek 8:00 # "d-" dla Prog. Skryp. - dozwolone -> Poniedzialek 9:30 # "d+" dla Fizyki 2 - NIE dozwolone -> Piatek 12:30 # "d+" dla Kryptografii - dozwolone -> Wtorek 8:00 # "t+" dla Prog. Skryp. - dozwolone -> Poniedzialek 11:00 # "t+" dla Fizyki 2 - dozwolone -> Piatek 14:00 lesson1_changed = Lesson(Term(11, 0, Day.MON), "Programowanie Skryptowe", "Stanisław Polak", 2) lesson2_changed = Lesson(Term(8, 0, Day.TUE), "Kryptografia", "Stanisław Polak", 2) lesson3_changed = Lesson(Term(14, 0, Day.FRI), "Fizyka 2", "Stanisław Polak", 2) print(plan) assert plan.get(lesson1_changed.term) == lesson1_changed assert plan.get(lesson2_changed.term) == lesson2_changed assert plan.get(lesson3_changed.term) == lesson3_changed
def test_2(): lesson = Lesson(Term(17, 0, Day.FRI), "Programowanie skryptowe", "Stanisław Polak", 2, False) lesson.earlierDay( ) # <- Przenosimy na czwartek - NIE Dozwolone (zostanie piatek) lesson.earlierTime( ) # <- Przenosimy na piatek 15:30 - NIE dozwolone (zostanie 17:00) lesson.laterTime() # <- Prznosimy na piatek 18:30 - Dozwolone lesson.laterTime( ) # <- Przenosimy na piatek 20:00 - NIE dozwolone (zostanie 18:30) lesson.laterDay() # <- Przenosimy na sobota 18:30 - Dozwolone lesson.laterDay() # <- Przenosimy na niedziela 18:30 - Dozwolone lesson.laterTime( ) # <- Przenosimy na niedziela 20:00 - NIE dozwolone (zostanie 18:30) lesson.laterDay( ) # <- Przenosimy na poniedzialek - NIE dozwolone (zostanie niedziela) lesson.earlierTime() # <- Przenosimy na niedziela 17:00 - dozwolone lesson.earlierTime() # <- Przenosimy na niedziela 15:30 - dozwolone lesson.earlierDay() # <- Przenosimy na sobota 15:30 - dozwolone lesson.earlierDay( ) # <- Przenosimy na piatek 15:30 - NIE dozwolone (zostanie sobota) oczekiwane = Lesson(Term(15, 30, Day.SAT), "Programowanie skryptowe", "Stanisław Polak", 2, False)
from DeanerySystem.day import Day from DeanerySystem.term import Term term1 = Term(8, 30) term2 = Term(9, 45, 30) term3 = Term(9, 45, 90) print(term3.earlierThan(term2)) print(term1) # Ma się wypisać: "8:30 [90]" print(term2) # Ma się wypisać: "9:45 [30]" print(term3) # Ma się wypisać: "9:45 [90]" print("term1 < term2:", term1 < term2) # Ma się wypisać True print("term1 <= term2:", term1 <= term2) # Ma się wypisać True print("term1 > term2:", term1 > term2) # Ma się wypisać False print("term1 >= term2:", term1 >= term2) # Ma się wypisać False print("term2 == term2:", term2 == term2) # Ma się wypisać True print("term2 == term3:", term2 == term3) # Ma się wypisać False term4 = term3 - term1 # Tworzy termin, którego: # - godzina rozpoczęcia jest taka jak 'term1', # - czas trwania to różnica minut pomiędzy godziną zakończenia 'term3' (11:15), a godziną rozpoczęcia 'term1' (8:30) print(term4)
from DeanerySystem.lesson import Lesson from DeanerySystem.term import Term, to_hours_minutes from DeanerySystem.day import Day from DeanerySystem.timetable2 import Timetable2 from DeanerySystem.action import Action from DeanerySystem.breakterm import Break import sys # Zaimportuj lekcje z pliku plan.txt lekcje = [] with open("plan.txt", "r") as file1: for line in file1: lekcja = line.strip().replace("\t", "").split(",") lesson = Lesson(Term(int(lekcja[0]), int(lekcja[1]), Day(int(lekcja[2]))), lekcja[3], lekcja[4], 2) lekcje.append(lesson) #Przerwy jak na normalnym podziale zajec przerwa = Break(9, 30, 5) przerwa2 = Break(11, 5, 10) przerwa3 = Break(12, 45, 5) przerwa4 = Break(14, 20, 20) przerwa5 = Break(16, 10, 5) przerwa6 = Break(17, 45, 5) przerwa7 = Break(19, 20, 10) plan = Timetable2([przerwa, przerwa2, przerwa3, przerwa4, przerwa5, przerwa6, przerwa7]) print("Plan lekcji:") #Zapelnij plan lekcjami z pliku for lekcja in lekcje: try:
def terminy(self): term1 = Term(Day.TUE, 9, 45) term2 = Term(Day.WED, 10, 15) self.assertEqual( term1.earlierThan(term2), True ) self.assertEqual( term1.laterThan(term2), False) self.assertEqual( term1.equals(term2), False)
def test_busy(self): plan = Timetable2([przerwa, przerwa2, przerwa3]) term = Term(7, 30, Day.MON, 5) with self.assertRaises(ValueError) as context: plan.busy(term)
def test_sub(): assert (term3 - term1) == Term(8, 30, 165)
from DeanerySystem.lesson import Lesson from DeanerySystem.term import Term, to_hours_minutes from DeanerySystem.day import Day from DeanerySystem.timetable import Timetable1 from DeanerySystem.action import Action plan = Timetable1() lesson = Lesson(Term(9, 30, Day.TUE), "Programowanie Skryptowe", "Stanisław Polak", 2) lesson2 = Lesson(Term(8, 0, Day.MON), "Kryptografia", "Pawel Topa", 2) lesson3 = Lesson(Term(17, 0, Day.THU), "Bezpieczenstwo Lokalnych sieci komputerowych", "Jacek Rzasa", 2) lesson4 = Lesson(Term(18, 30, Day.SAT), "Zajecia ABC", "Dr. Oetker", 2, False) print("=" * 20) print("Plan przed zmianami") plan.put(lesson) plan.put(lesson2) plan.put(lesson3) plan.put(lesson4) print(plan) print("=" * 20) print("Usuwamy lekcje w Sobote") plan - lesson4 print(plan) print("=" * 20) print("Dodajemy ja z powrotem") plan + lesson4
from DeanerySystem.term import Term from DeanerySystem.day import Day term1 = Term(Day.TUE, 9, 45) print(term1) # Ma się wypisać: "Wtorek 9:45 [90]" term2 = Term(Day.WED, 10, 15) print(term2) # Ma się wypisać: "Środa 10:15 [90]" print(term1.earlierThan(term2)); # Ma się wypisać: "True" print(term1.laterThan(term2)); # Ma się wypisać: "False" print(term1.equals(term2)); # Ma się wypisać: "False" term1 = Term(Day.TUE, 9, 45) term2 = Term(Day.WED, 10, 15) term = term1.minuteDifference(term2) print("Term: {}".format(term)) term = term1.endTime() print("Term endTime: {}".format(term))
def test_parse(): plan = Timetable2( [przerwa, przerwa2, przerwa3, przerwa4, przerwa5, przerwa6, przerwa7]) # Zaimportuj lekcje z pliku plan.txt lekcje = [] with open("plan.txt", "r") as file1: for line in file1: lekcja = line.strip().replace("\t", "").split(",") lesson = Lesson( Term(int(lekcja[0]), int(lekcja[1]), Day(int(lekcja[2]))), lekcja[3], lekcja[4], 2) lekcje.append(lesson) #Zapelnij plan lekcjami z pliku for lekcja in lekcje: plan.put(lekcja) print(plan) # Ciag przesuniec lista_polecen = ["d+", "d+", "t+", "t-", "d+", "t+", "t-", "d+", "d-"] lista_parsed = plan.parse(lista_polecen) plan.perform(lista_parsed) assert plan.get(Term(8, 0, Day.MON)).name == "Kryptografia" assert plan.get(Term(9, 35, Day.MON)).name == "Inf. Sledcza" assert plan.get(Term(12, 50, Day.MON)).name == "Inf. Sledcza" assert plan.get(Term(8, 0, Day.TUE)).name == "Bezp. Sieci" assert plan.get(Term(9, 35, Day.TUE)).name == "Bezp. Apli" assert plan.get(Term(11, 15, Day.TUE)).name == "Kryptografia" assert plan.get(Term(12, 50, Day.TUE)).name == "Bezp. Apli" assert plan.get(Term(8, 0, Day.WED)).name == "Sysopy" assert plan.get(Term(9, 35, Day.THU)).name == "Sysopy" assert plan.get(Term(11, 15, Day.THU)).name == "Prog. Skrypt." assert plan.get(Term(12, 50, Day.THU)).name == "Prog. Skrypt." assert plan.get(Term(17, 50, Day.THU)).name == "Bezp. Sieci" assert plan.get(Term(9, 35, Day.FRI)).name == "Fizyka" assert plan.get(Term(11, 15, Day.FRI)).name == "Fizyka"
from DeanerySystem.lesson import Lesson from DeanerySystem.term import Term, to_hours_minutes from DeanerySystem.day import Day from DeanerySystem.timetable import Timetable1 from DeanerySystem.action import Action from DeanerySystem.timetable2 import Timetable2 from DeanerySystem.breakterm import Break przerwa = Break(Term(9, 30, None, 5)) przerwa2 = Break(Term(11, 5, None, 10)) przerwa3 = Break(Term(12, 45, None, 5)) przerwa4 = Break(Term(14, 20, None, 20)) przerwa5 = Break(Term(16, 10, None, 5)) przerwa6 = Break(Term(17, 45, None, 5)) przerwa7 = Break(Term(19, 20, None, 10)) # Test parsera komend def test_parser(): plan = Timetable2( [przerwa, przerwa2, przerwa3, przerwa4, przerwa5, przerwa6, przerwa7]) lista_polecen = ["d-", "d-", "t+", "t-", "d+", "t+", "t-"] lista_parsed = plan.parse(lista_polecen) lista_akcji = [Action.DAY_EARLIER, Action.DAY_EARLIER, Action.TIME_LATER, \ Action.TIME_EARLIER, Action.DAY_LATER, Action.TIME_LATER, Action.TIME_EARLIER] assert lista_parsed == lista_akcji def test_busy_put(): plan = Timetable2( [przerwa, przerwa2, przerwa3, przerwa4, przerwa5, przerwa6, przerwa7])
def test_put(self): plan = Timetable2([przerwa, przerwa2, przerwa3]) lesson = Lesson(Term(21, 30, Day.MON), "X", "X", 3) with self.assertRaises(ValueError) as context: plan.put(lesson)
from DeanerySystem.lesson import Lesson from DeanerySystem.term import Term, to_hours_minutes from DeanerySystem.day import Day from DeanerySystem.timetable import Timetable1 from DeanerySystem.action import Action plan = Timetable1() lesson = Lesson(Term(9, 30, Day.TUE), "Programowanie Skryptowe", "Stanisław Polak", 2) lesson2 = Lesson(Term(8, 0, Day.MON), "Kryptografia", "Pawel Topa", 2) lesson3 = Lesson(Term(17, 0, Day.THU), "Bezpieczenstwo Lokalnych sieci komputerowych", "Jacek Rzasa", 2) lesson4 = Lesson(Term(18, 30, Day.SAT), "Zajecia niestacjonarne", "Dr. Oetker", 2, False) plan.put(lesson) plan.put(lesson2) plan.put(lesson3) plan.put(lesson4) print(plan)
from DeanerySystem.lesson import Lesson from DeanerySystem.term import Term, to_hours_minutes from DeanerySystem.day import Day from DeanerySystem.timetable2 import Timetable2 from DeanerySystem.action import Action from DeanerySystem.breakterm import Break # Zaimportuj lekcje z pliku plan.txt lekcje = [] with open("plan.txt", "r") as file1: for line in file1: lekcja = line.strip().replace("\t", "").split(",") lesson = Lesson( Term(int(lekcja[0]), int(lekcja[1]), Day(int(lekcja[2]))), lekcja[3], lekcja[4], 2) lekcje.append(lesson) #Przerwy jak na normalnym podziale zajec przerwa = Break(Term(9, 30, None, 5)) przerwa2 = Break(Term(11, 5, None, 10)) przerwa3 = Break(Term(12, 45, None, 5)) przerwa4 = Break(Term(14, 20, None, 20)) przerwa5 = Break(Term(16, 10, None, 5)) przerwa6 = Break(Term(17, 45, None, 5)) przerwa7 = Break(Term(19, 20, None, 10)) plan = Timetable2( [przerwa, przerwa2, przerwa3, przerwa4, przerwa5, przerwa6, przerwa7]) print("Plan lekcji:") #Zapelnij plan lekcjami z pliku for lekcja in lekcje:
from DeanerySystem.lesson import Lesson from DeanerySystem.term import Term from DeanerySystem.day import Day lesson = Lesson(Term(9, 35, Day.TUE), "Programowanie skryptowe", "Stanisław Polak", 2) print(lesson)