Skip to content
Snippets Groups Projects
Select Git revision
  • 57af6632e2e22174b7cf0e495eadb2ba7933284e
  • master default protected
  • git-ci-test
  • develop protected
  • docs_test
  • tvb_tests
  • arbor_test
  • v2
  • v2_dev
  • feature/improved_tests
  • feature/stimulation_backend
  • 1.1.0
  • 1.0.0
13 results

test_get_simulation_time_info.py

Blame
  • test_get_simulation_time_info.py 1.59 KiB
    import requests
    import pytest
    import time
    import numbers
    import math
    
    class NestSimulationTime:
        def __init__(self):
            self.current_time = 0.0
    
    @pytest.fixture(scope="session")
    def simulation_time(request):
        return NestSimulationTime()
    
    def test_simulation_time_info(nest_simulation, simulation_time):
        r = requests.get("http://localhost:18080/simulationTimeInfo")
        simulation_time_info = r.json()
    
        assert(r.status_code == 200)
    
        assert('stepSize' in simulation_time_info)
        assert(isinstance(simulation_time_info['stepSize'], numbers.Number))
        assert('current' in simulation_time_info)
        assert(isinstance(simulation_time_info['current'], numbers.Number))
        assert('begin' in simulation_time_info)
        assert(isinstance(simulation_time_info['begin'], numbers.Number))
        assert('end' in simulation_time_info)
        assert(isinstance(simulation_time_info['end'], numbers.Number))
    
        assert(simulation_time_info['begin'] <= simulation_time_info['current'])
        # assert(simulation_time_info['end'] >= simulation_time_info['current'])
    
        # In theory these should be true but due to floating point inaccuracies and bad default values for 'step_size' it is not
        # assert(math.fmod(simulation_time_info['current'], simulation_time_info['step_size']) == 0.0)
        # assert(math.fmod(simulation_time_info['begin'], simulation_time_info['step_size']) == 0.0)
        # assert(math.fmod(simulation_time_info['end'], simulation_time_info['step_size']) == 0.0)
    
        new_time = simulation_time_info['current']
        assert(simulation_time.current_time <= new_time)
        simulation_time.current_time = new_time