class SpaceGroupBuilderTest(unittest.TestCase): def setUp(self): self.builder = SpaceGroupBuilder() def test_getSpaceGroupFromString_valid_no_exceptions(self): valid_new = {u'_space_group_name_h-m_alt': u'P m -3 m'} valid_old = {u'_symmetry_space_group_name_h-m': u'P m -3 m'} assertRaisesNothing(self, self.builder._getSpaceGroupFromString, cifData=valid_old) assertRaisesNothing(self, self.builder._getSpaceGroupFromString, cifData=valid_new) assertRaisesNothing(self, self.builder._getSpaceGroupFromString, cifData=merge_dicts(valid_new, valid_old)) def test_getSpaceGroupFromString_valid_correct_value(self): valid_new = {u'_space_group_name_h-m_alt': u'P m -3 m'} valid_old = {u'_symmetry_space_group_name_h-m': u'P m -3 m'} valid_old_different = {u'_symmetry_space_group_name_h-m': u'F d d d'} invalid_old = {u'_symmetry_space_group_name_h-m': u'invalid'} self.assertEqual(self.builder._getSpaceGroupFromString(valid_new), 'P m -3 m') self.assertEqual(self.builder._getSpaceGroupFromString(valid_old), 'P m -3 m') self.assertEqual(self.builder._getSpaceGroupFromString(merge_dicts(valid_new, valid_old)), 'P m -3 m') self.assertEqual(self.builder._getSpaceGroupFromString(merge_dicts(valid_new, valid_old_different)), 'P m -3 m') self.assertEqual(self.builder._getSpaceGroupFromString(merge_dicts(valid_new, invalid_old)), 'P m -3 m') def test_getSpaceGroupFromString_invalid(self): valid_old = {u'_symmetry_space_group_name_h-m': u'P m -3 m'} invalid_new = {u'_space_group_name_h-m_alt': u'invalid'} invalid_old = {u'_symmetry_space_group_name_h-m': u'invalid'} self.assertRaises(RuntimeError, self.builder._getSpaceGroupFromString, cifData={}) self.assertRaises(ValueError, self.builder._getSpaceGroupFromString, cifData=invalid_new) self.assertRaises(ValueError, self.builder._getSpaceGroupFromString, cifData=invalid_old) self.assertRaises(ValueError, self.builder._getSpaceGroupFromString, cifData=merge_dicts(invalid_new, valid_old)) def test_getCleanSpaceGroupSymbol(self): fn = self.builder._getCleanSpaceGroupSymbol self.assertEqual(fn('P m -3 m :1'), 'P m -3 m') self.assertEqual(fn('P m -3 m :H'), 'P m -3 m') self.assertEqual(fn('F d -3 m S'), 'F d -3 m') self.assertEqual(fn('F d -3 m Z'), 'F d -3 m :2') self.assertEqual(fn('R 3 H'), 'R 3') self.assertEqual(fn('R 3 R'), 'R 3 :r') def test_getSpaceGroupFromNumber_invalid(self): invalid_old = {u'_symmetry_int_tables_number': u'400'} invalid_new = {u'_space_group_it_number': u'400'} self.assertRaises(RuntimeError, self.builder._getSpaceGroupFromNumber, cifData={}) self.assertRaises(RuntimeError, self.builder._getSpaceGroupFromNumber, cifData=invalid_old) self.assertRaises(RuntimeError, self.builder._getSpaceGroupFromNumber, cifData=invalid_new)
class SpaceGroupBuilderTest(unittest.TestCase): def setUp(self): self.builder = SpaceGroupBuilder() def test_getSpaceGroupFromString_valid_no_exceptions(self): valid_new = {u"_space_group_name_h-m_alt": u"P m -3 m"} valid_old = {u"_symmetry_space_group_name_h-m": u"P m -3 m"} assertRaisesNothing(self, self.builder._getSpaceGroupFromString, cifData=valid_old) assertRaisesNothing(self, self.builder._getSpaceGroupFromString, cifData=valid_new) assertRaisesNothing(self, self.builder._getSpaceGroupFromString, cifData=merge_dicts(valid_new, valid_old)) def test_getSpaceGroupFromString_valid_correct_value(self): valid_new = {u"_space_group_name_h-m_alt": u"P m -3 m"} valid_old = {u"_symmetry_space_group_name_h-m": u"P m -3 m"} valid_old_different = {u"_symmetry_space_group_name_h-m": u"F d d d"} invalid_old = {u"_symmetry_space_group_name_h-m": u"invalid"} self.assertEqual(self.builder._getSpaceGroupFromString(valid_new), "P m -3 m") self.assertEqual(self.builder._getSpaceGroupFromString(valid_old), "P m -3 m") self.assertEqual(self.builder._getSpaceGroupFromString(merge_dicts(valid_new, valid_old)), "P m -3 m") self.assertEqual(self.builder._getSpaceGroupFromString(merge_dicts(valid_new, valid_old_different)), "P m -3 m") self.assertEqual(self.builder._getSpaceGroupFromString(merge_dicts(valid_new, invalid_old)), "P m -3 m") def test_getSpaceGroupFromString_invalid(self): valid_old = {u"_symmetry_space_group_name_h-m": u"P m -3 m"} invalid_new = {u"_space_group_name_h-m_alt": u"invalid"} invalid_old = {u"_symmetry_space_group_name_h-m": u"invalid"} self.assertRaises(RuntimeError, self.builder._getSpaceGroupFromString, cifData={}) self.assertRaises(ValueError, self.builder._getSpaceGroupFromString, cifData=invalid_new) self.assertRaises(ValueError, self.builder._getSpaceGroupFromString, cifData=invalid_old) self.assertRaises( ValueError, self.builder._getSpaceGroupFromString, cifData=merge_dicts(invalid_new, valid_old) ) def test_getCleanSpaceGroupSymbol(self): fn = self.builder._getCleanSpaceGroupSymbol self.assertEqual(fn("P m -3 m :1"), "P m -3 m") self.assertEqual(fn("P m -3 m :H"), "P m -3 m") def test_getSpaceGroupFromNumber_invalid(self): invalid_old = {u"_symmetry_int_tables_number": u"400"} invalid_new = {u"_space_group_it_number": u"400"} self.assertRaises(RuntimeError, self.builder._getSpaceGroupFromNumber, cifData={}) self.assertRaises(RuntimeError, self.builder._getSpaceGroupFromNumber, cifData=invalid_old) self.assertRaises(RuntimeError, self.builder._getSpaceGroupFromNumber, cifData=invalid_new)
def setUp(self): self.builder = SpaceGroupBuilder()