Browse Source

Bindings for storm versions

refactoring
Matthias Volk 7 years ago
parent
commit
2c81318030
  1. 10
      src/mod_info.cpp
  2. 4
      tests/info/test_info.py

10
src/mod_info.cpp

@ -7,8 +7,12 @@ PYBIND11_MODULE(info, m) {
py::class_<storm::utility::StormVersion>(m, "Version", "Version information for Storm")
// static properties are still called with self as argument (which we ignore), see
// https://pybind11.readthedocs.io/en/master/advanced/classes.html#static-properties
.def_property_readonly_static("short", [](py::object /* self */){ return storm::utility::StormVersion::shortVersionString(); }, "Storm version in short representation")
.def_property_readonly_static("long", [](py::object /* self */){ return storm::utility::StormVersion::longVersionString(); }, "Storm version in long representation")
.def_property_readonly_static("build_info", [](py::object /* self */){ return storm::utility::StormVersion::buildInfo(); }, "Build info for Storm")
.def_property_readonly_static("major", [](py::object /* self */){ return storm::utility::StormVersion::versionMajor; }, "Storm major version.")
.def_property_readonly_static("minor", [](py::object /* self */){ return storm::utility::StormVersion::versionMinor; }, "Storm minor version.")
.def_property_readonly_static("patch", [](py::object /* self */){ return storm::utility::StormVersion::versionPatch; }, "Storm patch version.")
.def_property_readonly_static("development", [](py::object /* self */){ return storm::utility::StormVersion::versionDev; }, "Flag if Storm is development version.")
.def_property_readonly_static("short", [](py::object /* self */){ return storm::utility::StormVersion::shortVersionString(); }, "Storm version in short representation.")
.def_property_readonly_static("long", [](py::object /* self */){ return storm::utility::StormVersion::longVersionString(); }, "Storm version in long representation.")
.def_property_readonly_static("build_info", [](py::object /* self */){ return storm::utility::StormVersion::buildInfo(); }, "Build info for Storm.")
;
}

4
tests/info/test_info.py

@ -9,4 +9,6 @@ class TestInfo:
assert isinstance(stormpy.info.Version.build_info, str) and "Compiled" in stormpy.info.Version.build_info
def test_version_equal(self):
assert stormpy.info.Version.short == stormpy.info.storm_version()
assert stormpy.info.storm_version() in stormpy.info.Version.short
assert (stormpy.info.Version.development and stormpy.info.Version.short.endswith(
" (dev)")) or not stormpy.info.Version.development
Loading…
Cancel
Save