Skip to content

Commit 09fa456

Browse files
committed
Test ScatteringFactorTable.lookup with arrays argument.
1 parent 68eea41 commit 09fa456

1 file changed

Lines changed: 18 additions & 1 deletion

File tree

diffpy/srreal/tests/testscatteringfactortable.py

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44
"""
55

66

7-
import os
87
import unittest
98
import cPickle
9+
import numpy
1010

1111
from diffpy.srreal.scatteringfactortable import ScatteringFactorTable
1212

@@ -132,6 +132,23 @@ def test_derived_clone(self):
132132
self.assertEqual(set(['Xy']), lsft2.getCustomSymbols())
133133
return
134134

135+
def test_lookup(self):
136+
"""Check ScatteringFactorTable.lookup handling of array arguments.
137+
"""
138+
qa = numpy.linspace(0, 50)
139+
sftx = self.sftx
140+
fmn0 = numpy.array([sftx.lookup('Mn', x) for x in qa])
141+
fmn1 = sftx.lookup('Mn', qa)
142+
self.assertTrue(numpy.array_equal(fmn0, fmn1))
143+
self.assertTrue(numpy.array_equal(
144+
fmn0.reshape(5, 10), sftx.lookup('Mn', qa.reshape(5, 10))))
145+
self.assertTrue(numpy.array_equal(
146+
fmn0.reshape(5, 2, 5), sftx.lookup('Mn', qa.reshape(5, 2, 5))))
147+
self.assertTrue(numpy.array_equal(fmn0, sftx.lookup('Mn', list(qa))))
148+
self.assertRaises(TypeError, sftx.lookup, 'Na', 'asdf')
149+
self.assertRaises(TypeError, sftx.lookup, 'Na', {})
150+
return
151+
135152
# End of class TestScatteringFactorTable
136153

137154
if __name__ == '__main__':

0 commit comments

Comments
 (0)