Python3: resources and libraries
[csit.git] / resources / libraries / python / MLRsearch / NdrPdrResult.py
index 7b8cfd6..3454ef1 100644 (file)
 
 """Module defining NdrPdrResult class."""
 
 
 """Module defining NdrPdrResult class."""
 
-from resources.libraries.python.MLRsearch.ReceiveRateInterval \
-    import ReceiveRateInterval
+from .ReceiveRateInterval import ReceiveRateInterval
 
 
 
 
-class NdrPdrResult(object):
+class NdrPdrResult:
     """Two measurement intervals, return value of search algorithms.
 
     Partial fraction is NOT part of the result. Pdr interval should be valid
     """Two measurement intervals, return value of search algorithms.
 
     Partial fraction is NOT part of the result. Pdr interval should be valid
@@ -34,11 +33,13 @@ class NdrPdrResult(object):
         # TODO: Type checking is not very pythonic,
         # perhaps users can fix wrong usage without it?
         if not isinstance(ndr_interval, ReceiveRateInterval):
         # TODO: Type checking is not very pythonic,
         # perhaps users can fix wrong usage without it?
         if not isinstance(ndr_interval, ReceiveRateInterval):
-            raise TypeError("ndr_interval, is not a ReceiveRateInterval: "
-                            "{ndr!r}".format(ndr=ndr_interval))
+            raise TypeError(
+                f"ndr_interval, is not a ReceiveRateInterval: {ndr_interval!r}"
+            )
         if not isinstance(pdr_interval, ReceiveRateInterval):
         if not isinstance(pdr_interval, ReceiveRateInterval):
-            raise TypeError("pdr_interval, is not a ReceiveRateInterval: "
-                            "{pdr!r}".format(pdr=pdr_interval))
+            raise TypeError(
+                f"pdr_interval, is not a ReceiveRateInterval: {pdr_interval!r}"
+            )
         self.ndr_interval = ndr_interval
         self.pdr_interval = pdr_interval
 
         self.ndr_interval = ndr_interval
         self.pdr_interval = pdr_interval
 
@@ -51,16 +52,14 @@ class NdrPdrResult(object):
         :returns: Message containing NDR and PDR widths in goals.
         :rtype: str
         """
         :returns: Message containing NDR and PDR widths in goals.
         :rtype: str
         """
-        return "ndr {ndr_in_goals}; pdr {pdr_in_goals}".format(
-            ndr_in_goals=self.ndr_interval.width_in_goals(relative_width_goal),
-            pdr_in_goals=self.pdr_interval.width_in_goals(relative_width_goal))
+        return f"ndr {self.ndr_interval.width_in_goals(relative_width_goal)};" \
+            f" pdr {self.pdr_interval.width_in_goals(relative_width_goal)}"
 
     def __str__(self):
         """Return string as tuple of named values."""
 
     def __str__(self):
         """Return string as tuple of named values."""
-        return "NDR={ndr!s};PDR={pdr!s}".format(
-            ndr=self.ndr_interval, pdr=self.pdr_interval)
+        return f"NDR={self.ndr_interval!s};PDR={self.pdr_interval!s}"
 
     def __repr__(self):
         """Return string evaluable as a constructor call."""
 
     def __repr__(self):
         """Return string evaluable as a constructor call."""
-        return "NdrPdrResult(ndr_interval={ndr!r},pdr_interval={pdr!r})".format(
-            ndr=self.ndr_interval, pdr=self.pdr_interval)
+        return f"NdrPdrResult(ndr_interval={self.ndr_interval!r}," \
+            f"pdr_interval={self.pdr_interval!r})"