Esempio n. 1
0
 def testSorting( self ):
     from MaKaC.conference import Contribution, ContributionType, Session, Track
     from MaKaC.webinterface.common import contribFilters
     from MaKaC.common.filters import SimpleFilter
     contrib1 = Contribution()
     contrib2 = Contribution()
     contrib3 = Contribution()
     self._conf.addContribution( contrib1 )
     self._conf.addContribution( contrib2 )
     self._conf.addContribution( contrib3 )
     # Sorting by ID
     sortingCrit = contribFilters.SortingCriteria( ["number"] )
     f = SimpleFilter( None, sortingCrit )
     contribList = f.apply(self._conf.getContributionList())
     self.assert_( len(contribList) == 3 )
     self.assert_( contribList[0] == contrib1 )
     self.assert_( contribList[1] == contrib2 )
     self.assert_( contribList[2] == contrib3 )
     #Sorting by Date
     contrib1.setStartDate(datetime(2004, 5, 1, 10, 30,tzinfo=timezone('UTC')))
     contrib2.setStartDate(datetime(2003, 5, 1, 10, 30,tzinfo=timezone('UTC')))
     sortingCrit = contribFilters.SortingCriteria( ["date"] )
     f = SimpleFilter( None, sortingCrit )
     contribList = f.apply(self._conf.getContributionList())
     self.assert_( len(contribList) == 3 )
     self.assert_( contribList[0] == contrib2 )
     self.assert_( contribList[1] == contrib1 )
     self.assert_( contribList[2] == contrib3 )
     # Sorting by Contribution Type
     contribType1 = ContributionType("oral presentation", "no description", self._conf)
     contribType2 = ContributionType("poster", "no description", self._conf)
     contrib1.setType(contribType1)
     contrib2.setType(contribType2)
     sortingCrit = contribFilters.SortingCriteria( ["type"] )
     f = SimpleFilter( None, sortingCrit )
     contribList = f.apply(self._conf.getContributionList())
     self.assert_( len(contribList) == 3 )
     self.assert_( contribList[0] == contrib1 )
     self.assert_( contribList[1] == contrib2 )
     self.assert_( contribList[2] == contrib3 )
     # Sorting by Session
     session1 = Session()
     self._conf.addSession(session1)
     session2 = Session()
     self._conf.addSession(session2)
     contrib1.setSession(session1)
     contrib2.setSession(session2)
     sortingCrit = contribFilters.SortingCriteria( ["session"] )
     f = SimpleFilter( None, sortingCrit )
     contribList = f.apply(self._conf.getContributionList())
     self.assert_( len(contribList) == 3 )
     self.assert_(contrib1 in contribList)
     self.assert_(contrib2 in contribList)
     self.assert_(contrib3 in contribList)
     # Sorting by Track
     track1 = Track()
     track1.setTitle("3")
     track1.setConference(self._conf)
     track2 = Track()
     track2.setTitle("1")
     track2.setConference(self._conf)
     contrib1.setTrack(track1)
     contrib2.setTrack(track2)
     sortingCrit = contribFilters.SortingCriteria( ["track"] )
     f = SimpleFilter( None, sortingCrit )
     contribList = f.apply(self._conf.getContributionList())
     self.assert_( len(contribList) == 3 )
     self.assert_( contribList[0] == contrib2 )
     self.assert_( contribList[1] == contrib1 )
     self.assert_( contribList[2] == contrib3 )