def test_CasPsfs(self): """ Tests for method `CasPsfs`. """ filename = "SiN_wPSFs_bG_T200nm.cas" filepath = resource_filename( __name__, "../../../test_data/casino3.x/PSFs/" + filename) if is_bad_file(filepath): raise SkipTest(filepath) casinoFile = File.File(filepath) versionRef = Version.SIM_OPTIONS_VERSION_3_3_0_0 versionStrRef = "3.3.0.0" version = casinoFile.getVersion() self.assertEqual(versionRef, version) versionStr = casinoFile._extractVersionString(version) self.assertEqual(versionStrRef, versionStr) optionsAdvancedPsfsSettings = casinoFile.getOptions( ).getOptionsAdvancedPsfsSettings() self.assertEqual(True, optionsAdvancedPsfsSettings.isGeneratingPSFs()) scanPointResults = casinoFile.getScanPointResults() self.assertEqual(False, scanPointResults[0].isPsfs()) self.assertEqual(None, scanPointResults[0].getPointSpreadFunctionMatrix()) filename = "SiN_wPSFs_wConserveData_bG_T200nm.cas" filepath = resource_filename( __name__, "../../../test_data/casino3.x/PSFs/" + filename) casinoFile = File.File(filepath) versionRef = Version.SIM_OPTIONS_VERSION_3_3_0_0 versionStrRef = "3.3.0.0" version = casinoFile.getVersion() self.assertEqual(versionRef, version) versionStr = casinoFile._extractVersionString(version) self.assertEqual(versionStrRef, versionStr) optionsAdvancedPsfsSettings = casinoFile.getOptions( ).getOptionsAdvancedPsfsSettings() self.assertEqual(True, optionsAdvancedPsfsSettings.isGeneratingPSFs()) scanPointResults = casinoFile.getScanPointResults() self.assertEqual(True, scanPointResults[0].isPsfs()) self.assertIsInstance( scanPointResults[0].getPointSpreadFunctionMatrix(), PointSpreadFunctionMatrix.PointSpreadFunctionMatrix)
def test_SimPsfs(self): """ Tests for method `SimPsfs`. """ filenames = [ "SiN_wPSFs_bG_T200nm.sim", "SiN_wPSFs_wConserveData_bG_T200nm.sim" ] for filename in filenames: filepath = resource_filename( __name__, "../../../test_data/casino3.x/PSFs/" + filename) if is_bad_file(filepath): raise SkipTest(filepath) casinoFile = File.File(filepath) versionRef = Version.SIM_OPTIONS_VERSION_3_3_0_0 versionStrRef = "3.3.0.0" version = casinoFile.getVersion() self.assertEqual(versionRef, version) versionStr = casinoFile._extractVersionString(version) self.assertEqual(versionStrRef, versionStr) optionsAdvancedPsfsSettings = casinoFile.getOptions( ).getOptionsAdvancedPsfsSettings() self.assertEqual(True, optionsAdvancedPsfsSettings.isGeneratingPSFs())
def test__readVersion(self): if is_bad_file(self.filepathSim): raise SkipTest casinoFile = File.File(self.filepathSim) file = casinoFile._open(self.filepathSim) version = casinoFile._readVersion(file) self.assertEqual(30107002, version)
def test_getFileType(self): if is_bad_file(self.filepathSim): raise SkipTest casinoFile = File.File(self.filepathSim) type = casinoFile.getFileType() self.assertEqual(File.SIMULATION_CONFIGURATIONS, type)
def test_init(self): if is_bad_file(self.filepathSim): raise SkipTest casinoFile = File.File(self.filepathSim) self.assertEqual(self.filepathSim, casinoFile.getFilepath())
def testReadCasFile(self): if is_bad_file(self.filepathSim): raise SkipTest casinoFile = File.File(self.filepathCas) casinoFile.open() self.assertEqual(30107002, casinoFile._version) self.assertEqual(1, casinoFile._numberSimulations)
def test__readExtension(self): if is_bad_file(self.filepathSim): raise SkipTest casinoFile = File.File(self.filepathSim) file = casinoFile._open(self.filepathSim) extension = casinoFile._readExtension(file) self.assertEqual(File.SIMULATION_CONFIGURATIONS, extension) file = open(self.filepathCas, 'rb') extension = casinoFile._readExtension(file) self.assertEqual(File.SIMULATION_RESULTS, extension)
def _extractData(self): casinoFile = File.File(self._filepath) casinoFile.open() assert 1 == casinoFile.getNumberSimulations() scanPointsResults = casinoFile.getScanPointResults() self._numberScanPoints = len(scanPointsResults) self._positions = [] self._intensities = {} for scanPointResults in scanPointsResults: position = scanPointResults.getPosition() self._positions.append(position) self._intensities[position] = self._getIntensity(scanPointResults)
def test_extractVersionString(self): if is_bad_file(self.filepathSim): raise SkipTest casinoFile = File.File(self.filepathSim) version = File.V30103040 versionStrRef = "3.1.3.40" versionStr = casinoFile._extractVersionString(version) self.assertEqual(versionStrRef, versionStr) version = File.V30103070 versionStrRef = "3.1.3.70" versionStr = casinoFile._extractVersionString(version) self.assertEqual(versionStrRef, versionStr) version = File.V30104060 versionStrRef = "3.1.4.60" versionStr = casinoFile._extractVersionString(version) self.assertEqual(versionStrRef, versionStr) version = File.V30107002 versionStrRef = "3.1.7.2" versionStr = casinoFile._extractVersionString(version) self.assertEqual(versionStrRef, versionStr)
def test_modifyRotationYZ_deg(self): testDataPath = get_current_module_path(__file__, "../../../test_data") sourceFilepath = os.path.join(testDataPath, "casino3.x/NoRotationY.sim") if is_bad_file(sourceFilepath): raise SkipTest if not os.path.isdir(self.temporaryDir): raise SkipTest rotationYRef_deg = 10.0 filename = "RotationY10.sim" destinationFilepath = os.path.join(self.temporaryDir, filename) shutil.copy2(sourceFilepath, destinationFilepath) casinoFile = CasinoFile.File(destinationFilepath, isModifiable=True) sample = casinoFile.getFirstSimulation().getSample() rotationY_deg = sample.getRotationY_deg() self.assertAlmostEqual(0.0, rotationY_deg) rotationZ_deg = sample.getRotationZ_deg() self.assertAlmostEqual(0.0, rotationZ_deg) sample.modifyRotationY_deg(rotationYRef_deg) del casinoFile casinoFile = CasinoFile.File(destinationFilepath, isModifiable=False) sample = casinoFile.getFirstSimulation().getSample() rotationY_deg = sample.getRotationY_deg() self.assertAlmostEqual(rotationYRef_deg, rotationY_deg) rotationZ_deg = sample.getRotationZ_deg() self.assertAlmostEqual(0.0, rotationZ_deg) del casinoFile rotationZRef_deg = 15.0 filename = "RotationZ15.sim" destinationFilepath = os.path.join(self.temporaryDir, filename) shutil.copy2(sourceFilepath, destinationFilepath) casinoFile = CasinoFile.File(destinationFilepath, isModifiable=True) sample = casinoFile.getFirstSimulation().getSample() rotationY_deg = sample.getRotationY_deg() self.assertAlmostEqual(0.0, rotationY_deg) rotationZ_deg = sample.getRotationZ_deg() self.assertAlmostEqual(0.0, rotationZ_deg) sample.modifyRotationZ_deg(rotationZRef_deg) del casinoFile casinoFile = CasinoFile.File(destinationFilepath, isModifiable=False) sample = casinoFile.getFirstSimulation().getSample() rotationY_deg = sample.getRotationY_deg() self.assertAlmostEqual(0.0, rotationY_deg) rotationZ_deg = sample.getRotationZ_deg() self.assertAlmostEqual(rotationZRef_deg, rotationZ_deg) del casinoFile rotationYRef_deg = 20.0 rotationZRef_deg = 35.0 filename = "RotationY20Z35.sim" destinationFilepath = os.path.join(self.temporaryDir, filename) shutil.copy2(sourceFilepath, destinationFilepath) casinoFile = CasinoFile.File(destinationFilepath, isModifiable=True) sample = casinoFile.getFirstSimulation().getSample() rotationY_deg = sample.getRotationY_deg() self.assertAlmostEqual(0.0, rotationY_deg) rotationZ_deg = sample.getRotationZ_deg() self.assertAlmostEqual(0.0, rotationZ_deg) sample.modifyRotationY_deg(rotationYRef_deg) sample.modifyRotationZ_deg(rotationZRef_deg) del casinoFile casinoFile = CasinoFile.File(destinationFilepath, isModifiable=False) sample = casinoFile.getFirstSimulation().getSample() rotationY_deg = sample.getRotationY_deg() self.assertAlmostEqual(rotationYRef_deg, rotationY_deg) rotationZ_deg = sample.getRotationZ_deg() self.assertAlmostEqual(rotationZRef_deg, rotationZ_deg) del casinoFile