本文整理汇总了Python中MaKaC.conference.Conference.addContribution方法的典型用法代码示例。如果您正苦于以下问题:Python Conference.addContribution方法的具体用法?Python Conference.addContribution怎么用?Python Conference.addContribution使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MaKaC.conference.Conference
的用法示例。
在下文中一共展示了Conference.addContribution方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: TestSubmissionPrivileges
# 需要导入模块: from MaKaC.conference import Conference [as 别名]
# 或者: from MaKaC.conference.Conference import addContribution [as 别名]
class TestSubmissionPrivileges(unittest.TestCase):
"""Tests different scenarios concerning the material submission privileges
"""
def setUp( self ):
self._creator=Avatar()
self._creator.setId("creator")
self._conf=Conference(self._creator)
sd=datetime(2004, 01, 01, 10, 00, tzinfo=timezone("UTC"))
ed=datetime(2004, 01, 05, 10, 00, tzinfo=timezone("UTC"))
self._conf.setDates(sd,ed)
def testBasic(self):
c1=Contribution()
self._conf.addContribution(c1)
av1,av2=Avatar(),Avatar()
av1.setId("1")
av2.setId("2")
self.assert_(not c1.canUserSubmit(av1))
self.assert_(not c1.canUserSubmit(av2))
self.assert_(len(c1.getSubmitterList())==0)
c1.grantSubmission(av1)
self.assert_(c1.canUserSubmit(av1))
self.assert_(not c1.canUserSubmit(av2))
self.assert_(len(c1.getSubmitterList())==1)
self.assert_(av1 in c1.getSubmitterList())
self.assert_(av2 not in c1.getSubmitterList())
c1.revokeSubmission(av2)
self.assert_(c1.canUserSubmit(av1))
self.assert_(not c1.canUserSubmit(av2))
self.assert_(len(c1.getSubmitterList())==1)
self.assert_(av1 in c1.getSubmitterList())
self.assert_(av2 not in c1.getSubmitterList())
c1.revokeSubmission(av1)
self.assert_(not c1.canUserSubmit(av1))
self.assert_(not c1.canUserSubmit(av2))
self.assert_(len(c1.getSubmitterList())==0)
def testAccContrib(self):
#tests that when a contribution comes from an accepted abstract the
# abstract submitters are also granted with submission privileges
# for the contribution
av1=Avatar()
av1.setId("1")
av2=Avatar()
av2.setId("2")
abs=self._conf.getAbstractMgr().newAbstract(av1)
abs.accept(self._creator,None,None)
c=abs.getContribution()
self.assert_(c.canUserSubmit(av1))
self.assert_(not c.canUserSubmit(av2))
c.grantSubmission(av2)
self.assert_(c.canUserSubmit(av1))
self.assert_(c.canUserSubmit(av2))
示例2: TestContributionSubmitterIndex
# 需要导入模块: from MaKaC.conference import Conference [as 别名]
# 或者: from MaKaC.conference.Conference import addContribution [as 别名]
class TestContributionSubmitterIndex(unittest.TestCase):
"""
"""
def setUp( self ):
self._creator = Avatar()
self._creator.setId("creator")
self._categ = Category()
self._conf=Conference(self._creator)
self._conf.setId('a')
self._conf.setTimezone('UTC')
self._categ._addConference(self._conf)
def testBasic(self):
c1,c2=Contribution(),Contribution()
av1,av2=Avatar(),Avatar()
av1.setId("1")
av2.setId("2")
self.assert_(len(self._conf.getContribsForSubmitter(av1))==0)
self.assert_(len(self._conf.getContribsForSubmitter(av2))==0)
self._conf.addContribution(c1)
self.assert_(len(self._conf.getContribsForSubmitter(av1))==0)
self.assert_(len(self._conf.getContribsForSubmitter(av2))==0)
c1.grantSubmission(av1)
self.assert_(len(self._conf.getContribsForSubmitter(av1))==1)
self.assert_(c1 in self._conf.getContribsForSubmitter(av1))
self.assert_(len(self._conf.getContribsForSubmitter(av2))==0)
c2.grantSubmission(av2)
self.assert_(len(self._conf.getContribsForSubmitter(av1))==1)
self.assert_(c1 in self._conf.getContribsForSubmitter(av1))
self.assert_(len(self._conf.getContribsForSubmitter(av2))==0)
self._conf.addContribution(c2)
self.assert_(len(self._conf.getContribsForSubmitter(av1))==1)
self.assert_(c1 in self._conf.getContribsForSubmitter(av1))
self.assert_(len(self._conf.getContribsForSubmitter(av2))==1)
self.assert_(c2 in self._conf.getContribsForSubmitter(av2))
c1.grantSubmission(av2)
self.assert_(len(self._conf.getContribsForSubmitter(av1))==1)
self.assert_(c1 in self._conf.getContribsForSubmitter(av1))
self.assert_(len(self._conf.getContribsForSubmitter(av2))==2)
self.assert_(c1 in self._conf.getContribsForSubmitter(av2))
self.assert_(c2 in self._conf.getContribsForSubmitter(av2))
c1.revokeSubmission(av2)
self.assert_(len(self._conf.getContribsForSubmitter(av1))==1)
self.assert_(c1 in self._conf.getContribsForSubmitter(av1))
self.assert_(len(self._conf.getContribsForSubmitter(av2))==1)
self.assert_(c1 not in self._conf.getContribsForSubmitter(av2))
self.assert_(c2 in self._conf.getContribsForSubmitter(av2))
self._conf.removeContribution(c2)
self.assert_(len(self._conf.getContribsForSubmitter(av1))==1)
self.assert_(c1 in self._conf.getContribsForSubmitter(av1))
self.assert_(len(self._conf.getContribsForSubmitter(av2))==0)
self.assert_(c1 not in self._conf.getContribsForSubmitter(av2))
self.assert_(c2 not in self._conf.getContribsForSubmitter(av2))
示例3: TestContributionInclusion
# 需要导入模块: from MaKaC.conference import Conference [as 别名]
# 或者: from MaKaC.conference.Conference import addContribution [as 别名]
class TestContributionInclusion( unittest.TestCase ):
def setUp( self ):
from MaKaC.user import Avatar
cr = Avatar()
cr.setId( "creator" )
from MaKaC.conference import Conference, Track
self._conf = Conference( cr )
self._track1 = Track()
self._track1.setId( "1" )
self._conf.addTrack( self._track1 )
def test( self ):
from MaKaC.conference import Contribution
contrib1 = Contribution()
self._conf.addContribution( contrib1 )
self._track1.addContribution( contrib1 )
self.assert_( self._track1.hasContribution( contrib1 ) )
self.assert_( contrib1.getTrack() == track1 )
self._track1.removeContribution( contrib1 )
self.assert_( not self._track1.hasContribution( contrib1 ) )
self.assert_( contrib1.getTrack() == None )
示例4: TestWithdrawal
# 需要导入模块: from MaKaC.conference import Conference [as 别名]
# 或者: from MaKaC.conference.Conference import addContribution [as 别名]
class TestWithdrawal(unittest.TestCase):
"""Tests different scenarios concerning the contribution withdrawal
"""
def setUp( self ):
self._creator=Avatar()
self._creator.setId("creator")
self._conf=Conference(self._creator)
self._conf.setTimezone('UTC')
sd=datetime(2004, 01, 01, 10, 00, tzinfo=timezone("UTC"))
ed=datetime(2004, 01, 05, 10, 00, tzinfo=timezone("UTC"))
self._conf.setDates(sd,ed)
def testBasicWithdrawal(self):
c1,c2=Contribution(),Contribution()
auth1,auth2=ContributionParticipation(),ContributionParticipation()
self._conf.addContribution(c1)
self._conf.addContribution(c2)
auth1.setFirstName("a")
auth1.setFamilyName("a")
auth1.setEmail("a")
auth2.setFirstName("b")
auth2.setFamilyName("b")
auth2.setEmail("b")
c1.addPrimaryAuthor(auth1)
c2.addPrimaryAuthor(auth2)
s1=Session()
sd=datetime(2004, 01, 01, 12, 00, tzinfo=timezone("UTC"))
ed=datetime(2004, 01, 01, 19, 00, tzinfo=timezone("UTC"))
s1.setDates(sd,ed)
slot1=SessionSlot(s1)
self._conf.addSession(s1)
s1.addSlot(slot1)
s1.addContribution(c1)
s1.addContribution(c2)
slot1.getSchedule().addEntry(c1.getSchEntry())
slot1.getSchedule().addEntry(c2.getSchEntry())
self.assert_(c1.isScheduled())
self.assert_(c2.isScheduled())
authIdx=self._conf.getAuthorIndex()
self.assert_(auth1 in authIdx.getParticipations()[0])
self.assert_(auth2 in authIdx.getParticipations()[1])
c1.withdraw(self._creator,"test")
self.assert_(not c1.isScheduled())
self.assert_(c2.isScheduled())
self.assert_(auth1 not in authIdx.getParticipations()[0])
self.assert_(auth2 in authIdx.getParticipations()[0])
auth1.setFirstName("aa")
self.assert_(auth1 not in authIdx.getParticipations()[0])
self.assert_(auth2 in authIdx.getParticipations()[0])
auth3,auth4=ContributionParticipation(),ContributionParticipation()
auth3.setFirstName("c")
auth3.setFamilyName("c")
auth3.setEmail("c")
auth4.setFirstName("d")
auth4.setFamilyName("d")
auth4.setEmail("d")
c1.addPrimaryAuthor(auth3)
c2.addPrimaryAuthor(auth4)
self.assert_(auth2 in authIdx.getParticipations()[0])
self.assert_(auth4 in authIdx.getParticipations()[1])
self.assertRaises(MaKaCError,slot1.getSchedule().addEntry,c1.getSchEntry())
示例5: TestSchedule
# 需要导入模块: from MaKaC.conference import Conference [as 别名]
# 或者: from MaKaC.conference.Conference import addContribution [as 别名]
class TestSchedule(unittest.TestCase):
"""Tests the schedule management functions
"""
def setUp( self ):
from MaKaC.user import Avatar
a = Avatar()
a.setId("creator")
from MaKaC.conference import Conference
self._conf = Conference( a )
self._conf.setTimezone('UTC')
def testTypeSetUp(self):
#test setting up the schedule type of a session works correctly
self._conf.setDates(datetime(2004,1,1,9,0,tzinfo=timezone('UTC')),datetime(2004,1,5,10,0,tzinfo=timezone('UTC')))
session=Session()
session.setStartDate(datetime(2004,1,1,9,0,tzinfo=timezone('UTC')))
session.setDuration(hours=10,minutes=0)
self._conf.addSession(session)
slot1=SessionSlot(session)
session.addSlot(slot1)
c1,c2,c3=Contribution(),Contribution(),Contribution()
session.addContribution(c1)
session.addContribution(c2)
session.addContribution(c3)
slot1.getSchedule().addEntry(c1.getSchEntry())
slot1.getSchedule().addEntry(c2.getSchEntry())
slot1.getSchedule().addEntry(c3.getSchEntry())
self.assert_(c1.getSchEntry()==slot1.getSchedule().getEntries()[0])
self.assert_(c2.getSchEntry()==slot1.getSchedule().getEntries()[1])
self.assert_(c3.getSchEntry()==slot1.getSchedule().getEntries()[2])
self.assert_(session.getScheduleType()=="standard")
self.assert_(slot1.getSchedule().__class__==conference.SlotSchedule)
session.setScheduleType("poster")
self.assert_(session.getScheduleType()=="poster")
self.assert_(slot1.getSchedule().__class__==conference.PosterSlotSchedule)
self.assert_(len(slot1.getSchedule().getEntries())==0)
def testSessionDates(self):
from MaKaC.conference import Session,SessionSlot, Conference
self._conf.setStartDate(datetime(2004,1,1,10,0,tzinfo=timezone('UTC')))
self._conf.setEndDate(datetime(2004,1,1,15,0,tzinfo=timezone('UTC')))
session1=Session()
session1.setStartDate(datetime(2004,1,1,10,0,tzinfo=timezone('UTC')))
session1.setEndDate(datetime(2004,1,1,15,0,tzinfo=timezone('UTC')))
self._conf.addSession(session1)
slot1=SessionSlot(session1)
slot1.setDuration(hours=2,minutes=0)
slot1.setStartDate(datetime(2004,1,1,10,0,tzinfo=timezone('UTC')))
session1.addSlot(slot1)
# ------- SESSIONS -------
# Session start date can not be bigger than the first slot start date
self.assertRaises(MaKaCError, session1.setStartDate, datetime(2004,1,1,12,0,tzinfo=timezone('UTC')))
# Session end date can not be prior than the last slot end date
self.assertRaises(MaKaCError, session1.setEndDate, datetime(2004,1,1,11,0,tzinfo=timezone('UTC')))
# Session duration must be bigger than zero.
self.assertRaises(MaKaCError, session1.setDuration, 0,0)
# Session start date can not be prior than the conference end date
#self.assertRaises(MaKaCError, session1.setStartDate, datetime(2004,1,1,9,0,tzinfo=timezone('UTC')))
# Session end date can not be bigger than the conference end date
#self.assertRaises(MaKaCError, session1.setEndDate, datetime(2004,1,1,15,1,tzinfo=timezone('UTC')))
# Session end date can not be bigger than the conference end date
#self.assertRaises(MaKaCError, session1.setDuration, 6,1)
# ------- SESSION SLOTS -------
self._conf.setStartDate(datetime(2004,1,1,10,0,tzinfo=timezone('UTC')))
self._conf.setEndDate(datetime(2004,1,1,15,0,tzinfo=timezone('UTC')))
session1.setStartDate(datetime(2004,1,1,10,0,tzinfo=timezone('UTC')))
session1.setEndDate(datetime(2004,1,1,15,0,tzinfo=timezone('UTC')))
# Session slot duration must be bigger than zero.
self.assertRaises(MaKaCError, slot1.setDuration, 0,0,0)
# Forbid to create a slot alogn several days
self._conf.setEndDate(datetime(2005,1,1,15,0,tzinfo=timezone('UTC')))
self.assertRaises(MaKaCError, slot1.setDuration, 1,0,1)
# Slot start date has to be between the session ones
#self.assertRaises(MaKaCError, slot1.setStartDate, datetime(2004,1,1,9,59,tzinfo=timezone('UTC')))
# Slot end date has to be between the session ones
#self.assertRaises(MaKaCError, slot1.setDuration, 0,5,1)
# If the duration is modified and any of the slot entries is affected then an excetpion is raised
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.schedule import BreakTimeSchEntry
b1=BreakTimeSchEntry()
slot1.getSchedule().addEntry(c1.getSchEntry())
slot1.getSchedule().addEntry(c2.getSchEntry())
slot1.getSchedule().addEntry(c3.getSchEntry())
self.assertRaises(MaKaCError, slot1.setDuration, 0,1,29)
# Check that the duration of the entries do not overpass the slot duration
slot1.setDuration(hours=1,minutes=30)
#self.assertRaises(MaKaCError,c3.setDuration,0,31)
c3.setDuration(0,30)
slot1.setDuration(hours=2,minutes=0)
slot1.getSchedule().addEntry(b1)
#self.assertRaises(MaKaCError,b1.setDuration,0,31)
#Check that entries start date is not less than owner start date
#.........这里部分代码省略.........
示例6: TestAuthorSearch
# 需要导入模块: from MaKaC.conference import Conference [as 别名]
# 或者: from MaKaC.conference.Conference import addContribution [as 别名]
class TestAuthorSearch(unittest.TestCase):
"""Tests the author search
"""
def setUp( self ):
self._creator = Avatar()
self._creator.setId("creator")
self._conf=Conference(self._creator)
self._conf.setTimezone('UTC')
def testBasicSearch(self):
c1=Contribution()
self._conf.addContribution(c1)
auth1,auth2=ContributionParticipation(),ContributionParticipation()
auth1.setFamilyName("a")
auth1.setFirstName("a")
auth2.setFamilyName("b")
auth2.setFirstName("b")
c1.addPrimaryAuthor(auth1)
c1.addPrimaryAuthor(auth2)
self.assert_(len(self._conf.getContribsMatchingAuth(""))==1)
self.assert_(len(self._conf.getContribsMatchingAuth("a"))==1)
self.assert_(c1 in self._conf.getContribsMatchingAuth("a"))
self.assert_(c1 in self._conf.getContribsMatchingAuth("B"))
self.assert_(len(self._conf.getContribsMatchingAuth("B"))==1)
auth3=ContributionParticipation()
auth3.setFamilyName("c")
auth3.setFirstName("c")
c1.addCoAuthor(auth3)
self.assert_(len(self._conf.getContribsMatchingAuth(""))==1)
self.assert_(len(self._conf.getContribsMatchingAuth("c"))==0)
def testAddAuthor(self):
c1=Contribution()
self._conf.addContribution(c1)
auth1,auth2=ContributionParticipation(),ContributionParticipation()
auth1.setFamilyName("a")
auth1.setFirstName("a")
auth2.setFamilyName("b")
auth2.setFirstName("b")
c1.addPrimaryAuthor(auth1)
self.assert_(len(self._conf.getContribsMatchingAuth(""))==1)
self.assert_(len(self._conf.getContribsMatchingAuth("a"))==1)
self.assert_(c1 in self._conf.getContribsMatchingAuth("a"))
c1.addPrimaryAuthor(auth2)
self.assert_(len(self._conf.getContribsMatchingAuth("b"))==1)
self.assert_(c1 in self._conf.getContribsMatchingAuth("b"))
c1.removePrimaryAuthor(auth1)
self.assert_(len(self._conf.getContribsMatchingAuth(""))==1)
self.assert_(len(self._conf.getContribsMatchingAuth("a"))==0)
self.assert_(c1 not in self._conf.getContribsMatchingAuth("a"))
self.assert_(len(self._conf.getContribsMatchingAuth("b"))==1)
self.assert_(c1 in self._conf.getContribsMatchingAuth("b"))
def testWithdrawnContrib(self):
#Withdrawn contributions authors must be searchable
c1=Contribution()
self._conf.addContribution(c1)
auth1=ContributionParticipation()
auth1.setFamilyName("a")
auth1.setFirstName("a")
c1.addPrimaryAuthor(auth1)
c1.withdraw(self._creator,"ll")
self.assert_(len(self._conf.getContribsMatchingAuth(""))==1)
self.assert_(len(self._conf.getContribsMatchingAuth("a"))==1)
self.assert_(c1 in self._conf.getContribsMatchingAuth("a"))
auth2=ContributionParticipation()
auth2.setFamilyName("b")
auth2.setFirstName("b")
c1.addPrimaryAuthor(auth2)
#self._conf.getContribsMatchingAuth("b")
#self.assert_(len(self._conf.getContribsMatchingAuth(""))==1)
#self.assert_(len(self._conf.getContribsMatchingAuth("b"))==1)
#self.assert_(c1 in self._conf.getContribsMatchingAuth("b"))
def testAuthorsWithSameName(self):
#one contribution could have 2 authors with the same name
c1=Contribution()
self._conf.addContribution(c1)
auth1=ContributionParticipation()
auth1.setFamilyName("a")
auth1.setFirstName("a")
c1.addPrimaryAuthor(auth1)
auth2=ContributionParticipation()
auth2.setFamilyName("a")
auth2.setFirstName("a")
c1.addPrimaryAuthor(auth2)
self.assert_(len(self._conf.getContribsMatchingAuth(""))==1)
self.assert_(len(self._conf.getContribsMatchingAuth("a"))==1)
self.assert_(c1 in self._conf.getContribsMatchingAuth("a"))
c1.removePrimaryAuthor(auth1)
self.assert_(len(self._conf.getContribsMatchingAuth(""))==1)
self.assert_(len(self._conf.getContribsMatchingAuth("a"))==1)
self.assert_(c1 in self._conf.getContribsMatchingAuth("a"))
示例7: TestAuthorIndex
# 需要导入模块: from MaKaC.conference import Conference [as 别名]
# 或者: from MaKaC.conference.Conference import addContribution [as 别名]
class TestAuthorIndex(unittest.TestCase):
"""Tests the author index
"""
def setUp( self ):
self._creator = Avatar()
self._creator.setId("creator")
self._categ = Category()
self._conf=Conference(self._creator)
self._conf.setId('a')
self._conf.setTimezone('UTC')
self._categ._addConference(self._conf)
def testBasicIndexing(self):
#Tests adding a contribution with some authors already on it
c1=Contribution()
self._conf.addContribution(c1)
auth1,auth2=ContributionParticipation(),ContributionParticipation()
auth1.setFirstName("hector")
auth1.setFamilyName("sanchez sanmartin")
auth1.setEmail("[email protected]")
auth2.setFirstName("jose benito")
auth2.setFamilyName("gonzalez lopez")
auth2.setEmail("[email protected]")
c1.addPrimaryAuthor(auth1)
c1.addPrimaryAuthor(auth2)
idx=self._conf.getAuthorIndex()
self.assert_(auth1 in idx.getParticipations()[1])
self.assert_(len(idx.getParticipations()[1])==1)
self.assert_(auth2 in idx.getParticipations()[0])
self.assert_(len(idx.getParticipations()[0])==1)
c2=Contribution()
self._conf.addContribution(c2)
auth3,auth4=ContributionParticipation(),ContributionParticipation()
auth3.setFirstName("hector")
auth3.setFamilyName("sanchez sanmartin")
auth3.setEmail("[email protected]")
auth4.setFirstName("jose benito")
auth4.setFamilyName("gonzalez lopez2")
auth4.setEmail("[email protected]")
c2.addPrimaryAuthor(auth3)
c2.addPrimaryAuthor(auth4)
#Tests removing a contribution from a conference updates the author
# index correctly
#self.assert_(auth3 in idx.getParticipations()[2])
#self.assert_(len(idx.getParticipations()[2])==2)
#self.assert_(auth4 in idx.getParticipations()[1])
#self.assert_(len(idx.getParticipations()[1])==1)
#self._conf.removeContribution(c2)
#self.assert_(auth1 in idx.getParticipations()[1])
#self.assert_(len(idx.getParticipations()[1])==1)
#self.assert_(auth2 in idx.getParticipations()[0])
#self.assert_(len(idx.getParticipations()[0])==1)
#Tests adding additional authors to a contribution which is already
# included in a conference updates the author index correctly
#auth5=ContributionParticipation()
#auth5.setFirstName("jean-yves")
#auth5.setFamilyName("le meur")
#auth5.setEmail("[email protected]")
#c1.addPrimaryAuthor(auth5)
#self.assert_(auth1 in idx.getParticipations()[2])
#self.assert_(len(idx.getParticipations()[2])==1)
#self.assert_(auth2 in idx.getParticipations()[0])
#self.assert_(len(idx.getParticipations()[0])==1)
#self.assert_(auth5 in idx.getParticipations()[1])
#self.assert_(len(idx.getParticipations()[1])==1)
#Tests removing authors from a contribution which is already
# included in a conference updates the author index correctly
#c1.removePrimaryAuthor(auth5)
#self.assert_(auth1 in idx.getParticipations()[1])
#self.assert_(len(idx.getParticipations()[1])==1)
#self.assert_(auth2 in idx.getParticipations()[0])
#self.assert_(len(idx.getParticipations()[0])==1)
def testChangesInAuthorData(self):
#Checks that changes in the author data updates the author index
# correctly
c1=Contribution()
self._conf.addContribution(c1)
auth1,auth2=ContributionParticipation(),ContributionParticipation()
auth1.setFirstName("zFN")
auth1.setFamilyName("zSN")
auth1.setEmail("zM")
auth2.setFirstName("AFN")
auth2.setFamilyName("ASN")
auth2.setEmail("aM")
c1.addPrimaryAuthor(auth1)
c1.addPrimaryAuthor(auth2)
idx=self._conf.getAuthorIndex()
self.assert_(auth1 in idx.getParticipations()[1])
self.assert_(len(idx.getParticipations()[1])==1)
self.assert_(auth2 in idx.getParticipations()[0])
self.assert_(len(idx.getParticipations()[0])==1)
auth2.setFamilyName("ZZSN")
self.assert_(auth1 in idx.getParticipations()[0])
self.assert_(len(idx.getParticipations()[0])==1)
self.assert_(auth2 in idx.getParticipations()[1])
self.assert_(len(idx.getParticipations()[1])==1)
示例8: TestContributionList
# 需要导入模块: from MaKaC.conference import Conference [as 别名]
# 或者: from MaKaC.conference.Conference import addContribution [as 别名]
class TestContributionList(unittest.TestCase):
"""Tests the contribution list functions
"""
def setUp( self ):
from MaKaC.user import Avatar
a = Avatar()
a.setId("creator")
from MaKaC.conference import Conference
self._conf=Conference(a)
self._conf.setTimezone('UTC')
self._conf.setDates(datetime(2000,1,1,tzinfo=timezone('UTC')),datetime(2020,1,1,tzinfo=timezone('UTC')))
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 )