Ejemplo n.º 1
0
    def __init__(self, *args, **kwargs):
        super(TestLogin, self).__init__(*args, **kwargs)

        self.configuration = Configuration(
            general=General(total_threads=1,
                            login_udp_port=7456,
                            initial_state=ApplicationMode.e_RUN,
                            ports_pool=(12000, 12100)),
            blueprints=blueprints.DefaultBlueprints(),
            world=world.World(asteroids=world.Asteroids(asteroids=[
                world.Asteroid(position=world.Position(x=10000, y=10000),
                               radius=200,
                               composition={
                                   ResourceType.e_ICE: 20,
                                   ResourceType.e_SILICATES: 20,
                                   ResourceType.e_METALS: 20
                               })
            ])),
            players={
                'spy007':
                world.Player(login="******",
                             password="******",
                             ships=[
                                 default_ships.make_probe(
                                     name="scout-1",
                                     position=world.Position(100, 200))
                             ])
            })
Ejemplo n.º 2
0
    async def test_get_blueprints_list(self):
        db: blueprints.BlueprintsDB = blueprints.DefaultBlueprints()

        await self.system_clock_fast_forward(speed_multiplier=10)
        commutator, error = await self.login('player', "127.0.0.1")
        self.assertIsNotNone(commutator)
        self.assertIsNone(error)

        library: Optional[modules.BlueprintsLibrary] = \
            modules.BlueprintsLibrary.find(commutator)
        self.assertIsNotNone(library)

        # Get all blueprints
        status, blueprints_list = await library.get_blueprints_list()
        self.assertEqual(status, BlueprintsLibraryStatus.SUCCESS)
        self.assertIsNotNone(blueprints_list)

        # Check that all blueprints from DB exist in response
        type_to_names: Dict[str, List[str]] = {}
        for blueprint_id in db.blueprints:
            full_name = f"{blueprint_id.type.value}/{blueprint_id.name}"
            self.assertIn(full_name, blueprints_list)
            type_to_names\
                .setdefault(blueprint_id.type.value, [])\
                .append(full_name)

        # Get blueprints by type:
        for blueprint_type, names in type_to_names.items():
            status, blueprints_list = await library.get_blueprints_list(
                start_with=blueprint_type + "/")
            self.assertEqual(status, BlueprintsLibraryStatus.SUCCESS)
            self.assertIsNotNone(blueprints_list)
            self.assertEqual(set(names), set(blueprints_list))
Ejemplo n.º 3
0
    def __init__(self, *args, **kwargs):
        super(TestCase, self).__init__(*args, **kwargs)

        self.configuration = Configuration(
            general=General(total_threads=1,
                            login_udp_port=7456,
                            initial_state=ApplicationMode.e_FREEZE,
                            ports_pool=(12000, 12100)),
            blueprints=blueprints.DefaultBlueprints(),
            players={
                'player':
                world.Player(login="******",
                             password="******",
                             ships=[
                                 default_ships.make_station(
                                     name="SweetHome",
                                     position=world.Position(
                                         x=0, y=0, velocity=world.Vector(0,
                                                                         0)),
                                     warehouse=ResourceContainerState({
                                         ResourceType.e_METALS:
                                         200000,
                                         ResourceType.e_SILICATES:
                                         40000,
                                     }),
                                 ),
                             ])
            },
            world=world.World(),
        )
Ejemplo n.º 4
0
    def __init__(self, *args, **kwargs):
        super(TestNavigation, self).__init__(*args, **kwargs)

        self.configuration = Configuration(
            general=General(total_threads=1,
                            login_udp_port=7456,
                            initial_state=ApplicationMode.e_RUN,
                            ports_pool=(12000, 12100)),
            blueprints=blueprints.DefaultBlueprints(),
            world=world.World(),
            players={
                'spy007': world.Player(
                    login="******",
                    password="******",
                    ships=[
                        default_ships.make_probe(
                            name="scout-1",
                            position=world.Position(
                                x=100, y=200, velocity=world.Vector(100, -100))),
                        default_ships.make_probe(
                            name="scout-2",
                            position=world.Position(
                                x=-100, y=-200, velocity=world.Vector(-10, 20)))
                    ]
                )
            }
        )
    def __init__(self, *args, **kwargs):
        super(TestCase, self).__init__(*args, **kwargs)

        self.configuration = Configuration(
            general=General(total_threads=1,
                            login_udp_port=7456,
                            initial_state=ApplicationMode.e_FREEZE,
                            ports_pool=(12000, 12100)),
            blueprints=blueprints.DefaultBlueprints(),
            players={
                'oreman':
                world.Player(login="******",
                             password="******",
                             ships=[
                                 default_ships.make_miner(
                                     name="miner-1",
                                     position=world.Position(
                                         x=0, y=0, velocity=world.Vector(0,
                                                                         0))),
                             ])
            },
            world=world.World(asteroids=world.Asteroids(asteroids=[
                world.Asteroid(position=world.Position(x=10000, y=10000),
                               radius=200,
                               composition={
                                   world.ResourceType.e_ICE: 20,
                                   world.ResourceType.e_SILICATES: 20,
                                   world.ResourceType.e_METALS: 20
                               })
            ])),
        )
Ejemplo n.º 6
0
    def __init__(self, *args, **kwargs):
        super(TestCase, self).__init__(*args, **kwargs)

        self.configuration = Configuration(
            general=General(total_threads=1,
                            login_udp_port=7456,
                            initial_state=ApplicationMode.e_FREEZE,
                            ports_pool=(12000, 12100)),
            blueprints=blueprints.DefaultBlueprints(),
            world=world.World(),
            players={
                'spy007': world.Player(login="******",
                                       password="******",
                                       ships=[])
            })
Ejemplo n.º 7
0
    def __init__(self, *args, **kwargs):
        super(TestCase, self).__init__(*args, **kwargs)

        self.configuration = Configuration(
            general=General(total_threads=1,
                            login_udp_port=7456,
                            initial_state=ApplicationMode.e_RUN,
                            ports_pool=(12000, 12100)),
            blueprints=blueprints.DefaultBlueprints(),
            world=world.World(),
            players={
                'player':
                world.Player(login="******",
                             password="******",
                             ships=[
                                 default_ships.make_miner(
                                     name="miner-1",
                                     position=world.Position(
                                         x=0, y=0, velocity=world.Vector(0,
                                                                         0)),
                                     cargo=ResourceContainerState(
                                         content={
                                             ResourceType.e_SILICATES: 20000,
                                             ResourceType.e_METALS: 50000,
                                             ResourceType.e_ICE: 15000,
                                         })),
                                 default_ships.make_miner(
                                     name="miner-2",
                                     position=world.Position(
                                         x=10,
                                         y=10,
                                         velocity=world.Vector(0, 0)),
                                     cargo=ResourceContainerState(
                                         content={
                                             ResourceType.e_SILICATES: 5000,
                                             ResourceType.e_METALS: 5000,
                                             ResourceType.e_ICE: 10000,
                                         })),
                             ])
            },
        )
Ejemplo n.º 8
0
    async def test_get_blueprint(self):
        db: blueprints.BlueprintsDB = blueprints.DefaultBlueprints()

        await self.system_clock_fast_forward(speed_multiplier=10)
        commutator, error = await self.login('player', "127.0.0.1")
        self.assertIsNotNone(commutator)
        self.assertIsNone(error)

        library: Optional[modules.BlueprintsLibrary] = \
            modules.BlueprintsLibrary.find(commutator)
        self.assertIsNotNone(library)

        # Get blueprints list
        status, blueprints_list = await library.get_blueprints_list()
        self.assertEqual(status, BlueprintsLibraryStatus.SUCCESS)
        self.assertIsNotNone(blueprints_list)
        # Get each blueprint
        for blueprint_name in blueprints_list:
            status, blueprint_data = await library.get_blueprint(blueprint_name
                                                                 )
            self.assertIsNotNone(blueprint_data)
Ejemplo n.º 9
0
    def __init__(self, *args, **kwargs):
        super(TestCase, self).__init__(*args, **kwargs)

        self.configuration = Configuration(
            general=General(total_threads=1,
                            login_udp_port=7456,
                            initial_state=ApplicationMode.e_FREEZE,
                            ports_pool=(12000, 12100)),
            blueprints=blueprints.DefaultBlueprints(),
            players={
                'player':
                world.Player(login="******",
                             password="******",
                             ships=[
                                 default_ships.make_miner(
                                     name="miner",
                                     position=world.Position(
                                         x=0, y=0, velocity=world.Vector(0,
                                                                         0))),
                             ])
            },
            world=world.World(),
        )