|
8 | 8 | from xrdpattern.parsing import Formats |
9 | 9 | from xrdpattern.parsing.examples import DataExamples |
10 | 10 | from xrdpattern.pattern import XrdPattern |
11 | | -from xrdpattern.xrd import PowderExperiment |
| 11 | +from xrdpattern.xrd import PowderExperiment, LabelType |
12 | 12 |
|
13 | 13 |
|
14 | 14 | # --------------------------------------------------------- |
15 | 15 |
|
16 | 16 | class TestXrdPattern(ParserBaseTest): |
| 17 | + def setUp(self): |
| 18 | + self.unlabeled_pattern = XrdPattern.load(fpath=DataExamples.get_bruker_fpath()) |
| 19 | + self.labeled_pattern = XrdPattern.load(fpath=DataExamples.get_bruker_fpath()) |
| 20 | + self.labeled_pattern.powder_experiment = PowderExperiment.from_cif(cif_content=CrystalExamples.get_cif_content()) |
| 21 | + |
17 | 22 | def test_save_load_roundtrip(self): |
18 | | - unlabeled_pattern = XrdPattern.load(fpath=DataExamples.get_bruker_fpath()) |
19 | | - labeled_pattern = XrdPattern.load(fpath=DataExamples.get_bruker_fpath()) |
20 | | - labeled_pattern.powder_experiment = PowderExperiment.from_cif(cif_content=CrystalExamples.get_cif_content()) |
21 | 23 |
|
22 | | - reloaded_unlabeled = self.save_and_load(unlabeled_pattern) |
23 | | - reloaded_labeled = self.save_and_load(labeled_pattern) |
24 | 24 |
|
25 | | - self.assertEqual(unlabeled_pattern, reloaded_unlabeled) |
26 | | - self.assertEqual(labeled_pattern, reloaded_labeled) |
27 | | - print(f'labeled after roundtrip \n:{labeled_pattern.get_info_as_str()[:500]} + ' |
28 | | - f'{labeled_pattern.get_info_as_str()[-500:]}') |
| 25 | + reloaded_unlabeled = self.save_and_load(self.unlabeled_pattern) |
| 26 | + reloaded_labeled = self.save_and_load(self.labeled_pattern) |
| 27 | + |
| 28 | + self.assertEqual(self.unlabeled_pattern, reloaded_unlabeled) |
| 29 | + self.assertEqual(self.labeled_pattern, reloaded_labeled) |
| 30 | + print(f'labeled after roundtrip \n:{self.labeled_pattern.get_info_as_str()[:500]} + ' |
| 31 | + f'{self.labeled_pattern.get_info_as_str()[-500:]}') |
29 | 32 |
|
30 | 33 | def test_plot(self): |
31 | 34 | if self.is_manual_mode: |
@@ -73,6 +76,13 @@ def test_get_pattern_data(self): |
73 | 76 | plt.tight_layout() |
74 | 77 | plt.show() |
75 | 78 |
|
| 79 | + def test_has_label(self): |
| 80 | + self.assertTrue(not self.unlabeled_pattern.has_label(label_type=LabelType.lattice)) |
| 81 | + |
| 82 | + self.assertTrue(self.labeled_pattern.has_label(label_type=LabelType.lattice)) |
| 83 | + self.assertTrue(self.labeled_pattern.has_label(label_type=LabelType.basis)) |
| 84 | + self.assertTrue(self.labeled_pattern.has_label(label_type=LabelType.spg)) |
| 85 | + |
76 | 86 | @staticmethod |
77 | 87 | def save_and_load(pattern : XrdPattern) -> XrdPattern: |
78 | 88 | save_path = os.path.join(tempfile.mkdtemp(), f'pattern.{Formats.aimat_suffix()}') |
|
0 commit comments