Esempio n. 1
0
 def testContributions(self):
     self._conf.setDates(datetime(2004,1,1,9,0,tzinfo=timezone('UTC')),datetime(2004,1,5,10,0,tzinfo=timezone('UTC')))
     from MaKaC.conference import Session,Contribution,SessionSlot
     self._conf.setStartDate(datetime(2004,1,1,10,0,tzinfo=timezone('UTC')))
     self._conf.setEndDate(datetime(2005,1,1,10,0,tzinfo=timezone('UTC')))
     session1=Session()
     self._conf.addSession(session1)
     session1.setStartDate(datetime(2004,1,1,10,0,tzinfo=timezone('UTC')))
     session1.setDuration(hours=5,minutes=0)
     slot1=SessionSlot(session1)
     slot1.setDuration(hours=2,minutes=0)
     session1.addSlot(slot1)
     slot2=SessionSlot(session1)
     slot2.setDuration(hours=2,minutes=0)
     session1.addSlot(slot2)
     self.assert_(slot2.getStartDate()==datetime(2004,1,1,12,0,tzinfo=timezone('UTC')))
     c1,c2,c3=Contribution(),Contribution(),Contribution()
     session1.addContribution(c1)
     session1.addContribution(c2)
     session1.addContribution(c3)
     c1.setDuration(0,30)
     c2.setDuration(0,30)
     c3.setDuration(0,30)
     from MaKaC.errors import MaKaCError
     #self.assertRaises(MaKaCError,slot1.getSchedule().addEntry,c1.getSchEntry())
     slot1.getSchedule().addEntry(c1.getSchEntry())
     slot1.getSchedule().addEntry(c2.getSchEntry())
     slot1.getSchedule().addEntry(c3.getSchEntry())
     self.assert_(c1.getStartDate()==datetime(2004,1,1,10,0,tzinfo=timezone('UTC')))
     self.assert_(c2.getStartDate()==datetime(2004,1,1,10,30,tzinfo=timezone('UTC')))
     self.assert_(c3.getStartDate()==datetime(2004,1,1,11,0,tzinfo=timezone('UTC')))
     #slot2.getSchedule().addEntry(c1.getSchEntry())
     #self.assert_(c1.getStartDate()==datetime(2004,1,1,12,0,tzinfo=timezone('UTC')))
     #self.assert_(c2.getStartDate()==datetime(2004,1,1,10,30,tzinfo=timezone('UTC')))
     #self.assert_(c3.getStartDate()==datetime(2004,1,1,11,0,tzinfo=timezone('UTC')))
     from MaKaC.schedule import BreakTimeSchEntry
     b1=BreakTimeSchEntry()
     slot1.getSchedule().addEntry(b1)
     self.assert_(b1 in slot1.getSchedule().getEntries())
Esempio n. 2
0
 def testSlots(self):
     self._conf.setDates(datetime(2004,1,1,9,0,tzinfo=timezone('UTC')),datetime(2004,1,5,10,0,tzinfo=timezone('UTC')))
     session1=Session()
     session1.setStartDate(datetime(2004,1,1,9,0,tzinfo=timezone('UTC')))
     session1.setDuration(hours=10,minutes=0)
     self._conf.addSession(session1)
     slot1=SessionSlot(session1)
     slot1.setDuration(hours=2,minutes=0)
     session1.addSlot(slot1)
     self.assert_(slot1.getSessionSchEntry() in session1.getSchedule().getEntries())
     self.assert_(slot1.getStartDate()==session1.getStartDate())
     self.assert_(slot1.getDuration().seconds==7200)
     slot2=SessionSlot(session1)
     slot2.setDuration(hours=2,minutes=0)
     session1.addSlot(slot2)
     self.assert_(slot1.getSessionSchEntry()==session1.getSchedule().getEntries()[0])
     self.assert_(slot1.getStartDate()==session1.getStartDate())
     self.assert_(slot1.getDuration().seconds==7200)
     self.assert_(slot2.getSessionSchEntry()==session1.getSchedule().getEntries()[1])
     self.assert_(slot2.getStartDate()==datetime(2004,1,1,11,0,tzinfo=timezone('UTC')))
     self.assert_(slot2.getDuration().seconds==7200)
     slot2.setStartDate(datetime(2004,1,1,15,0,tzinfo=timezone('UTC')))
     self.assert_(slot1.getSessionSchEntry()==session1.getSchedule().getEntries()[0])
     self.assert_(slot1.getStartDate()==session1.getStartDate())
     self.assert_(slot1.getDuration().seconds==7200)
     self.assert_(slot2.getSessionSchEntry()==session1.getSchedule().getEntries()[1])
     self.assert_(slot2.getStartDate()==datetime(2004,1,1,15,0,tzinfo=timezone('UTC')))
     self.assert_(slot2.getDuration().seconds==7200)
     slot1.setStartDate(datetime(2004,1,1,10,0,tzinfo=timezone('UTC')))
     slot2.setStartDate(datetime(2004,1,1,9,0,tzinfo=timezone('UTC')))
     self.assert_(slot2.getStartDate()==datetime(2004,1,1,9,0,tzinfo=timezone('UTC')))
     #slot1.setStartDate(datetime(2004,1,1,11,0,tzinfo=timezone('UTC')))
     #slot2.setStartDate(datetime(2004,1,1,10,0,tzinfo=timezone('UTC')))
     self.assert_(slot1.getSessionSchEntry()==session1.getSchedule().getEntries()[1])
     self.assert_(slot1.getDuration().seconds==7200)
     self.assert_(slot2.getSessionSchEntry()==session1.getSchedule().getEntries()[0])
     self.assert_(slot2.getStartDate()==datetime(2004,1,1,9,0,tzinfo=timezone('UTC')))
     self.assert_(slot2.getDuration().seconds==7200)
Esempio n. 3
0
class TestPosterSchedule(unittest.TestCase):
    """Tests the schedule for posters like schedules management functions
    """

    def setUp( self ):
        a=Avatar()
        a.setId("creator")
        self._conf=Conference(a)
        self._conf.setTimezone('UTC')
        self._conf.setStartDate(datetime(2004,1,1,10,0,tzinfo=timezone('UTC')))
        self._conf.setEndDate(datetime(2004,1,1,13,0,tzinfo=timezone('UTC')))
        self._session=Session()
        self._session.setStartDate(datetime(2004,1,1,11,0,tzinfo=timezone('UTC')))
        self._session.setEndDate(datetime(2004,1,1,13,0,tzinfo=timezone('UTC')))
        self._conf.addSession(self._session)
        self._slot1=SessionSlot(self._session)
        self._slot1.setStartDate(datetime(2004,1,1,11,0,tzinfo=timezone('UTC')))
        self._slot1.setDuration(hours=1)
        self._session.addSlot(self._slot1)
        self._session.setScheduleType("poster")
        self._session.setContribDuration(1,0)

    def testBasic(self):
        #tests the basic adding of entries to a poster like timetable
        p1,p2,p3=Contribution(),Contribution(),Contribution()
        self._session.addContribution(p1)
        self._session.addContribution(p2)
        self._session.addContribution(p3)
        self._slot1.getSchedule().addEntry(p1.getSchEntry())
        self._slot1.getSchedule().addEntry(p2.getSchEntry())
        self._slot1.getSchedule().addEntry(p3.getSchEntry())
        self.assert_(p1.getDuration()==self._session.getContribDuration())
        self.assert_(p2.getDuration()==self._session.getContribDuration())
        self.assert_(p3.getDuration()==self._session.getContribDuration())
        self.assert_(p1.getStartDate()==self._slot1.getStartDate())
        self.assert_(p2.getStartDate()==self._slot1.getStartDate())
        self.assert_(p3.getStartDate()==self._slot1.getStartDate())
        self.assert_(p1.getSchEntry()==self._slot1.getSchedule().getEntries()[0])
        self.assert_(p2.getSchEntry()==self._slot1.getSchedule().getEntries()[1])
        self.assert_(p3.getSchEntry()==self._slot1.getSchedule().getEntries()[2])
        self._session.removeContribution(p2)
        self.assert_(p1.getDuration()==self._session.getContribDuration())
        self.assert_(p3.getDuration()==self._session.getContribDuration())
        self.assert_(p1.getStartDate()==self._slot1.getStartDate())
        self.assert_(p3.getStartDate()==self._slot1.getStartDate())
        self.assert_(p1.getSchEntry()==self._slot1.getSchedule().getEntries()[0])
        self.assert_(p3.getSchEntry()==self._slot1.getSchedule().getEntries()[1])

    def testStartDateNotChanging(self):
        #tests that changing the start date of an entry scheduled within a
        #   poster schedule has no effect
        p1=Contribution()
        self._session.addContribution(p1)
        self._slot1.getSchedule().addEntry(p1.getSchEntry())
        self.assert_(p1.getStartDate()==datetime(2004,1,1,11,0,tzinfo=timezone('UTC')))
        p1.setStartDate(datetime(2004,1,1,11,25,tzinfo=timezone('UTC')))
        self.assert_(p1.getStartDate()==datetime(2004,1,1,11,0,tzinfo=timezone('UTC')))

    def testChangeSlotStartDate(self):
        #checks that changing the start date of a slot changes all the entries'
        p1,p2=Contribution(),Contribution()
        self._session.addContribution(p1)
        self._session.addContribution(p2)
        self._slot1.getSchedule().addEntry(p1.getSchEntry())
        self._slot1.getSchedule().addEntry(p2.getSchEntry())
        self.assert_(p1.getStartDate()==datetime(2004,1,1,11,0,tzinfo=timezone('UTC')))
        self.assert_(p2.getStartDate()==datetime(2004,1,1,11,0,tzinfo=timezone('UTC')))
        self._slot1.setStartDate(datetime(2004,1,1,11,25,tzinfo=timezone('UTC')))