예제 #1
0
 def test_user_file_is_set_to_new_user_file_when_it_exists_and_is_different_from_orig_and_current(
         self):
     #Arrange
     user_files = self._create_minimal_user_files(3)
     new_user_file = user_files[0]
     current_user_file = user_files[1]
     original_user_file = user_files[2]
     original_settings, original_prop_man_settings = self._prepare_reducer(
         current_user_file=current_user_file,
         original_user_file=original_user_file)
     # Act
     reducer_address = str(ReductionSingleton().reference())
     bm.setUserFileInBatchMode(
         new_user_file=new_user_file,
         current_user_file=current_user_file,
         original_user_file=original_user_file,
         original_settings=original_settings,
         original_prop_man_settings=original_prop_man_settings)
     # Assert
     self.assertTrue(
         str(ReductionSingleton().reference()) != reducer_address,
         "The physical reducer should not change.")
     self.assertEqual(ReductionSingleton().user_settings.filename,
                      new_user_file,
                      "The reducer should use the new user file.")
     # Clean up
     self._delete_minimal_user_files(user_files)
예제 #2
0
 def test_user_file_is_set_to_original_when_new_user_file_does_not_exist(
         self):
     #Arrange
     user_files = self._create_minimal_user_files(3)
     new_user_file = ""  # Create an invalid new user file
     current_user_file = user_files[1]
     original_user_file = user_files[2]
     original_settings, original_prop_man_settings = self._prepare_reducer(
         current_user_file=current_user_file,
         original_user_file=original_user_file)
     # Act
     reducer_address = str(ReductionSingleton().reference())
     bm.setUserFileInBatchMode(
         new_user_file=new_user_file,
         current_user_file=current_user_file,
         original_user_file=original_user_file,
         original_settings=original_settings,
         original_prop_man_settings=original_prop_man_settings)
     # Assert
     self.assertTrue(
         str(ReductionSingleton().reference()) != reducer_address,
         ("The physical reducer should change."))
     self.assertEqual(ReductionSingleton().user_settings.filename,
                      original_user_file,
                      ("The reducer should use the original user file,"
                       "since we don't provide a valid new user file."))
     # Clean up
     self._delete_minimal_user_files(user_files)
예제 #3
0
 def test_reducer_is_not_reset_when_new_file_is_the_same_as_the_current_file(
         self):
     #Arrange
     user_files = self._create_minimal_user_files(3)
     new_user_file = user_files[1]
     current_user_file = user_files[1]
     original_user_file = user_files[2]
     original_settings, original_prop_man_settings = self._prepare_reducer(
         current_user_file=current_user_file,
         original_user_file=original_user_file)
     # Act
     reducer_address = str(ReductionSingleton().reference())
     bm.setUserFileInBatchMode(
         new_user_file=new_user_file,
         current_user_file=current_user_file,
         original_user_file=original_user_file,
         original_settings=original_settings,
         original_prop_man_settings=original_prop_man_settings)
     # Assert
     self.assertTrue(
         str(ReductionSingleton().reference()) == reducer_address,
         "The physical reducer should change.")
     self.assertEqual(ReductionSingleton().user_settings.filename,
                      current_user_file,
                      "The reducer should use the current user file.")
     # Clean up
     self._delete_minimal_user_files(user_files)
예제 #4
0
    def runTest(self):
        #here we are testing the LOQ setup
        ici.LOQ()
        #rear detector
        ici.Detector("main-detector-bank")
        #test batch mode, although only the analysis from the last line is checked
        # Find the file , this should really be in the BatchReduce reduction step

        f = open(self.csv_file, 'w')
        print >> f, "sample_sans,99630-add,output_as, %s" % self.output_file
        f.close()
        runnum = '99630'
        sansadd.add_runs((runnum, runnum), 'LOQ', '.RAW')

        ici.Set1D()
        ici.MaskFile('MASK.094AA')
        batch.BatchReduce(self.csv_file,
                          'nxs',
                          plotresults=False,
                          saveAlgs={'SaveNexus': 'nxs'})

        print ' reduction without'

        ici._refresh_singleton()

        ici.LOQ()
        ici.Detector("main-detector-bank")
        ici.Set1D()
        ici.MaskFile('MASK.094AA')
        LOQ99630 = Load(runnum)
        LOQ99630 += LOQ99630
        ici.AssignSample(LOQ99630, reload=False)
        self.result = ici.WavRangeReduction()
예제 #5
0
 def runTest(self):
     import SANSBatchMode as batch
     i.LOQ()
     i.MaskFile(MASKFILE)
     fit_settings = batch.BatchReduce(BATCHFILE,
                                      '.nxs',
                                      combineDet='merged',
                                      saveAlgs={})
예제 #6
0
 def runTest(self):
     import SANSBatchMode as batch
     i.SANS2D()
     i.MaskFile(MASKFILE)
     i.SetEventSlices("0.0-451, 5-10")
     fit_settings = batch.BatchReduce(BATCHFILE,
                                      '.nxs',
                                      saveAlgs={},
                                      combineDet='rear')
예제 #7
0
 def test_user_file_is_set_to_new_user_file_when_it_exists_but_reduction_dimensionality_remains_unchanged(self):
     #Arrange
     user_files = self._create_minimal_user_files(3)
     new_user_file = user_files[0]
     current_user_file = user_files[1]
     original_user_file = user_files[2]
     original_settings, original_prop_man_settings = self._prepare_reducer(current_user_file = current_user_file,
                                                                           original_user_file = original_user_file)
     ReductionSingleton().to_Q.output_type = "2D"
     # Act
     
     bm.setUserFileInBatchMode(new_user_file=new_user_file,
                               current_user_file=current_user_file,
                               original_user_file=original_user_file,
                               original_settings = original_settings,
                               original_prop_man_settings = original_prop_man_settings)
     # Assert
     self.assertTrue(ReductionSingleton().to_Q.output_type=="2D",
                     "The reducer should retain the same dimensionality.")
     # Clean up
     self._delete_minimal_user_files(user_files)
예제 #8
0
 def test_user_file_is_set_to_new_user_file_when_it_exists_but_reduction_dimensionality_remains_unchanged(self):
     #Arrange
     user_files = self._create_minimal_user_files(3)
     new_user_file = user_files[0]
     current_user_file = user_files[1]
     original_user_file = user_files[2]
     original_settings, original_prop_man_settings = self._prepare_reducer(current_user_file = current_user_file,
                                                                           original_user_file = original_user_file)
     ReductionSingleton().to_Q.output_type = "2D"
     # Act
     
     bm.setUserFileInBatchMode(new_user_file=new_user_file,
                               current_user_file=current_user_file,
                               original_user_file=original_user_file,
                               original_settings = original_settings,
                               original_prop_man_settings = original_prop_man_settings)
     # Assert
     self.assertTrue(ReductionSingleton().to_Q.output_type=="2D",
                     "The reducer should retain the same dimensionality.")
     # Clean up
     self._delete_minimal_user_files(user_files)
예제 #9
0
 def test_reducer_is_not_reset_when_new_file_is_the_same_as_the_current_file(self):
     #Arrange
     user_files = self._create_minimal_user_files(3)
     new_user_file = user_files[1]
     current_user_file = user_files[1]
     original_user_file = user_files[2]
     original_settings, original_prop_man_settings = self._prepare_reducer(current_user_file = current_user_file,
                                                                           original_user_file = original_user_file)
     # Act
     reducer_address= str(ReductionSingleton().reference())
     bm.setUserFileInBatchMode(new_user_file=new_user_file,
                               current_user_file=current_user_file,
                               original_user_file=original_user_file,
                               original_settings = original_settings,
                               original_prop_man_settings = original_prop_man_settings)
     # Assert
     self.assertTrue(str(ReductionSingleton().reference()) == reducer_address,
                     "The physical reducer should change.")
     self.assertEqual(ReductionSingleton().user_settings.filename, current_user_file,
                      "The reducer should use the current user file.")
     # Clean up
     self._delete_minimal_user_files(user_files)
예제 #10
0
    def runTest(self):
        self.initialization()

        self.checkFirstPart()

        import SANSBatchMode as batch

        self.applyGUISettings()

        fit_settings={'scale':1.0,'shift':0.0}
        fit_settings = batch.BatchReduce(BATCHFILE,'.nxs', saveAlgs={}, reducer=i.ReductionSingleton().reference(),combineDet='rear')

        self.checkFittingSettings(fit_settings)
예제 #11
0
 def test_user_file_is_set_to_new__user_file_when_it_exists_and_is_different_from_orig_and_current(self):
     #Arrange
     user_files = self._create_minimal_user_files(3)
     new_user_file = user_files[0]
     current_user_file = user_files[1]
     original_user_file = user_files[2]
     original_settings, original_prop_man_settings = self._prepare_reducer(current_user_file = current_user_file,
                                                                           original_user_file = original_user_file)
     # Act
     reducer_address= str(ReductionSingleton().reference())
     bm.setUserFileInBatchMode(new_user_file=new_user_file,
                               current_user_file=current_user_file,
                               original_user_file=original_user_file,
                               original_settings = original_settings,
                               original_prop_man_settings = original_prop_man_settings)
     # Assert
     self.assertTrue(str(ReductionSingleton().reference()) != reducer_address,
                     "The physical reducer should not change.")
     self.assertEqual(ReductionSingleton().user_settings.filename, new_user_file,
                      "The reducer should use the new user file.")
     # Clean up
     self._delete_minimal_user_files(user_files)
예제 #12
0
    def test_that_can_get_geometry_properties(self):
        LOQ()
        reducer = ReductionSingleton()
        geometry_settings = bm.get_geometry_properties(reducer)
        self.assertTrue("Geometry" in geometry_settings)
        self.assertTrue("SampleHeight" in geometry_settings)
        self.assertTrue("SampleWidth" in geometry_settings)
        self.assertTrue("SampleThickness" in geometry_settings)

        self.assertEqual(geometry_settings["Geometry"],  "Disc")
        self.assertEqual(geometry_settings["SampleHeight"],  1.)
        self.assertEqual(geometry_settings["SampleWidth"],  1.)
        self.assertEqual(geometry_settings["SampleThickness"],  1.)
예제 #13
0
    def test_that_can_get_geometry_properties(self):
        LOQ()
        reducer = ReductionSingleton()
        geometry_settings = bm.get_geometry_properties(reducer)
        self.assertTrue("Geometry" in geometry_settings)
        self.assertTrue("SampleHeight" in geometry_settings)
        self.assertTrue("SampleWidth" in geometry_settings)
        self.assertTrue("SampleThickness" in geometry_settings)

        self.assertTrue(geometry_settings["Geometry"] == "Disc")
        self.assertTrue(geometry_settings["SampleHeight"] == 1.)
        self.assertTrue(geometry_settings["SampleWidth"] == 1.)
        self.assertTrue(geometry_settings["SampleThickness"] == 1.)
예제 #14
0
 def test_user_file_is_set_to_original_when_new_user_file_does_not_exist(self):
     #Arrange
     user_files = self._create_minimal_user_files(3)
     new_user_file = "" # Create an invalid new user file
     current_user_file = user_files[1]
     original_user_file = user_files[2]
     original_settings, original_prop_man_settings = self._prepare_reducer(current_user_file = current_user_file,
                                                                           original_user_file = original_user_file)
     # Act
     reducer_address= str(ReductionSingleton().reference())
     bm.setUserFileInBatchMode(new_user_file=new_user_file,
                               current_user_file=current_user_file,
                               original_user_file=original_user_file,
                               original_settings = original_settings,
                               original_prop_man_settings = original_prop_man_settings)
     # Assert
     self.assertTrue(str(ReductionSingleton().reference()) != reducer_address,
                      ("The physical reducer should change."))
     self.assertEqual(ReductionSingleton().user_settings.filename, original_user_file,
                      ("The reducer should use the original user file,"
                       "since we don't provide a valid new user file."))
     # Clean up
     self._delete_minimal_user_files(user_files)
예제 #15
0
    def runTest(self):
        self.initialization()

        self.checkFirstPart()

        import SANSBatchMode as batch

        self.applyGUISettings()

        batch_path = FileFinder.getFullPath('sans2d_reduction_gui_batch.csv')
        fit_settings = batch.BatchReduce(
            batch_path,
            '.nxs',
            saveAlgs={},
            reducer=i.ReductionSingleton().reference(),
            combineDet='rear')

        self.checkFittingSettings(fit_settings)
예제 #16
0
 def runTest(self):
     import SANSBatchMode as batch
     i.SANS2D()
     i.MaskFile(MASKFILE)
     batch.BatchReduce(BATCHFILE, '.nxs', combineDet='rear')
예제 #17
0
 def runTest(self):
     import SANSBatchMode as batch
     i.SANS2D()
     i.MaskFile('MaskSANS2DReductionGUI.txt')
     batch_file = FileFinder.getFullPath('sans2d_reduction_gui_batch.csv')
     batch.BatchReduce(batch_file, '.nxs', combineDet='rear')
예제 #18
0
 def runTest(self):
     import SANSBatchMode as batch
     i.LOQ()
     i.MaskFile('MaskLOQData.txt')
     batch_file = FileFinder.getFullPath('loq_batch_mode_reduction.csv')
     batch.BatchReduce(batch_file, '.nxs', combineDet='merged', saveAlgs={})