← Back to team overview

oship-dev team mailing list archive

[Branch ~oship-dev/oship/devel] Rev 462: Corrected DvQuantified methods and initializer. Added tests for DvQuantified

 

------------------------------------------------------------
revno: 462
committer: Wagner Francisco Mezaroba <wagner@wagner-laptop>
branch nick: oship
timestamp: Sun 2010-08-08 16:02:56 -0300
message:
  Corrected DvQuantified methods and initializer. Added tests for DvQuantified
added:
  src/oship/openehr/rm/datatypes/quantity/tests/dvquantified.py
modified:
  src/oship/mlhim/__init__.pyc
  src/oship/openehr/rm/datatypes/quantity/__init__.py


--
lp:oship
https://code.launchpad.net/~oship-dev/oship/devel

Your team OSHIP Development Team is subscribed to branch lp:oship.
To unsubscribe from this branch go to https://code.launchpad.net/~oship-dev/oship/devel/+edit-subscription
=== modified file 'src/oship/mlhim/__init__.pyc'
Binary files src/oship/mlhim/__init__.pyc	2010-08-06 22:33:36 +0000 and src/oship/mlhim/__init__.pyc	2010-08-08 19:02:56 +0000 differ
=== modified file 'src/oship/openehr/rm/datatypes/quantity/__init__.py'
--- src/oship/openehr/rm/datatypes/quantity/__init__.py	2010-08-06 21:24:11 +0000
+++ src/oship/openehr/rm/datatypes/quantity/__init__.py	2010-08-08 19:02:56 +0000
@@ -117,27 +117,26 @@
 
     grok.implements(IDvQuantified)
 
-    def __init__(self,magnitude,accuracy,normalRange,otherReferenceRanges,normalStatus):
+    def __init__(self,magnitude,accuracy,normalRange,otherReferenceRanges,normalStatus, magnitudeStatus=None):
         self.magnitude=magnitude
         self.accuracy=accuracy
-        self.magnitudeStatus = ['=','>','<','<=','>=','~']
+        if magnitudeStatus is not None:
+            if self.validMagnitudeStatus(magnitudeStatus):
+                self.magnitudeStatus = magnitudeStatus
+            else:
+                raise ValueError(u"magnitudeStatus must be '=', '>', '<', '<=', '>=', '~' or None")
+        else:
+            self.magnitudeStatus = None
         DvOrdered.__init__(self,normalRange,otherReferenceRanges,normalStatus)
 
     def validMagnitudeStatus(self,val):
         """
         Test whether a string 'val' is one of the valid values for the magnitude_status attribute.
         """
-        if val in self.magnitudeStatus:
-            return val
-        else:
-            return '='
-
-    def magnitudeExists(self):
-        """
-        Does the magnitude exist?
-        """
-        return self.magnitude is not None
-
+        return val in ['=','>','<','<=','>=','~']
+
+    def accuracyUnknown(self):
+        return self.accuracy is None
 
 
 class DvAbsoluteQuantity(DvQuantified):

=== added file 'src/oship/openehr/rm/datatypes/quantity/tests/dvquantified.py'
--- src/oship/openehr/rm/datatypes/quantity/tests/dvquantified.py	1970-01-01 00:00:00 +0000
+++ src/oship/openehr/rm/datatypes/quantity/tests/dvquantified.py	2010-08-08 19:02:56 +0000
@@ -0,0 +1,49 @@
+"""
+Do a Python test on the app.
+
+:Test-Layer: python
+"""
+import unittest
+import grok
+
+from oship.openehr.rm.datatypes.quantity import DvQuantified
+
+class DvQuantifiedTest(unittest.TestCase):
+
+    def setUp(self):
+        self.aDvQuantified = SimpleDvQuantified(None,None,None,None,None,None)
+        self.validMagnitudeStatus = ('=','>','<','<=','>=','~') 
+
+    def tearDown(self):
+        self.aDvQuantified = None
+
+    def testValidMagnitudeStatusWithValidValues(self):
+        for status in self.validMagnitudeStatus:
+           self.assertEqual(True, self.aDvQuantified.validMagnitudeStatus(status))
+
+    def testValidMagnitudeStatusWithInvalidValues(self):
+        self.assertEqual(False, self.aDvQuantified.validMagnitudeStatus('a'))
+        self.assertEqual(False, self.aDvQuantified.validMagnitudeStatus(''))
+        self.assertEqual(False, self.aDvQuantified.validMagnitudeStatus(None))
+
+    def testConstructorWithInvalidMagnitudeStatus(self):
+        self.assertRaises(ValueError, SimpleDvQuantified, None,None,None,None,None,'a')
+        self.assertRaises(ValueError, SimpleDvQuantified, None,None,None,None,None,'')
+
+    def testContructorWithValidMagnitudeStatus(self):
+        for status in self.validMagnitudeStatus:
+            dvQuantified = SimpleDvQuantified(None,None,None,None,None,status)
+            self.assertEqual(status, dvQuantified.magnitudeStatus)
+
+    def testConstructurWithANoneMagnitudeStatus(self):
+        dvQuantified = SimpleDvQuantified(None,None,None,None,None,None)
+        self.assertEquals(None, dvQuantified.magnitudeStatus)
+
+    def testAccuracyUnknown(self):
+        dvQuantified = SimpleDvQuantified(None,None,None,None,None,None)
+        self.assertEquals(True, dvQuantified.accuracyUnknown())
+        dvQuantified.accuracy = 1
+        self.assertEquals(False, dvQuantified.accuracyUnknown())
+
+class SimpleDvQuantified(DvQuantified):
+    pass