def _test_set_data_and_playback_states(self):
     bb = Blackboard()
     sim = DataSimulator( bb )
     
     reader = HDFReader();
      
     filename = filenames[5][0]
      
     # Reading two datafiles
     [ mat, frequencies, _ ] = reader.read(filename)       # Read data from first data file
     data = [ np.asarray( mat[i-1][ 1 ] ) for i in range(1,9) ]       # get data from selected channels
     patterns = ['/EEG/channel_%d' % (i) for i in range(1,9) ]
     
     interval = 1. / frequencies[ 1 ]  
     
     sim.set_simulation_data(data)
     sim.set_simulation_interval(interval)
     sim.set_patterns(patterns)
     
     self.assertEqual(sim.get_simulation_state(), DataSimulator.IDLE, "Simulator should be idle now")
     sim.start()
     time.sleep(.1)
     self.assertEqual(sim.get_simulation_state(), DataSimulator.PLAYING, "Simulator should be playing now")
     sim.pause()
     time.sleep(.1)
     self.assertEqual(sim.get_simulation_state(), DataSimulator.PAUSED, "Simulator should be paused now")
     sim.start()
     time.sleep(.1)
     self.assertEqual(sim.get_simulation_state(), DataSimulator.PLAYING, "Simulator should be playing now")
     sim.stop()
     time.sleep(.1)
     self.assertEqual(sim.get_simulation_state(), DataSimulator.IDLE, "Simulator should be stopped now")
 
     self.assertTrue(bb.get_count(patterns[0]) > 0, "Samples should be received on blackboard")
 def test_pause(self):
     '''
         Call the pause function to improve (functional) code coverage
     '''
     blackboard = Blackboard()
     simulator  = DataSimulator( blackboard )     
     
     simulator.set_state(self.states.get('PLAYING'))
     simulator.pause()
     self.assertEqual(simulator.get_simulation_state(), self.states.get('PAUSED'))
    def test_pause(self):
        '''
            Call the pause function to improve (functional) code coverage
        '''
        blackboard = Blackboard()
        simulator = DataSimulator(blackboard)

        simulator.set_state(self.states.get('PLAYING'))
        simulator.pause()
        self.assertEqual(simulator.get_simulation_state(),
                         self.states.get('PAUSED'))
    def _test_set_data_and_playback_states(self):
        bb = Blackboard()
        sim = DataSimulator(bb)

        reader = HDFReader()

        filename = filenames[5][0]

        # Reading two datafiles
        [mat, frequencies,
         _] = reader.read(filename)  # Read data from first data file
        data = [np.asarray(mat[i - 1][1])
                for i in range(1, 9)]  # get data from selected channels
        patterns = ['/EEG/channel_%d' % (i) for i in range(1, 9)]

        interval = 1. / frequencies[1]

        sim.set_simulation_data(data)
        sim.set_simulation_interval(interval)
        sim.set_patterns(patterns)

        self.assertEqual(sim.get_simulation_state(), DataSimulator.IDLE,
                         "Simulator should be idle now")
        sim.start()
        time.sleep(.1)
        self.assertEqual(sim.get_simulation_state(), DataSimulator.PLAYING,
                         "Simulator should be playing now")
        sim.pause()
        time.sleep(.1)
        self.assertEqual(sim.get_simulation_state(), DataSimulator.PAUSED,
                         "Simulator should be paused now")
        sim.start()
        time.sleep(.1)
        self.assertEqual(sim.get_simulation_state(), DataSimulator.PLAYING,
                         "Simulator should be playing now")
        sim.stop()
        time.sleep(.1)
        self.assertEqual(sim.get_simulation_state(), DataSimulator.IDLE,
                         "Simulator should be stopped now")

        self.assertTrue(
            bb.get_count(patterns[0]) > 0,
            "Samples should be received on blackboard")