Beispiel #1
0
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
Beispiel #2
0
 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)
Beispiel #3
0
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)
Beispiel #4
0
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
Beispiel #5
0
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
Beispiel #6
0
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
Beispiel #7
0
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)
Beispiel #8
0
def test_sub():
    assert (term3 - term1) == Term(8, 30, 165)
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)
Beispiel #10
0
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:
Beispiel #11
0
 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)
Beispiel #12
0
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:
Beispiel #13
0
 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)
Beispiel #14
0
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
Beispiel #15
0
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))
Beispiel #16
0
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"
Beispiel #17
0
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])
Beispiel #18
0
    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)
Beispiel #19
0
from DeanerySystem.term import Term

term1 = Term(8, 30)
term2 = Term(9, 45, 30)
term3 = Term(9, 45, 90)
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)                             # Ma się wypisać "8:30 [165]"
Beispiel #20
0
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)
Beispiel #21
0
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)