Пример #1
0
class TestPlayer(unittest.TestCase):

    def setUp(self):
        self.player_1_id = ObjectId()
        self.player_1_name = 'gaR'
        self.player_1_aliases = ['gar', 'garr', 'garpr']
        self.player_1_rating = {
            'norcal': Rating(),
            'texas': Rating(mu=10., sigma=1.)
        }
        self.player_1_regions = ['norcal', 'texas']

        self.player_2_id = ObjectId()
        self.player_2_name = 'MIOM | SFAT'
        self.player_2_aliases = ['miom | sfat', 'sfat', 'miom|sfat']
        self.player_2_rating = {'norcal': Rating(mu=30., sigma=2.)}
        self.player_2_regions = ['norcal', 'socal']

        self.player_1 = Player(name=self.player_1_name,
                               aliases=self.player_1_aliases,
                               ratings=self.player_1_rating,
                               regions=self.player_1_regions,
                               id=self.player_1_id)
        self.player_1_missing_id = Player(name=self.player_1_name,
                                          aliases=self.player_1_aliases,
                                          ratings=self.player_1_rating,
                                          regions=self.player_1_regions)
        self.player_2 = Player(name=self.player_2_name,
                               aliases=self.player_2_aliases,
                               ratings=self.player_2_rating,
                               regions=self.player_2_regions,
                               id=self.player_2_id)

        self.player_1_json_dict = {
            '_id': self.player_1_id,
            'name': self.player_1_name,
            'aliases': self.player_1_aliases,
            'ratings': {region: rating.dump() for region, rating in self.player_1_rating.iteritems()},
            'regions': self.player_1_regions,
            'merge_children': [self.player_1_id],
            'merge_parent': None,
            'merged': False,
        }

        self.player_1_json_dict_missing_id = {
            'name': self.player_1_name,
            'aliases': self.player_1_aliases,
            'ratings': {region: rating.dump() for region, rating in self.player_1_rating.iteritems()},
            'regions': self.player_1_regions,
            'merge_children': [None],
            'merge_parent': None,
            'merged': False,
        }

    def test_create_with_default_values(self):
        name = 'ASDF'
        region = 'r'

        player = Player.create_with_default_values(name, region)
        self.assertEqual(player.name, name)
        self.assertEqual(player.aliases, ['asdf'])
        self.assertEqual(player.ratings, {})
        self.assertEqual(player.regions, [region])

    def test_dump(self):
        self.assertEqual(self.player_1.dump(
            context='db'), self.player_1_json_dict)

    def test_load(self):
        self.assertEqual(self.player_1, Player.load(
            self.player_1_json_dict, context='db'))
Пример #2
0
class TestPlayer(unittest.TestCase):
    def setUp(self):
        self.player_1_id = ObjectId()
        self.player_1_name = 'gaR'
        self.player_1_aliases = ['gar', 'garr', 'garpr']
        self.player_1_rating = {
            'norcal': Rating(),
            'texas': Rating(mu=10., sigma=1.)
        }
        self.player_1_regions = ['norcal', 'texas']

        self.player_2_id = ObjectId()
        self.player_2_name = 'MIOM | SFAT'
        self.player_2_aliases = ['miom | sfat', 'sfat', 'miom|sfat']
        self.player_2_rating = {'norcal': Rating(mu=30., sigma=2.)}
        self.player_2_regions = ['norcal', 'socal']

        self.player_1 = Player(name=self.player_1_name,
                               aliases=self.player_1_aliases,
                               ratings=self.player_1_rating,
                               regions=self.player_1_regions,
                               id=self.player_1_id)
        self.player_1_missing_id = Player(name=self.player_1_name,
                                          aliases=self.player_1_aliases,
                                          ratings=self.player_1_rating,
                                          regions=self.player_1_regions)
        self.player_2 = Player(name=self.player_2_name,
                               aliases=self.player_2_aliases,
                               ratings=self.player_2_rating,
                               regions=self.player_2_regions,
                               id=self.player_2_id)

        self.player_1_json_dict = {
            '_id': self.player_1_id,
            'name': self.player_1_name,
            'aliases': self.player_1_aliases,
            'ratings': {
                region: rating.dump()
                for region, rating in self.player_1_rating.iteritems()
            },
            'regions': self.player_1_regions,
            'merge_children': [self.player_1_id],
            'merge_parent': None,
            'merged': False,
        }

        self.player_1_json_dict_missing_id = {
            'name': self.player_1_name,
            'aliases': self.player_1_aliases,
            'ratings': {
                region: rating.dump()
                for region, rating in self.player_1_rating.iteritems()
            },
            'regions': self.player_1_regions,
            'merge_children': [None],
            'merge_parent': None,
            'merged': False,
        }

    def test_create_with_default_values(self):
        name = 'ASDF'
        region = 'r'

        player = Player.create_with_default_values(name, region)
        self.assertEqual(player.name, name)
        self.assertEqual(player.aliases, ['asdf'])
        self.assertEqual(player.ratings, {})
        self.assertEqual(player.regions, [region])

    def test_dump(self):
        self.assertEqual(self.player_1.dump(context='db'),
                         self.player_1_json_dict)

    def test_load(self):
        self.assertEqual(self.player_1,
                         Player.load(self.player_1_json_dict, context='db'))