Beispiel #1
0
 def test_cp(self):
     settings = {'min_cp': 5000, 'max_cp': 9000}
     raid_filter = Filters.RaidFilter('cp_filter', settings)
     for i in [5000, 8000, 9000]:
         event = Events.RaidEvent(generate_raid({'cp': i}))
         self.assertTrue(raid_filter.check_event(event))
     for i in [4999, 9001, 999999]:
         event = Events.RaidEvent(generate_raid({'cp': i}))
         self.assertFalse(raid_filter.check_event(event))
Beispiel #2
0
    def test_time_left(self):
        # Create the filters
        settings = {'min_time_left': 1000, 'max_time_left': 8000}
        raid_filter = Filters.RaidFilter('time_filter', settings)

        # Test events that should pass
        for s in [2000, 4000, 6000]:
            d = (datetime.now() + timedelta(seconds=s))
            t = time.mktime(d.timetuple())
            event = Events.RaidEvent(generate_raid({"end": t}))
            self.assertTrue(raid_filter.check_event(event))

        # Test events that should fail
        for s in [200, 999, 8001]:
            d = (datetime.now() + timedelta(seconds=s))
            t = time.mktime(d.timetuple())
            event = Events.RaidEvent(generate_raid({"end": t}))
            self.assertFalse(raid_filter.check_event(event))
Beispiel #3
0
    def test_custom_dts(self):
        # Create the filters
        settings = {"custom_dts": {"key1": "pass1"}}
        raid_filter = Filters.RaidFilter('filter1', settings)

        # Generate events that should pass
        pass1 = Events.RaidEvent(generate_raid({}))
        # Test passing events
        for e in [pass1]:
            self.assertTrue(raid_filter.check_event(e))
Beispiel #4
0
    def test_missing_info1(self):
        # Create the filters
        settings = {"max_dist": "inf", "is_missing_info": True}
        raid_filter = Filters.RaidFilter('filter1', settings)

        # Generate events that should pass
        pass1 = Events.RaidEvent(generate_raid({"dist": "Unknown"}))
        # Test passing events
        for e in [pass1]:
            self.assertTrue(raid_filter.check_event(e))
Beispiel #5
0
    def test_current_team(self):
        # Create the filters
        settings = {"current_teams": [1, "2", "Instinct"]}
        raid_filter = Filters.RaidFilter('filter1', settings)

        # Generate events that should pass
        pass1 = Events.RaidEvent(generate_raid({"team": 1}))
        pass2 = Events.RaidEvent(generate_raid({"team": 2}))
        pass3 = Events.RaidEvent(generate_raid({"team": 3}))
        # Test passing events
        for e in [pass1, pass2, pass3]:
            self.assertTrue(raid_filter.check_event(e))

        # Generate events that should fail
        fail1 = Events.RaidEvent(generate_raid({"team": 0}))

        # Test failing events
        for e in [fail1]:
            self.assertFalse(raid_filter.check_event(e))
Beispiel #6
0
    def test_raid_lvl(self):
        # Create the filters
        settings = {"min_raid_lvl": 2, "max_raid_lvl": 4}
        raid_filter = Filters.RaidFilter('filter1', settings)

        # Generate events that should pass
        pass1 = Events.RaidEvent(generate_raid({"level": 2}))
        pass2 = Events.RaidEvent(generate_raid({"level": 3}))
        pass3 = Events.RaidEvent(generate_raid({"level": 4}))
        # Test passing events
        for e in [pass1, pass2, pass3]:
            self.assertTrue(raid_filter.check_event(e))

        # Generate events that should fail
        fail1 = Events.RaidEvent(generate_raid({"level": 1}))
        fail2 = Events.RaidEvent(generate_raid({"level": 5}))

        # Test failing events
        for e in [fail1, fail2]:
            self.assertFalse(raid_filter.check_event(e))
Beispiel #7
0
    def test_missing_info2(self):
        # Create the filters
        settings = {"max_dist": "inf", "is_missing_info": False}
        raid_filter = Filters.RaidFilter('filter1', settings)

        # Generate events that should pass
        pass1 = Events.RaidEvent(generate_raid({}))
        pass1.distance = 1000

        # Test passing events
        for e in [pass1]:
            self.assertTrue(raid_filter.check_event(e))
Beispiel #8
0
    def test_egg_distance(self):
        # Create the filters
        settings = {"max_dist": "2000", "min_dist": "400"}
        raid_filter = Filters.RaidFilter('filter1', settings)

        # Generate events that should pass
        pass1 = Events.RaidEvent(generate_raid({}))
        pass1.distance = 1000
        pass2 = Events.RaidEvent(generate_raid({}))
        pass2.distance = 800
        pass3 = Events.RaidEvent(generate_raid({}))
        pass3.distance = 600

        # Test passing events
        for e in [pass1]:
            self.assertTrue(raid_filter.check_event(e))

        # Generate events that should fail
        fail1 = Events.RaidEvent(generate_raid({}))
        fail1.distance = 3000
        fail2 = Events.RaidEvent(generate_raid({}))
        fail2.distance = 300
        fail3 = Events.RaidEvent(generate_raid({}))
        fail3.distance = 0

        # Test failing events
        for e in [fail1, fail2, fail3]:
            self.assertFalse(raid_filter.check_event(e))
 def gen_event(self, values):
     """ Generate a generic raid, overriding with an specific values. """
     settings = {
         "gym_id": "OWNmOTFmMmM0YTY3NGQwYjg0Y2I1N2JlZjU4OWRkMTYuMTY=",
         "url": "???",
         "name": "Unknown",
         "description": "???",
         "pokemon_id": 150,
         "cp": 12345,
         "move_1": 123,
         "move_2": 123,
         "start": 1499244052,
         "end": 1499246052,
         "level": 5,
         "latitude": 37.7876146,
         "longitude": -122.390624,
         "sponsor": None,
         "park": None
     }
     settings.update(values)
     return Events.RaidEvent(settings)
Beispiel #10
0
    def test_charge_move(self):
        # Create the filters
        settings = {"charge_moves": [283, "14", "Solar Beam"]}
        raid_filter = Filters.RaidFilter('filter1', settings)

        # Generate events that should pass
        pass1 = Events.RaidEvent(generate_raid({"move_2": 283}))
        pass2 = Events.RaidEvent(generate_raid({"move_2": 14}))
        pass3 = Events.RaidEvent(generate_raid({"move_2": 116}))
        # Test passing events
        for e in [pass1, pass2, pass3]:
            self.assertTrue(raid_filter.check_event(e))

        # Generate events that should fail
        fail1 = Events.RaidEvent(generate_raid({"move_2": 200}))
        fail2 = Events.RaidEvent(generate_raid({"move_2": 201}))
        fail3 = Events.RaidEvent(generate_raid({"move_2": 202}))

        # Test failing events
        for e in [fail1, fail2, fail3]:
            self.assertFalse(raid_filter.check_event(e))
Beispiel #11
0
    def test_quick_move(self):
        # Create the filters
        settings = {"quick_moves": [225, "88", "Present"]}
        raid_filter = Filters.RaidFilter('filter1', settings)

        # Generate events that should pass
        pass1 = Events.RaidEvent(generate_raid({"move_1": 225}))
        pass2 = Events.RaidEvent(generate_raid({"move_1": 88}))
        pass3 = Events.RaidEvent(generate_raid({"move_1": 291}))
        # Test passing events
        for e in [pass1, pass2, pass3]:
            self.assertTrue(raid_filter.check_event(e))

        # Generate events that should fail
        fail1 = Events.RaidEvent(generate_raid({"move_1": 200}))
        fail2 = Events.RaidEvent(generate_raid({"move_1": 201}))
        fail3 = Events.RaidEvent(generate_raid({"move_1": 202}))

        # Test failing events
        for e in [fail1, fail2, fail3]:
            self.assertFalse(raid_filter.check_event(e))
Beispiel #12
0
    def test_monster_id(self):
        # Create the filters
        settings = {"monsters": [382, "383", "Rayquaza"]}
        raid_filter = Filters.RaidFilter('filter1', settings)

        # Generate events that should pass
        pass1 = Events.RaidEvent(generate_raid({"pokemon_id": 382}))
        pass2 = Events.RaidEvent(generate_raid({"pokemon_id": 383}))
        pass3 = Events.RaidEvent(generate_raid({"pokemon_id": 384}))
        # Test passing events
        for e in [pass1, pass2, pass3]:
            self.assertTrue(raid_filter.check_event(e))

        # Generate events that should fail
        fail1 = Events.RaidEvent(generate_raid({"pokemon_id": 20}))
        fail2 = Events.RaidEvent(generate_raid({"pokemon_id": 150}))
        fail3 = Events.RaidEvent(generate_raid({"pokemon_id": 301}))

        # Test failing events
        for e in [fail1, fail2, fail3]:
            self.assertFalse(raid_filter.check_event(e))
Beispiel #13
0
    def test_gym_names(self):
        # Create the filters
        settings = {"gym_name_contains": ["pass"]}
        raid_filter = Filters.RaidFilter('filter1', settings)

        # Generate events that should pass
        pass1 = Events.RaidEvent(generate_raid({"name": "pass1"}))
        pass2 = Events.RaidEvent(generate_raid({"name": "2pass"}))
        pass3 = Events.RaidEvent(generate_raid({"name": "3pass3"}))
        # Test passing events
        for e in [pass1, pass2, pass3]:
            self.assertTrue(raid_filter.check_event(e))

        # Generate events that should fail
        fail1 = Events.RaidEvent(generate_raid({"name": "fail1"}))
        fail2 = Events.RaidEvent(generate_raid({"name": "failpas"}))
        fail3 = Events.RaidEvent(generate_raid({"name": "pasfail"}))

        # Test failing events
        for e in [fail1, fail2, fail3]:
            self.assertFalse(raid_filter.check_event(e))