예제 #1
0
    def testTraitRules(self):
        self.sheet.add_trait('Mental', {'name':'CockSmap'})
        self.assertRaises(IntegrityError, lambda: self.sheet.add_trait('Mental', {'name':'CockSmap'}))

        upload_sheet_for_user('mcmillan.gex', self.user)
        self.sheet = Sheet.objects.get(name__exact='Charles McMillan')
        self.assertRaises(IntegrityError, lambda: self.sheet.add_trait('Social', {'name': 'Commanding', 'value':2, 'note': ''}))
예제 #2
0
    def testExperienceAdd(self):
        upload_sheet_for_user('mcmillan.gex', self.user)
        self.imported_sheet = Sheet.objects.get(name__exact='Charles McMillan')
        self.sheet = Sheet.objects.create(
            name='Michele',
            player=self.user)
        for entry in self.imported_sheet.experience_entries.all().order_by('date'):
            copied_entry = deepcopy(entry)
            copied_entry.id = None
            copied_entry.earned = 0
            copied_entry.unspent = 0
            #print "(", entry.unspent, ",", entry.earned, ") ->", entry.change_type
            #print "(", copied_entry.unspent, ",", copied_entry.earned, ") ->", entry.change_type
            self.sheet.add_experience_entry(copied_entry)
            #for ee in self.sheet.experience_entries.all().order_by('date'):
            #    grapevine_ee = CrapvineExperienceEntry()
            #    grapevine_ee.read_attributes(dict((k, str(v)) for k,v in ee.__dict__.iteritems()))
            #    print grapevine_ee
            #grapevine_ee = CrapvineExperienceEntry()
            #grapevine_ee.read_attributes(dict((k, str(v)) for k,v in entry.__dict__.iteritems()))
            #print grapevine_ee

            #print "(", that_entry.unspent, ",", that_entry.earned, ") ->", entry.change_type
            that_entry = self.sheet.experience_entries.all().order_by('-date')[0]
            self.assertEquals(entry.unspent, that_entry.unspent)
            self.assertEquals(entry.earned, that_entry.earned)

        erf = [e.reason for e in self.sheet.experience_entries.all().order_by('date')]
        err = [e.reason for e in self.sheet.experience_entries.all().order_by('-date')]
        self.assertEquals(erf, list(reversed(err)), "Reversal of the experience entries is not identical")

        self.assertEquals(self.sheet.experience_unspent, 29)
        self.assertEquals(self.sheet.experience_earned, 390)
예제 #3
0
 def testExperienceOrdering(self):
     upload_sheet_for_user('mcmillan.gex', self.user)
     self.sheet = Sheet.objects.get(name__exact='Charles McMillan')
     erf = [e.reason for e in self.sheet.experience_entries.all().order_by('date')]
     err = [e.reason for e in self.sheet.experience_entries.all()]
     for i, reasons in enumerate(zip(erf, err)):
         self.assertEquals(reasons[0], reasons[1])
     self.assertEquals(erf, err)
예제 #4
0
    def testMcMillan(self):
        upload_sheet_for_user('mcmillan.gex', self.user)
        self.sheet = Sheet.objects.get(name__exact='Charles McMillan')
        entries = self.sheet.experience_entries.all().order_by('date')
        #for ee in entries:
        #    #grapevine_ee = CrapvineExperienceEntry(reason=ee.reason,
        #    #                              change=ee.change,
        #    #                              type=ee.change_type,
        #    #                              earned=ee.earned,
        #    #                              unspent=ee.unspent,
        #    #                              date=ee.date)
        #    grapevine_ee = CrapvineExperienceEntry()
        #    grapevine_ee.read_attributes(dict((k, str(v)) for k,v in ee.__dict__.iteritems()))
        #    print grapevine_ee
        self.assertEquals(entries[2].change, 2)
        self.assertEquals(entries[3].change, 0.5)
        self.assertEquals(entries[2].reason, "Attendance")
        self.assertEquals(entries[3].reason, "Workshop")

        self.assertEquals(self.sheet.experience_unspent, 29)
        self.assertEquals(self.sheet.experience_earned, 390)
예제 #5
0
 def setUp(self):
     self.user = User.objects.get(username__exact='Andre')
     upload_sheet_for_user('mcmillan.gex', self.user)