Belle II Software  release-05-01-25
test_environmentInformation.py
1 from unittest import TestCase, main
2 try:
3  from unittest.mock import patch, MagicMock
4 except ImportError:
5  from mock import patch, MagicMock
6 
7 import datetime
8 
9 from hep_ipython_tools.information import EnvironmentInformation
10 
11 # @cond internal_test
12 
13 
14 class TestEnvironmentInformation(TestCase):
15 
16  def setUp(self):
17  self.patch = patch("hep_ipython_tools.information.datetime")
18  datetime_patch = self.patch.start()
19 
20  datetime_patch.now = MagicMock(return_value=datetime.datetime(1999, 11, 12))
21 
22  self.information = EnvironmentInformation()
23 
24  self.information.externals_version = "Version"
25  self.information.externals_option = "ExternalOption"
26  self.information.option = "Option"
27  self.information.architecture = "Architecture"
28  self.information.release = "Release"
29  self.information.release_folder = "ReleaseFolder"
30 
31  def tearDown(self):
32  self.patch.stop()
33 
34  def test_str(self):
35  self.information._cached_revision = "Revision"
36 
37  string_information = str(self.information)
38  self.assertEqual(string_information.splitlines(), ["externals version: Version",
39  "externals option: ExternalOption",
40  "option: Option",
41  "architecture: Architecture",
42  "release: Release",
43  "release folder: ReleaseFolder",
44  "revision number: Revision",
45  "date: 1999-11-12"])
46 
47  def test_repr(self):
48  self.information._cached_revision = "Revision"
49  string_information = str(self.information)
50  repr_information = self.information.__repr__()
51 
52  self.assertEqual(repr_information, string_information)
53 
54  def test_cached_revision(self):
55  self.information._cached_revision = "Revision"
56 
57  self.assertEqual(self.information.revision_number, "Revision")
58 
59  def test_new_revision(self):
60 
61  self.information.get_current_revision_number = MagicMock(return_value="OtherRevision")
62 
63  self.assertEqual(self.information.revision_number, "OtherRevision")
64 
65  self.information.get_current_revision_number.assert_called_once_with()
66 
67  def test_get_current_revision(self):
68  pass
69 
70 if __name__ == "__main__":
71  main()
72 # @endcond
main
int main(int argc, char **argv)
Run all tests.
Definition: test_main.cc:77
TestCase
Definition: main.cc:1069
hep_ipython_tools.information
Definition: information.py:1