Skip to content
This repository has been archived by the owner on Apr 3, 2019. It is now read-only.

Commit

Permalink
Merge remote-tracking branch 'origin/feature/10391_moldyn_algorithm'
Browse files Browse the repository at this point in the history
  • Loading branch information
Harry Jeffery committed Nov 4, 2014
2 parents 6511764 + 7e1e612 commit 940d40e
Show file tree
Hide file tree
Showing 5 changed files with 84 additions and 74 deletions.
80 changes: 6 additions & 74 deletions SystemTests/AnalysisTests/ISISIndirectLoadAsciiTest.py
Expand Up @@ -6,7 +6,7 @@
class IN10SiliconTest(stresstesting.MantidStressTest):

def runTest(self):
import IndirectNeutron as Main
import IndirectNeutron as Main

instr = 'IN10'
ana = 'silicon'
Expand All @@ -18,7 +18,7 @@ def runTest(self):
saveOp = False
plotOp = False
Main.InxStart(instr,run,ana,refl,rejectZ,useM,'',verbOp,plotOp,saveOp)

def validate(self):
self.tolerance = 1e-2
self.disableChecking.append("Instrument")
Expand All @@ -28,7 +28,7 @@ def validate(self):
class IN13CaFTest(stresstesting.MantidStressTest):

def runTest(self):
import IndirectNeutron as Main
import IndirectNeutron as Main

instr = 'IN13'
ana = 'CaF'
Expand All @@ -40,7 +40,7 @@ def runTest(self):
saveOp = False
plotOp = False
Main.IN13Start(instr,run,ana,refl,rejectZ,useM,'',verbOp,plotOp,saveOp)

def validate(self):
self.tolerance = 1e-2

Expand All @@ -65,7 +65,7 @@ def checkWorkspacesMatch(self, ws1, ws2):
checker.setPropertyValue("Workspace2", ws2)
checker.setPropertyValue("Tolerance", str(self.tolerance))
checker.setPropertyValue("CheckInstrument","0")

checker.execute()

if checker.getPropertyValue("Result") != 'Success!':
Expand All @@ -78,7 +78,7 @@ def checkWorkspacesMatch(self, ws1, ws2):

#====================================================================================================
class IN16SiliconTest(stresstesting.MantidStressTest):

def runTest(self):
import IndirectNeutron as Main

Expand All @@ -99,71 +99,3 @@ def validate(self):
self.disableChecking.append("Instrument")
return 'IN16_65722_silicon111_red', 'ISISIndirectLoadAscii_IN16SiliconTest.nxs'


#====================================================================================================
class MolDynCdlTest(stresstesting.MantidStressTest):

def runTest(self):
from IndirectMolDyn import MolDynImport

filename = 'DISF_NaF.cdl'
funcNames = 'Fqt-total,Sqw-total'
verbOp = True
saveOp = False
plotOp = False

MolDynImport(filename,funcNames,verbOp,plotOp,saveOp)

def validate(self):
self.tolerance = 1e-2
self.disableChecking.append("Instrument")

from mantid.simpleapi import Load

Load(Filename='ISISIndirectLoadAscii_MolDynCDL.nxs',OutputWorkspace='ISISIndirectLoadAscii_MolDynCDL')
Load(Filename='ISISIndirectLoadAscii_MolDynCDL_SQW.nxs',OutputWorkspace='ISISIndirectLoadAscii_MolDynCDL_SQW')

# check each of the resulting workspaces match
ws1Match = self.checkWorkspacesMatch('DISF_NaF_Fqt-total', 'ISISIndirectLoadAscii_MolDynCDL')
ws2Match = self.checkWorkspacesMatch('DISF_NaF_Sqw-total', 'ISISIndirectLoadAscii_MolDynCDL_SQW')

return ( ws1Match and ws2Match )

# function to check two workspaces match
# Used when the result of a test produces more than a single workspace
def checkWorkspacesMatch(self, ws1, ws2):
from mantid.simpleapi import SaveNexus, AlgorithmManager
checker = AlgorithmManager.create("CheckWorkspacesMatch")
checker.setLogging(True)
checker.setPropertyValue("Workspace1", ws1)
checker.setPropertyValue("Workspace2", ws2)
checker.setPropertyValue("Tolerance", str(self.tolerance))
checker.setPropertyValue("CheckInstrument","0")

checker.execute()

if checker.getPropertyValue("Result") != 'Success!':
print self.__class__.__name__
SaveNexus(InputWorkspace=ws2,Filename=self.__class__.__name__+'-mismatch.nxs')
return False

return True

#====================================================================================================
class MolDynDatTest(stresstesting.MantidStressTest):

def runTest(self):
from IndirectMolDyn import MolDynText

filename = 'WSH_test.dat'
verbOp = True
saveOp = False
plotOp = False

MolDynText(filename,verbOp,plotOp,saveOp)

def validate(self):
self.tolerance = 1e-2
self.disableChecking.append("Instrument")

return 'WSH_test_iqt', 'ISISIndirectLoadAscii_MolDynDAT.nxs'
78 changes: 78 additions & 0 deletions SystemTests/AnalysisTests/ISISIndirectSimulationTest.py
@@ -0,0 +1,78 @@
import stresstesting
import os
from mantid.simpleapi import *

#====================================================================================================
class MolDynCdlTest(stresstesting.MantidStressTest):

def runTest(self):
from mantid.simpleapi import MolDyn

MolDyn(Filename='DISF_NaF.cdl',
Functions=['Fqt-total', 'Sqw-total'],
Verbose=True,
Plot='None',
Save=False,
OutputWorkspace='ISISIndirectSimulationTest_MolDynCdl')


def validate(self):
self.tolerance = 1e-2
self.disableChecking.append("Instrument")

from mantid.simpleapi import Load

Load(Filename='ISISIndirectSimulation_MolDynCDL.nxs',OutputWorkspace='ISISIndirectSimulation_MolDynCDL')
Load(Filename='ISISIndirectSimulation_MolDynCDL_SQW.nxs',OutputWorkspace='ISISIndirectSimulation_MolDynCDL_SQW')

# check each of the resulting workspaces match
ws1Match = self.checkWorkspacesMatch('DISF_NaF_Fqt-total', 'ISISIndirectSimulation_MolDynCDL')
ws2Match = self.checkWorkspacesMatch('DISF_NaF_Sqw-total', 'ISISIndirectSimulation_MolDynCDL_SQW')

return ( ws1Match and ws2Match )


def checkWorkspacesMatch(self, ws1, ws2):
"""
Function to check two workspaces match
Used when the result of a test produces more than a single workspace
"""

from mantid.simpleapi import SaveNexus, AlgorithmManager

checker = AlgorithmManager.create("CheckWorkspacesMatch")
checker.setLogging(True)
checker.setPropertyValue("Workspace1", ws1)
checker.setPropertyValue("Workspace2", ws2)
checker.setPropertyValue("Tolerance", str(self.tolerance))
checker.setPropertyValue("CheckInstrument","0")

checker.execute()

if checker.getPropertyValue("Result") != 'Success!':
print self.__class__.__name__
SaveNexus(InputWorkspace=ws2,Filename=self.__class__.__name__+'-mismatch.nxs')
return False

return True


#====================================================================================================
class MolDynDatTest(stresstesting.MantidStressTest):

def runTest(self):
from mantid.simpleapi import MolDyn

MolDyn(Filename='WSH_test.dat',
Verbose=True,
Plot='None',
Save=False,
OutputWorkspace='WSH_test_iqt')


def validate(self):
self.tolerance = 1e-2
self.disableChecking.append("Instrument")

return 'WSH_test_iqt', 'ISISIndirectSimulation_MolDynDAT.nxs'

0 comments on commit 940d40e

Please sign in to comment.