Ejemplo n.º 1
0
 def test_psydat_filename_collision_output2(self):
     # create conditions
     conditions = []
     for trialType in range(5):
         conditions.append({'trialType': trialType})
         # create trials
     trials = data.TrialHandler2(trialList=conditions,
                                 seed=100,
                                 nReps=3,
                                 method='fullRandom',
                                 autoLog=False)
     # simulate trials
     for thisTrial in trials:
         resp = 'resp' + str(thisTrial['trialType'])
         randResp = random(
         )  # a unique number so we can see which track orders
         trials.addData('resp', resp)
         trials.addData('rand', randResp)
     # test wide data outputs
     trials.saveAsWideText(pjoin(self.temp_dir, 'testFullRandom.csv'),
                           delim=',',
                           appendFile=False)
     # not currently testing this as column order won't match
     # (and we've removed the columns "ran" and "order")
     utils.compareTextFiles(pjoin(self.temp_dir, 'testFullRandom.csv'),
                            pjoin(fixturesPath, 'corrFullRandomTH2.csv'))
 def test_psydat_filename_collision_output(self):
     #create conditions
     conditions = []
     for trialType in range(5):
         conditions.append({'trialType': trialType})
         #create trials
     trials = data.TrialHandler(trialList=conditions,
                                seed=100,
                                nReps=3,
                                method='fullRandom')
     #simulate trials
     for thisTrial in trials:
         resp = 'resp' + str(thisTrial['trialType'])
         randResp = random(
         )  #a unique number so we can see which track orders
         trials.addData('resp', resp)
         trials.addData('rand', randResp)
     #test summarised data outputs
     trials.saveAsText(pjoin(self.temp_dir, 'testFullRandom.dlm'),
                       stimOut=['trialType'],
                       appendFile=False)  #this omits values
     utils.compareTextFiles(pjoin(self.temp_dir, 'testFullRandom.dlm'),
                            pjoin(fixturesPath, 'corrFullRandom.dlm'))
     #test wide data outputs
     trials.saveAsWideText(pjoin(self.temp_dir, 'testFullRandom.csv'),
                           delim=',',
                           appendFile=False)  #this omits values
     utils.compareTextFiles(pjoin(self.temp_dir, 'testFullRandom.csv'),
                            pjoin(fixturesPath, 'corrFullRandom.csv'))
 def test_random_data_output(self):
     #create conditions
     conditions = []
     for trialType in range(5):
         conditions.append({'trialType': trialType})
         #create trials
     trials = data.TrialHandler(trialList=conditions,
                                seed=100,
                                nReps=3,
                                method='random')
     #simulate trials
     for thisTrial in trials:
         resp = 'resp' + str(thisTrial['trialType'])
         trials.addData('resp', resp)
         trials.addData('rand', random())
     #test summarised data outputs
     trials.saveAsText(pjoin(self.temp_dir, 'testRandom.dlm'),
                       stimOut=['trialType'],
                       appendFile=False)  #this omits values
     utils.compareTextFiles(pjoin(self.temp_dir, 'testRandom.dlm'),
                            pjoin(fixturesPath, 'corrRandom.dlm'))
     #test wide data outputs
     trials.saveAsWideText(pjoin(self.temp_dir, 'testRandom.csv'),
                           delim=',',
                           appendFile=False)  #this omits values
     utils.compareTextFiles(pjoin(self.temp_dir, 'testRandom.csv'),
                            pjoin(fixturesPath, 'corrRandom.csv'))
Ejemplo n.º 4
0
    def test_random_data_output2(self):
        # create conditions
        conditions = []
        for trialType in range(5):
            conditions.append({'trialType': trialType})

        trials = data.TrialHandler2(trialList=conditions,
                                    seed=self.random_seed,
                                    nReps=3,
                                    method='random',
                                    autoLog=False)
        #simulate trials
        rng = np.random.RandomState(seed=self.random_seed)

        for thisTrial in trials:
            resp = 'resp' + str(thisTrial['trialType'])
            randResp = rng.rand()
            trials.addData('resp', resp)
            trials.addData('rand', randResp)

        # test wide data outputs
        trials.saveAsWideText(pjoin(self.temp_dir, 'testRandom.csv'),
                              delim=',',
                              appendFile=False)
        utils.compareTextFiles(pjoin(self.temp_dir, 'testRandom.csv'),
                               pjoin(fixturesPath, 'corrRandomTH2.csv'))
Ejemplo n.º 5
0
    def test_psydat_filename_collision_output(self):
        # create conditions
        conditions=[]
        for trialType in range(5):
            conditions.append({'trialType':trialType})

        trials= data.TrialHandlerExt(trialList=conditions,
                                     seed=self.random_seed,
                                     nReps=3, method='fullRandom',
                                     autoLog=False)
        # simulate trials
        rng = np.random.RandomState(seed=self.random_seed)

        for thisTrial in trials:
            resp = 'resp'+str(thisTrial['trialType'])
            randResp = rng.rand()
            trials.addData('resp', resp)
            trials.addData('rand', randResp)

        # test summarised data outputs              #this omits values
        trials.saveAsText(pjoin(self.temp_dir, 'testFullRandom.tsv'),
                          stimOut=['trialType'] ,appendFile=False)
        utils.compareTextFiles(pjoin(self.temp_dir, 'testFullRandom.tsv'),
                               pjoin(fixturesPath,'corrFullRandom.tsv'))
        # test wide data outputs                     #this omits values
        trials.saveAsWideText(pjoin(self.temp_dir, 'testFullRandom.csv'),
                              delim=',', appendFile=False)
        utils.compareTextFiles(pjoin(self.temp_dir, 'testFullRandom.csv'),
                               pjoin(fixturesPath,'corrFullRandom.csv'))
Ejemplo n.º 6
0
    def test_random_data_output(self):
        # create conditions
        conditions=[]
        for trialType in range(5):
            conditions.append({'trialType':trialType})

        trials= data.TrialHandlerExt(trialList=conditions, seed=100, nReps=3,
                                     method='random', autoLog=False)
        # simulate trials
        rng = np.random.RandomState(seed=self.random_seed)

        for thisTrial in trials:
            resp = 'resp'+str(thisTrial['trialType'])
            randResp = rng.rand()
            trials.addData('resp', resp)
            trials.addData('rand', randResp)

        # test summarised data outputs
        # this omits values
        trials.saveAsText(pjoin(self.temp_dir, 'testRandom.tsv'),
                          stimOut=['trialType'], appendFile=False)
        utils.compareTextFiles(pjoin(self.temp_dir, 'testRandom.tsv'),
                               pjoin(fixturesPath,'corrRandom.tsv'))
        # test wide data outputs
        trials.saveAsWideText(pjoin(self.temp_dir, 'testRandom.csv'),
                              delim=',', appendFile=False)  # this omits values
        utils.compareTextFiles(pjoin(self.temp_dir, 'testRandom.csv'),
                               pjoin(fixturesPath,'corrRandom.csv'))
Ejemplo n.º 7
0
 def test_multiKeyResponses(self):
     dat = fromFile(os.path.join(fixturesPath,'multiKeypressTrialhandler.psydat'))
     #test csv output
     dat.saveAsText(pjoin(self.temp_dir, 'testMultiKeyTrials.csv'), appendFile=False)
     utils.compareTextFiles(pjoin(self.temp_dir, 'testMultiKeyTrials.csv'), pjoin(fixturesPath,'corrMultiKeyTrials.csv'))
     #test xlsx output
     dat.saveAsExcel(pjoin(self.temp_dir, 'testMultiKeyTrials.xlsx'), appendFile=False)
     utils.compareXlsxFiles(pjoin(self.temp_dir, 'testMultiKeyTrials.xlsx'), pjoin(fixturesPath,'corrMultiKeyTrials.xlsx'))
Ejemplo n.º 8
0
    def test_multiKeyResponses(self):
        pytest.skip()  # temporarily; this test passed locally but not under travis, maybe PsychoPy version of the .psyexp??

        dat = fromFile(os.path.join(fixturesPath,'multiKeypressTrialhandler.psydat'))
        #test csv output
        dat.saveAsText(pjoin(self.temp_dir, 'testMultiKeyTrials.csv'), appendFile=False)
        utils.compareTextFiles(pjoin(self.temp_dir, 'testMultiKeyTrials.csv'), pjoin(fixturesPath,'corrMultiKeyTrials.csv'))
        #test xlsx output
        dat.saveAsExcel(pjoin(self.temp_dir, 'testMultiKeyTrials.xlsx'), appendFile=False)
        utils.compareXlsxFiles(pjoin(self.temp_dir, 'testMultiKeyTrials.xlsx'), pjoin(fixturesPath,'corrMultiKeyTrials.xlsx'))
Ejemplo n.º 9
0
    def test_multiKeyResponses(self):
        pytest.skip()  # temporarily; this test passed locally but not under travis, maybe PsychoPy version of the .psyexp??

        dat = fromFile(os.path.join(fixturesPath,'multiKeypressTrialhandler.psydat'))
        #test csv output
        dat.saveAsText(pjoin(self.temp_dir, 'testMultiKeyTrials.csv'), appendFile=False)
        utils.compareTextFiles(pjoin(self.temp_dir, 'testMultiKeyTrials.csv'), pjoin(fixturesPath,'corrMultiKeyTrials.csv'))
        #test xlsx output
        dat.saveAsExcel(pjoin(self.temp_dir, 'testMultiKeyTrials.xlsx'), appendFile=False)
        utils.compareXlsxFiles(pjoin(self.temp_dir, 'testMultiKeyTrials.xlsx'), pjoin(fixturesPath,'corrMultiKeyTrials.xlsx'))
 def test_multiKeyResponses(self):
     dat = misc.fromFile(
         os.path.join(fixturesPath, 'multiKeypressTrialhandler.psydat'))
     #test csv output
     dat.saveAsText(pjoin(self.temp_dir, 'testMultiKeyTrials.csv'),
                    appendFile=False)
     utils.compareTextFiles(pjoin(self.temp_dir, 'testMultiKeyTrials.csv'),
                            pjoin(fixturesPath, 'corrMultiKeyTrials.csv'))
     #test xlsx output
     dat.saveAsExcel(pjoin(self.temp_dir, 'testMultiKeyTrials.xlsx'),
                     appendFile=False)
     utils.compareXlsxFiles(pjoin(self.temp_dir, 'testMultiKeyTrials.xlsx'),
                            pjoin(fixturesPath, 'corrMultiKeyTrials.xlsx'))
Ejemplo n.º 11
0
 def test_random_data_output2(self):
     #create conditions
     conditions=[]
     for trialType in range(5):
         conditions.append({'trialType':trialType})
         #create trials
     trials= data.TrialHandler2(trialList=conditions, seed=100, nReps=3,
                               method='random', autoLog=False)
     #simulate trials
     for thisTrial in trials:
         resp = 'resp'+str(thisTrial['trialType'])
         trials.addData('resp', resp)
         trials.addData('rand',random())
     #test wide data outputs
     trials.saveAsWideText(pjoin(self.temp_dir, 'testRandom.csv'), delim=',', appendFile=False)
     # not currently testing this as column order won't match (and we've removed the columns "ran" and "order")
     utils.compareTextFiles(pjoin(self.temp_dir, 'testRandom.csv'), pjoin(fixturesPath,'corrRandomTH2.csv'))
 def test_all_components(self):
     """Test all component code outputs, except for Settings and Unknown"""
     for compName in self.allComp:
         if compName not in ['SettingsComponent', 'UnknownComponent']:
             # reset exp
             self.reset_experiment()
             # Add components
             self.add_components(compName)
             # Create output script
             self.create_component_output(compName)
             # Get correct script path
             correctPath = os.path.join(TESTS_DATA_PATH, "correctScript", "python", 'correct{}.py'.format(compName))
             # Compare files, raising assertions on fails above tolerance (%)
             try:
                 compareTextFiles('new{}.py'.format(compName), correctPath, tolerance=3)
             except IOError as err:
                 compareTextFiles('new{}.py'.format(compName), correctPath, tolerance=3)
Ejemplo n.º 13
0
 def test_psydat_filename_collision_output(self):
     #create conditions
     conditions=[]
     for trialType in range(5):
         conditions.append({'trialType':trialType})
         #create trials
     trials= data.TrialHandler(trialList=conditions, seed=100, nReps=3, method='fullRandom')
     #simulate trials
     for thisTrial in trials:
         resp = 'resp'+str(thisTrial['trialType'])
         randResp=random()#a unique number so we can see which track orders
         trials.addData('resp', resp)
         trials.addData('rand',randResp)
     #test summarised data outputs
     trials.saveAsText(pjoin(self.temp_dir, 'testFullRandom.dlm'), stimOut=['trialType'],appendFile=False)#this omits values
     utils.compareTextFiles(pjoin(self.temp_dir, 'testFullRandom.dlm'), pjoin(thisPath,'corrFullRandom.dlm'))
     #test wide data outputs
     trials.saveAsWideText(pjoin(self.temp_dir, 'testFullRandom.csv'), delim=',', appendFile=False)#this omits values
     utils.compareTextFiles(pjoin(self.temp_dir, 'testFullRandom.csv'), pjoin(thisPath,'corrFullRandom.csv'))
Ejemplo n.º 14
0
    def test_psydat_filename_collision_output2(self):
        # create conditions
        conditions=[]
        for trialType in range(5):
            conditions.append({'trialType':trialType})

        trials = data.TrialHandler2(trialList=conditions, seed=self.random_seed,
                                    nReps=3, method='fullRandom', autoLog=False)

        # simulate trials
        rng = np.random.RandomState(seed=self.random_seed)

        for thisTrial in trials:
            resp = 'resp' + str(thisTrial['trialType'])
            randResp = rng.rand()
            trials.addData('resp', resp)
            trials.addData('rand', randResp)

        # test wide data outputs
        trials.saveAsWideText(pjoin(self.temp_dir, 'testFullRandom.csv'),
                              delim=',', appendFile=False)
        utils.compareTextFiles(pjoin(self.temp_dir, 'testFullRandom.csv'),
                               pjoin(fixturesPath,'corrFullRandomTH2.csv'))
Ejemplo n.º 15
0
 def test_all_components(self):
     """Test all component code outputs, except for Settings and Unknown"""
     for compName in self.allComp:
         if compName not in ['SettingsComponent', 'UnknownComponent']:
             # reset exp
             self.reset_experiment()
             # Add components
             self.add_components(compName)
             # Create output script
             self.create_component_output(compName)
             # Get correct script path
             correctPath = os.path.join(TESTS_DATA_PATH, "correctScript",
                                        "python",
                                        'correct{}.py'.format(compName))
             # Compare files, raising assertions on fails above tolerance (%)
             try:
                 compareTextFiles('new{}.py'.format(compName),
                                  correctPath,
                                  tolerance=5)
             except IOError as err:
                 compareTextFiles('new{}.py'.format(compName),
                                  correctPath,
                                  tolerance=5)