12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- from django.test import TestCase
- from misago.acl import algebra
- class ComparisionsTests(TestCase):
- def test_greater(self):
- """greater permission wins test"""
- self.assertEqual(algebra.greater(1, 3), 3)
- self.assertEqual(algebra.greater(4, 2), 4)
- self.assertEqual(algebra.greater(2, 2), 2)
- self.assertEqual(algebra.greater(True, False), True)
- def test_greater_or_zero(self):
- """greater or zero permission wins test"""
- self.assertEqual(algebra.greater_or_zero(1, 3), 3)
- self.assertEqual(algebra.greater_or_zero(4, 2), 4)
- self.assertEqual(algebra.greater_or_zero(2, 2), 2)
- self.assertEqual(algebra.greater_or_zero(True, False), False)
- self.assertEqual(algebra.greater_or_zero(2, 0), 0)
- self.assertEqual(algebra.greater_or_zero(0, 0), 0)
- self.assertEqual(algebra.greater_or_zero(0, 120), 0)
- def test_lower(self):
- """lower permission wins test"""
- self.assertEqual(algebra.lower(1, 3), 1)
- self.assertEqual(algebra.lower(4, 2), 2)
- self.assertEqual(algebra.lower(2, 2), 2)
- self.assertEqual(algebra.lower(True, False), False)
- def test_lower_non_zero(self):
- """lower non-zero wins test"""
- self.assertEqual(algebra.lower_non_zero(1, 3), 1)
- self.assertEqual(algebra.lower_non_zero(0, 2), 2)
- self.assertEqual(algebra.lower_non_zero(1, 2), 1)
- self.assertEqual(algebra.lower_non_zero(0, 0), 0)
- class SumACLTests(TestCase):
- def test_sum_acls(self):
- """acls are summed"""
- test_acls = [
- {
- 'can_see': 0,
- 'can_hear': 0,
- 'max_speed': 10,
- 'min_age': 16,
- 'speed_limit': 50,
- },
- {
- 'can_see': 1,
- 'can_hear': 0,
- 'max_speed': 40,
- 'min_age': 20,
- 'speed_limit': 0,
- },
- {
- 'can_see': 0,
- 'can_hear': 1,
- 'max_speed': 80,
- 'min_age': 18,
- 'speed_limit': 40,
- },
- ]
- defaults = {
- 'can_see': 0,
- 'can_hear': 0,
- 'max_speed': 30,
- 'min_age': 18,
- 'speed_limit': 60,
- }
- acl = algebra.sum_acls(
- defaults,
- acls=test_acls,
- can_see=algebra.greater,
- can_hear=algebra.greater,
- max_speed=algebra.greater,
- min_age=algebra.lower,
- speed_limit=algebra.greater_or_zero
- )
- self.assertEqual(acl['can_see'], 1)
- self.assertEqual(acl['can_hear'], 1)
- self.assertEqual(acl['max_speed'], 80)
- self.assertEqual(acl['min_age'], 16)
- self.assertEqual(acl['speed_limit'], 0)
|