def __init__(self, personRepo, filename):
        '''
        Constructor for the class ActivityFileRepository.
        '''

        ActivityRepository.__init__(self)
        self.__filename = filename
        self.__personRepo = personRepo
        self.__separator = "|"
        self.__load_from_file()
Ejemplo n.º 2
0
 def setUp(self):
     self.L = ActivityRepository()
     self.p = Person(1, "John", "1", "A")
     self.q = Person(2, "Mary", "1", "B")
     self.a1 = Activity(self.p, "2015.12.20", "12:12", "Swimming")
     self.a2 = Activity(self.p, "2016.01.20", "12:12", "Swimming")
     self.a3 = Activity(self.q, "2015.12.21", "12:12", "Swimming")
     self.a4 = Activity(self.q, "2015.12.20", "10:12", "Reading")
     self.L.add(self.a1)
     self.L.add(self.a2)
     self.L.add(self.a3)
     self.L.add(self.a4)
Ejemplo n.º 3
0
def main():
    in_file = get_storage_preference()

    # Set repositories.
    if in_file:
        personRepo = PersonFileRepository("storage/people.txt")
        activityRepo = ActivityFileRepository(personRepo,
                                              "storage/activities.txt")
    else:
        personRepo = PersonRepository()
        activityRepo = ActivityRepository()

    # Set controllers.
    peopleCtrl = PeopleController(personRepo)
    activitiesCtrl = ActivitiesController(personRepo, activityRepo)
    statsCtrl = StatsController(personRepo, activityRepo)
    undoRedoCtrl = UndoRedoController(peopleCtrl, activitiesCtrl)

    # Set console.
    ui = Console(peopleCtrl, activitiesCtrl, statsCtrl, undoRedoCtrl)

    # Run everything.
    ui.run()

    # Store to files
    if in_file:
        personRepo.store()
        activityRepo.store()
    def setUp(self):
        pR = PersonRepository()
        self.L = ActivitiesController(pR, ActivityRepository())
        self.p = Person(1, "John", "1", "A")
        self.q = Person(2, "Mary", "1", "B")
        self.r = Person(3, "Carl", "1", "B")
        self.a1 = Activity(self.p, "2015.12.20", "12:12", "Swimming")
        self.a2 = Activity(self.p, "2016.01.20", "12:12", "Swimming")
        self.a3 = Activity(self.q, "2015.12.21", "12:12", "Swimming")
        self.a4 = Activity(self.q, "2015.12.20", "10:12", "Reading")

        pR.add(self.p)
        pR.add(self.q)
        self.L.add_activity(self.a1)
        self.L.add_activity(self.a2)
        self.L.add_activity(self.a3)
        self.L.add_activity(self.a4)
    def test_add_activity(self):
        pR = PersonRepository()
        L = ActivitiesController(pR, ActivityRepository())
        p = self.p
        q = self.q
        r = self.r
        pR.add(p)
        pR.add(q)

        L.add_activity(self.a1)
        self.assertEqual(L.number_of_activities(), 1)
        self.assertEqual(L.find_activity_by_position(0), self.a1)

        L.add_activity(self.a3)
        self.assertEqual(L.number_of_activities(), 2)
        self.assertEqual(L.find_activity_by_position(1), self.a3)

        self.assertRaises(NABException, L.add_activity,
                          Activity(r, "2000.01.01", "12:12", "A"))
Ejemplo n.º 6
0
    def setUp(self):
        pR = PersonRepository()
        aR = ActivityRepository()
        self.L = StatsController(pR, aR)
        self.p = Person(1, "John", "1", "A")
        self.q = Person(2, "Mary", "1", "B")
        self.a1 = Activity(self.p, "2015.12.20", "12:12", "Swimming")
        self.a2 = Activity(self.p, "2016.01.20", "12:12", "Mapping")
        self.a3 = Activity(self.q, "2015.12.21", "12:12", "Swimming")
        self.a4 = Activity(self.q, "2015.12.20", "10:12", "Reading")

        pR.add(self.p)
        pR.add(self.q)
        aR.add(self.a1)
        aR.add(self.a2)
        aR.add(self.a3)
        aR.add(self.a4)
Ejemplo n.º 7
0
        settings.append(set)
        l += 1
    return settings


settings = readSettings()
if settings[0]["file_type"] == "memory":
    persRepo = PersonRepository()
    initListPers(persRepo)
if settings[0]["file_type"] == "text_file":
    persRepo = PersonTextFileRepo()
if settings[0]["file_type"] == "binary_file":
    persRepo = PersonBinaryRepo()

if settings[1]["file_type"] == "memory":
    actRepo = ActivityRepository()
    initListActs(actRepo)
if settings[1]["file_type"] == "text_file":
    actRepo = ActivityTextFileRepo()
if settings[1]["file_type"] == "binary_file":
    actRepo = ActivityBinaryRepo()

dayRepo = DayRepository()
#initListGen(persRepo)
#initListGenAct(persRepo, actRepo)
actPers = ActivitiesOfPerson(persRepo, actRepo)
dayController = DayController(dayRepo, actRepo)
persValidator = PersonValidator(persRepo)
actValidator = ActivityValidator(actRepo, persRepo)
undoController = UndoController()
actPersController = ActivitiesOfPersonController(actPers)
Ejemplo n.º 8
0
class ActivityRepositoryTestCase(unittest.TestCase):
    def setUp(self):
        self.L = ActivityRepository()
        self.p = Person(1, "John", "1", "A")
        self.q = Person(2, "Mary", "1", "B")
        self.a1 = Activity(self.p, "2015.12.20", "12:12", "Swimming")
        self.a2 = Activity(self.p, "2016.01.20", "12:12", "Swimming")
        self.a3 = Activity(self.q, "2015.12.21", "12:12", "Swimming")
        self.a4 = Activity(self.q, "2015.12.20", "10:12", "Reading")
        self.L.add(self.a1)
        self.L.add(self.a2)
        self.L.add(self.a3)
        self.L.add(self.a4)

    def test_add(self):
        L = ActivityRepository()
        p = self.p
        q = self.q
        a1 = self.a1
        a2 = self.a2
        a3 = self.a3
        a4 = self.a4

        self.assertEqual(len(L), 0)
        L.add(a1)
        self.assertEqual(len(L), 1)
        self.assertEqual(L.find(0), a1)
        L.add(a2)
        self.assertEqual(len(L), 2)
        self.assertEqual(L.find(0), a1)
        self.assertEqual(L.find(1), a2)
        L.add(a3)
        self.assertEqual(len(L), 3)
        self.assertEqual(L.find(0), a1)
        self.assertEqual(L.find(1), a3)
        self.assertEqual(L.find(2), a2)
        L.add(a4)
        self.assertEqual(len(L), 4)
        self.assertEqual(L.find(0), a4)
        self.assertEqual(L.find(1), a1)
        self.assertEqual(L.find(2), a3)
        self.assertEqual(L.find(3), a2)

    def test_find(self):
        L = self.L
        p = self.p
        q = self.q
        a1 = self.a1
        a2 = self.a2
        a3 = self.a3
        a4 = self.a4

        self.assertEqual(L.find(0), a4)
        self.assertEqual(L.find(1), a1)
        self.assertEqual(L.find(2), a3)
        self.assertEqual(L.find(3), a2)

    def test_find_by_person_id(self):
        L = self.L
        p = self.p
        q = self.q
        a1 = self.a1
        a2 = self.a2
        a3 = self.a3
        a4 = self.a4

        P = L.find_by_person_id(p.id)
        self.assertEqual(len(P), 2)
        self.assertEqual(P.find(0), a1)
        self.assertEqual(P.find(1), a2)

        P = L.find_by_person_id(q.id)
        self.assertEqual(len(P), 2)
        self.assertEqual(P.find(0), a4)
        self.assertEqual(P.find(1), a3)

        P = L.find_by_person_id(9)
        self.assertEqual(len(P), 0)

    def test_find_by_date(self):
        L = self.L
        p = self.p
        q = self.q
        a1 = self.a1
        a2 = self.a2
        a3 = self.a3
        a4 = self.a4

        P = L.find_by_date("2015.12.20")
        self.assertEqual(len(P), 2)
        self.assertEqual(P.find(0), a4)
        self.assertEqual(P.find(1), a1)

        P = L.find_by_date("2015.12.21")
        self.assertEqual(len(P), 1)
        self.assertEqual(P.find(0), a3)

        P = L.find_by_date("2015.05.17")
        self.assertEqual(len(P), 0)

    def test_find_by_time(self):
        L = self.L
        p = self.p
        q = self.q
        a1 = self.a1
        a2 = self.a2
        a3 = self.a3
        a4 = self.a4

        P = L.find_by_time("10:12")
        self.assertEqual(len(P), 1)
        self.assertEqual(P.find(0), a4)

        P = L.find_by_time("12:12")
        self.assertEqual(len(P), 3)
        self.assertEqual(P.find(0), a1)
        self.assertEqual(P.find(1), a3)
        self.assertEqual(P.find(2), a2)

        P = L.find_by_time("11:12")
        self.assertEqual(len(P), 0)

    def test_find_by_description(self):
        L = self.L
        p = self.p
        q = self.q
        a1 = self.a1
        a2 = self.a2
        a3 = self.a3
        a4 = self.a4

        P = L.find_by_description("Reading")
        self.assertEqual(len(P), 1)
        self.assertEqual(P.find(0), a4)

        P = L.find_by_description("Swimming")
        self.assertEqual(len(P), 3)
        self.assertEqual(P.find(0), a1)
        self.assertEqual(P.find(1), a3)
        self.assertEqual(P.find(2), a2)

        P = L.find_by_description("11:12")
        self.assertEqual(len(P), 0)

    def test_remove(self):
        L = self.L
        p = self.p
        q = self.q
        a1 = self.a1
        a2 = self.a2
        a3 = self.a3
        a4 = self.a4

        self.assertEqual(L.remove(0), a4)
        self.assertEqual(len(L), 3)

        self.assertEqual(L.remove(2), a2)
        self.assertEqual(len(L), 2)

    def test_remove_by_person_id(self):
        L = self.L
        p = self.p
        q = self.q
        a1 = self.a1
        a2 = self.a2
        a3 = self.a3
        a4 = self.a4

        L.remove_by_person_id(1)
        self.assertEqual(len(L), 2)
        self.assertEqual(len(L.find_by_person_id(1)), 0)

        L.remove_by_person_id(1)
        self.assertEqual(len(L), 2)
        self.assertEqual(len(L.find_by_person_id(1)), 0)

        L.remove_by_person_id(2)
        self.assertEqual(len(L), 0)
        self.assertEqual(len(L.find_by_person_id(2)), 0)
Ejemplo n.º 9
0
    def test_add(self):
        L = ActivityRepository()
        p = self.p
        q = self.q
        a1 = self.a1
        a2 = self.a2
        a3 = self.a3
        a4 = self.a4

        self.assertEqual(len(L), 0)
        L.add(a1)
        self.assertEqual(len(L), 1)
        self.assertEqual(L.find(0), a1)
        L.add(a2)
        self.assertEqual(len(L), 2)
        self.assertEqual(L.find(0), a1)
        self.assertEqual(L.find(1), a2)
        L.add(a3)
        self.assertEqual(len(L), 3)
        self.assertEqual(L.find(0), a1)
        self.assertEqual(L.find(1), a3)
        self.assertEqual(L.find(2), a2)
        L.add(a4)
        self.assertEqual(len(L), 4)
        self.assertEqual(L.find(0), a4)
        self.assertEqual(L.find(1), a1)
        self.assertEqual(L.find(2), a3)
        self.assertEqual(L.find(3), a2)