Skip to content

Commit

Permalink
Add IPeakFunctionTest.py. Refs #970
Browse files Browse the repository at this point in the history
  • Loading branch information
martyngigg committed Apr 19, 2013
1 parent ffd2e80 commit 2dab736
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ set ( TEST_PY_FILES
FunctionPropertyTest.py
IEventWorkspaceTest.py
IFunction1DTest.py
IPeakFunctionTest.py
IPeaksWorkspaceTest.py
ITableWorkspaceTest.py
JacobianTest.py
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
import unittest
from mantid.kernel import *
from mantid.api import *
import numpy as np

class MyPeak(IPeakFunction):

def init(self):
self.declareAttribute("Centre", 1)
self.declareAttribute("Height", 3.4)
self.declareAttribute("Width", 1.5)

def functionLocal(self, xvals):
return 5*xvals

class IPeakFunctionTest(unittest.TestCase):

def test_instance_can_be_created_standalone(self):
func = MyPeak()
self.assertTrue(isinstance(func, IPeakFunction))
self.assertTrue(isinstance(func, IFunction1D))

def test_instance_can_be_created_from_factory(self):
FunctionFactory.subscribe(MyPeak)
func_name = MyPeak.__name__
func = FunctionFactory.createFunction(func_name)
self.assertTrue(isinstance(func, IPeakFunction))
self.assertTrue(isinstance(func, IFunction1D))
FunctionFactory.unsubscribe(func_name)

def test_functionLocal_can_be_called_directly(self):
func = MyPeak()
func.initialize()
xvals=np.array([1.,2.,3.])
out = func.functionLocal(xvals)
self.assertEquals(3, out.shape[0])
self.assertEquals(5., out[0])
self.assertEquals(10., out[1])
self.assertEquals(15., out[2])

if __name__ == '__main__':
unittest.main()

0 comments on commit 2dab736

Please sign in to comment.