当前位置: 首页>>代码示例>>Python>>正文


Python Formula.add方法代码示例

本文整理汇总了Python中wouso.core.scoring.models.Formula.add方法的典型用法代码示例。如果您正苦于以下问题:Python Formula.add方法的具体用法?Python Formula.add怎么用?Python Formula.add使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在wouso.core.scoring.models.Formula的用法示例。


在下文中一共展示了Formula.add方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_post_challenge

# 需要导入模块: from wouso.core.scoring.models import Formula [as 别名]
# 或者: from wouso.core.scoring.models.Formula import add [as 别名]
    def test_post_challenge(self):
        # create an active challenge, with fake questions
        Formula.add('chall-warranty')
        Formula.add('chall-timer')
        category = Category.add('challenge')
        for i in range(Challenge.LIMIT + 1):
            q = Question.objects.create(text='text %s' % i, category=category, active=True)
            for j in range(5):
                Answer.objects.create(correct=j==1, question=q)
        chall = Challenge.create(user_from=self.challuser2, user_to=self.challuser)
        chall.accept()
        response = self.client.get('/api/challenge/{id}/'.format(id=chall.id))
        data = json.loads(response.content)

        self.assertTrue(data)
        self.assertEqual(data['status'], 'A')
        self.assertEqual(data['to'], self.challuser.user.username)
        self.assertEqual(len(data['questions']), Challenge.LIMIT)

        # attempt post
        data = {}
        for q in Question.objects.all():
            answers = []
            for a in q.correct_answers:
                answers.append(str(a.id))

            data[q.id] = ','.join(answers)

        response = self.client.post('/api/challenge/{id}/'.format(id=chall.id), data)
        self.assertEqual(response.status_code, 200)

        data = json.loads(response.content)

        self.assertTrue(data['success'])
        self.assertEqual(data['result']['points'], Challenge.LIMIT * 100)
开发者ID:ArmandNM,项目名称:wouso,代码行数:37,代码来源:tests.py

示例2: test_get_challenge

# 需要导入模块: from wouso.core.scoring.models import Formula [as 别名]
# 或者: from wouso.core.scoring.models.Formula import add [as 别名]
    def test_get_challenge(self):
        # create an active challenge
        Formula.add('chall-warranty')
        Formula.add('chall-timer')
        chall = Challenge.create(user_from=self.challuser2, user_to=self.challuser, ignore_questions=True)
        chall.accept()
        response = self.client.get('/api/challenge/{id}/'.format(id=chall.id))
        data = json.loads(response.content)

        self.assertTrue(data)
        self.assertEqual(data['status'], 'A')
        self.assertEqual(data['to'], self.challuser.user.username)
开发者ID:ArmandNM,项目名称:wouso,代码行数:14,代码来源:tests.py

示例3: test_list_active

# 需要导入模块: from wouso.core.scoring.models import Formula [as 别名]
# 或者: from wouso.core.scoring.models.Formula import add [as 别名]
    def test_list_active(self):
        response = self.client.get('/api/challenge/list/')

        self.assertEqual(response.status_code, 200)

        data = json.loads(response.content)
        self.assertFalse(data)

        # create an active challenge
        Formula.add('chall-warranty')
        chall = Challenge.create(user_from=self.challuser2, user_to=self.challuser, ignore_questions=True)
        response = self.client.get('/api/challenge/list/')
        data = json.loads(response.content)

        self.assertTrue(data)
        data = data[0]
        self.assertEqual(data['id'], chall.id)
开发者ID:ArmandNM,项目名称:wouso,代码行数:19,代码来源:tests.py

示例4: test_buy_spell

# 需要导入模块: from wouso.core.scoring.models import Formula [as 别名]
# 或者: from wouso.core.scoring.models.Formula import add [as 别名]
    def test_buy_spell(self):
         Coin.add('gold')
         Formula.add('buy-spell', expression="gold=-{price}")
         spell = Spell.objects.create(name='test-spell', available=True, price=10)
         player = User.objects.create_user('test', '[email protected]ro', password='test').get_profile()

         scoring.score_simple(player, 'gold', 100)
         self.assertEqual(player.coins['gold'], 100)

         response = self.client.get(reverse('bazaar_home'))
         self.assertTrue('test-spell' in response.content)

         self.client.login(username='test', password='test')
         response = self.client.get(reverse('bazaar_buy', kwargs={'spell': spell.id}))
         self.assertFalse('error' in response.content)

         player = Player.objects.get(user__username='test')
         self.assertEqual(player.coins['gold'], 90)
开发者ID:ArmandNM,项目名称:wouso,代码行数:20,代码来源:tests.py

示例5: setup

# 需要导入模块: from wouso.core.scoring.models import Formula [as 别名]
# 或者: from wouso.core.scoring.models.Formula import add [as 别名]
def setup():
    """ Prepare database for Scoring """
    for cc in CORE_POINTS:
        if not Coin.get(cc):
            Coin.add(cc, name=cc)
    # special case, gold is integer
    gold = Coin.get('gold')
    gold.integer = True
    gold.save()

    # iterate through games and register formulas
    for game in get_games():
        for formula in game.get_formulas():
            if not Formula.get(formula.id):
                Formula.add(formula)
    # add wouso formulas
    for formula in God.get_system_formulas():
        if not Formula.get(formula.id):
            Formula.add(formula)
开发者ID:LucianU,项目名称:wouso,代码行数:21,代码来源:sm.py

示例6: test_buy_spell

# 需要导入模块: from wouso.core.scoring.models import Formula [as 别名]
# 或者: from wouso.core.scoring.models.Formula import add [as 别名]
    def test_buy_spell(self):
        Coin.add("gold")
        Formula.add("buy-spell", definition="gold=-{price}")
        spell = Spell.objects.create(name="test-spell", available=True, price=10)
        player = User.objects.create_user("test", "[email protected]", password="test").get_profile()

        scoring.score_simple(player, "gold", 100)
        self.assertEqual(player.coins["gold"], 100)

        # TODO: interface test should not be here
        response = self.client.get(reverse("bazaar_home"))
        self.assertTrue("test-spell" in response.content)

        self.client.login(username="test", password="test")
        response = self.client.get(reverse("bazaar_buy", kwargs={"spell": spell.id}))
        self.assertFalse("error" in response.content)

        player = Player.objects.get(user__username="test")
        self.assertEqual(player.coins["gold"], 90)
开发者ID:tiriplicamihai,项目名称:wouso,代码行数:21,代码来源:tests.py

示例7: test_variable_timer

# 需要导入模块: from wouso.core.scoring.models import Formula [as 别名]
# 或者: from wouso.core.scoring.models.Formula import add [as 别名]
    def test_variable_timer(self):
        formula = Formula.add('chall-timer')
        formula.expression = 'tlimit=10'
        formula.save()

        self.assertEqual(scoring.timer(self.chall_user, ChallengeGame, 'chall-timer', level=self.chall_user.level_no), 10)

        formula.expression = 'tlimit={level}'
        formula.save()

        self.assertEqual(scoring.timer(self.chall_user, ChallengeGame, 'chall-timer', level=self.chall_user.level_no), self.chall_user.level_no)
开发者ID:ArmandNM,项目名称:wouso,代码行数:13,代码来源:tests.py

示例8: test_paralyze

# 需要导入模块: from wouso.core.scoring.models import Formula [as 别名]
# 或者: from wouso.core.scoring.models.Formula import add [as 别名]
    def test_paralyze(self):
        """
         Test if Paralyze spell works
        """
        Formula.add('chall-warranty')

        player = self._get_player()
        chall_user = player.get_extension(ChallengeUser)

        # Check if player can launch before spell is cast
        self.assertTrue(chall_user.can_launch())

        # Create and add spell to user
        paralyze = Spell.objects.create(name='challenge-cannot-challenge', available=True, price=10, percents=100, type='n')
        obs = PlayerSpellDue.objects.create(player=chall_user, source=chall_user, spell=paralyze, due=datetime.now() + timedelta(days=1))

        # Check if player has the modifier
        self.assertTrue(chall_user.magic.has_modifier('challenge-cannot-challenge'))

        # Player should not be able to launch challenge with Paralyze on
        self.assertFalse(chall_user.can_launch())
开发者ID:Sendroiu,项目名称:wouso,代码行数:23,代码来源:tests.py

示例9: test_first_login_points

# 需要导入模块: from wouso.core.scoring.models import Formula [as 别名]
# 或者: from wouso.core.scoring.models.Formula import add [as 别名]
    def test_first_login_points(self):
        f = Formula.add('start-points', formula='points=10')
        Coin.add('points')
        player = self._get_player()

        self.assertEqual(player.points, 0)

        # this won't work, since the activity is sent in our custom view
        #self.client.login(username=player.user.username, password='test')
        # using this instead
        signals.addActivity.send(sender=None, user_from=player, action="login", game = None, public=False)

        player = Player.objects.get(pk=player.pk)
        self.assertEqual(player.points, 10)
开发者ID:TomyRO,项目名称:wouso,代码行数:16,代码来源:tests.py

示例10: test_bazaar_buy_ok

# 需要导入模块: from wouso.core.scoring.models import Formula [as 别名]
# 或者: from wouso.core.scoring.models.Formula import add [as 别名]
    def test_bazaar_buy_ok(self):
        spell = Spell.objects.create(price=0)
        f = Formula.add('buy-spell')
        f.expression = 'points=0'
        f.save()
        Coin.add('points')

        response = self.client.post('/api/bazaar/buy/', {'spell': spell.id})

        self.assertEqual(response.status_code, 200)
        data = json.loads(response.content)

        self.assertTrue(data)
        self.assertTrue(data['success'])

        player = self.user.get_profile()

        self.assertTrue(spell in [s.spell for s in player.magic.spells_available])
开发者ID:ArmandNM,项目名称:wouso,代码行数:20,代码来源:tests.py


注:本文中的wouso.core.scoring.models.Formula.add方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。