Ejemplo n.º 1
0
    def test_write_read_config(self):
        save_simulation_config(test_config, "ftest", True)

        loaded_sim_config = read_simulation_config("ftest")

        assert loaded_sim_config["max_turns"] == 27
Ejemplo n.º 2
0
                         default=100,
                         type=int,
                         help='Maximum number of turns for the simulation')
 cmd_parser.add_argument('--config_path',
                         default=None,
                         type=str,
                         help="""
                         Configuration file path. If specified, configuration file will be loaded from this path
                         """)
 args = cmd_parser.parse_args()
 if args.config_path is not None:
     raise NotImplementedError(
         'Code for directing to an alternative configuration'
         ' repository has not been implemented yet')
 # Load simulation configuration
 sim_config = read_simulation_config(args.config_name)
 # Instantiate client
 client = SimulationClient(get_database_string())
 # display initial grid
 grid = SimulationGrid(persistence=client, simulation_parameters=sim_config)
 print(
     display_simple_grid(client.get_animals_df(grid._sid),
                         grid_size=sim_config['grid_size']))
 for turn in range(args.max_turn):
     start_time = current_milli_time()
     grid.play_turn()
     print(''.join(['*'] * sim_config['grid_size'] * 2))
     print('Turn: {turn: ^{size}}'.format(turn=grid._sim_turn,
                                          size=sim_config['grid_size']))
     print()
     print(
Ejemplo n.º 3
0
import logging

from fish_bowl.dataio.persistence import SimulationClient, get_database_string
from fish_bowl.common.config_reader import read_simulation_config, save_simulation_config

_logger = logging.getLogger(__name__)

if __name__ == '__main__':
    logging.basicConfig(
        level=logging.INFO,
        format="%(asctime)s [%(levelname)s] %(filename)s:%(lineno)d:%(message)s"
    )
    client = SimulationClient(get_database_string())
    for config in ['simulation_config_1', 'simulation_config_2']:
        sim_config = read_simulation_config(config)
        client.init_simulation(**sim_config)