← Back to team overview

oship-dev team mailing list archive

[Branch ~oship-dev/oship/devel] Rev 511: Added invariant for the mapping attribute in the DvText class. Bug #609156

 

------------------------------------------------------------
revno: 511
committer: Wagner Francisco Mezaroba <wagner@wagner-laptop>
branch nick: oship
timestamp: Fri 2010-11-19 12:15:48 -0200
message:
  Added invariant for the mapping attribute in the DvText class. Bug #609156
added:
  src/oship/openehr/rm/datatypes/text/tests/dvtext.py
modified:
  src/oship/openehr/rm/composition/tests/composition.txt
  src/oship/openehr/rm/composition/tests/eventcontext.txt
  src/oship/openehr/rm/datatypes/quantity/tests/dvordinal.txt
  src/oship/openehr/rm/datatypes/text/__init__.py
  src/oship/openehr/rm/datatypes/text/tests/dvcodedtext.txt
  src/oship/openehr/rm/datatypes/text/tests/termmapping.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/openehr/rm/composition/tests/composition.txt'
--- src/oship/openehr/rm/composition/tests/composition.txt	2010-09-28 02:59:38 +0000
+++ src/oship/openehr/rm/composition/tests/composition.txt	2010-11-19 14:15:48 +0000
@@ -18,28 +18,28 @@
 >>> encod = CodePhrase(tid1,u'en')
 >>> lang = CodePhrase(tid1,u'UTF-8')
 >>> partySelf = PartySelf(None)
->>> observationEntryName = DvText(u"Observation", None, u"font-family:Arial", None, None, None)
+>>> observationEntryName = DvText(u"Observation", formatting=u"font-family:Arial")
 >>> observation = Observation(data,None,None,None,lang,encod,partySelf,None,None,None,None,u'at0004',observationEntryName,None,None,None)
->>> sectionEntryName = DvText(u"Section 1", None, u"font-family:Arial", None, None, None)
+>>> sectionEntryName = DvText(u"Section 1", formatting=u"font-family:Arial")
 >>> section = Section([observation,],None,u"at0003",sectionEntryName,None,None,None)
 >>> healthCareFacility = PartyIdentified(u'The health care facility', None, None)
 >>> start = DvDateTime(u'2009-12-31T00:00:00',0,None,None,None,None)
 >>> tid2 = TerminologyId(u'OpenEHR Terminology - setting group')
 >>> cp = CodePhrase(tid2,u'abc123')
->>> setting = DvCodedText(cp,u"setting",[],u"",None,None,None)
+>>> setting = DvCodedText(cp,u"setting")
 >>> performer = PartyIdentified(u'Performer',None,None)
->>> function = DvText(u"Some really interesting text.",None,u"font-family:Arial",None,None,None)
->>> mode = DvCodedText(cp,u"mode",[],u"",None,None,None)
+>>> function = DvText(u"Some really interesting text.",formatting=u"font-family:Arial")
+>>> mode = DvCodedText(cp,u"mode")
 >>> participations = [Participation(performer,function,mode,None),]
 >>> location = u'home'
 >>> eventContext = EventContext(healthCareFacility,start,None,participations,location,setting,None)
 >>> composer = PartyIdentified(u'Composer',None,None)
 >>> cpcategory = CodePhrase(tid1,u'abc123')
->>> category = DvCodedText(cpcategory,u'category',[],u'',None,None,None)
+>>> category = DvCodedText(cpcategory,u'category')
 >>> lang = CodePhrase(tid1,u'en')
 >>> tid3 = TerminologyId(u'ISO_3166') 
 >>> territory = CodePhrase(tid3,u'US') 
->>> compositionEntryName = DvText(u"Composition", None, u"font-family:Arial", None, None, None)
+>>> compositionEntryName = DvText(u"Composition", formatting=u"font-family:Arial")
 >>> compositionArchetypeDetails = Archetyped(None,None,None)
 >>> composition = Composition([section,],eventContext,composer,category,lang,territory,None,u'at0005',compositionEntryName,compositionArchetypeDetails,None,None)
 >>> composition.content[0].name.value

=== modified file 'src/oship/openehr/rm/composition/tests/eventcontext.txt'
--- src/oship/openehr/rm/composition/tests/eventcontext.txt	2010-08-06 21:24:11 +0000
+++ src/oship/openehr/rm/composition/tests/eventcontext.txt	2010-11-19 14:15:48 +0000
@@ -10,10 +10,10 @@
 >>> start = DvDateTime(u'2009-12-31T00:00:00',0,None,None,None,None)
 >>> tid = TerminologyId(u'OpenEHR Terminology - setting group')
 >>> cp = CodePhrase(tid,u'abc123')
->>> setting = DvCodedText(cp,u"setting",[],u"",None,None,None)
+>>> setting = DvCodedText(cp,u"setting")
 >>> performer = PartyIdentified(u'Performer',None,None)
->>> function = DvText(u"Some really interesting text.",None,u"font-family:Arial",None,None,None)
->>> mode = DvCodedText(cp,u"mode",[],u"",None,None,None)
+>>> function = DvText(u"Some really interesting text.",formatting=u"font-family:Arial")
+>>> mode = DvCodedText(cp,u"mode")
 >>> participations = [Participation(performer,function,mode,None),]
 >>> location = u'home'
 >>> eventContext = EventContext(healthCareFacility,start,None,participations,location,setting,None)

=== modified file 'src/oship/openehr/rm/datatypes/quantity/tests/dvordinal.txt'
--- src/oship/openehr/rm/datatypes/quantity/tests/dvordinal.txt	2010-08-06 21:24:11 +0000
+++ src/oship/openehr/rm/datatypes/quantity/tests/dvordinal.txt	2010-11-19 14:15:48 +0000
@@ -5,7 +5,7 @@
 >>> from oship.openehr.rm.support.identification import TerminologyId
 >>> tid = TerminologyId(u"SNOMED-CT(2003)")
 >>> cp = CodePhrase(tid,u"abc123")
->>> ct = DvCodedText(cp,u"abc123",[],u"",None,None,None)
+>>> ct = DvCodedText(cp,u"abc123")
 >>> isinstance(ct,DvCodedText)
 True
 >>> ord = DvOrdinal(1,ct,None,None,None)

=== modified file 'src/oship/openehr/rm/datatypes/text/__init__.py'
--- src/oship/openehr/rm/datatypes/text/__init__.py	2010-11-17 13:14:09 +0000
+++ src/oship/openehr/rm/datatypes/text/__init__.py	2010-11-19 14:15:48 +0000
@@ -79,11 +79,13 @@
 
     grok.implements(IDvText)
 
-    def __init__(self,value,mappings,formatting,hyperlink,language,encoding):
+    def __init__(self,value,mappings=None,formatting=None,hyperlink=None,language=None,encoding=None):
         if value is not None and value != '':
             self.value = value
         else:
             raise AttributeError("DvText.value")
+        if mappings is not None and len(mappings) == 0:
+            raise AttributeError(u'mappings must not be empty')
         self.mappings=mappings
         self.formatting = formatting
         self.hyperlink = hyperlink
@@ -143,7 +145,7 @@
 
     grok.implements(IDvCodedText)
 
-    def __init__(self,definingCode,value,mappings,formatting,hyperlink,language,encoding):
+    def __init__(self,definingCode,value,mappings=None,formatting=None,hyperlink=None,language=None,encoding=None):
         self.definingCode=definingCode
         DvText.__init__(self,value,mappings,formatting,hyperlink,language,encoding)
  

=== modified file 'src/oship/openehr/rm/datatypes/text/tests/dvcodedtext.txt'
--- src/oship/openehr/rm/datatypes/text/tests/dvcodedtext.txt	2010-08-06 21:24:11 +0000
+++ src/oship/openehr/rm/datatypes/text/tests/dvcodedtext.txt	2010-11-19 14:15:48 +0000
@@ -5,7 +5,7 @@
 >>> from oship.openehr.rm.support.identification import TerminologyId
 >>> tid = TerminologyId(u"SNOMED-CT(2003)")
 >>> cp = CodePhrase(tid,u"abc123")
->>> ct = DvCodedText(cp,u"abc123",[],u"",None,None,None)
+>>> ct = DvCodedText(cp,u"abc123")
 >>> isinstance(ct,DvCodedText)
 True
 >>>

=== added file 'src/oship/openehr/rm/datatypes/text/tests/dvtext.py'
--- src/oship/openehr/rm/datatypes/text/tests/dvtext.py	1970-01-01 00:00:00 +0000
+++ src/oship/openehr/rm/datatypes/text/tests/dvtext.py	2010-11-19 14:15:48 +0000
@@ -0,0 +1,27 @@
+"""
+Do a Python test on the app.
+
+:Test-Layer: python
+"""
+import unittest
+import grok
+
+from oship.openehr.rm.datatypes.text import TermMapping, CodePhrase, DvText
+from oship.openehr.rm.support.identification import TerminologyId
+
+class DvTextTest(unittest.TestCase):
+
+    def testShouldInitializeWithNullMappings(self):
+        text = DvText(value(), mappings=None)
+
+    def testShouldInitializeWithNotEmptyMappings(self):
+        text = DvText(value(), mappings())
+
+    def testShouldNotInitializeWithEmptymappings(self):
+        self.assertRaises(AttributeError, DvText, value(), [])
+
+def value():
+    return 'some text'
+
+def mappings():
+    return [TermMapping(None, '<', None)]

=== modified file 'src/oship/openehr/rm/datatypes/text/tests/termmapping.py'
--- src/oship/openehr/rm/datatypes/text/tests/termmapping.py	2010-11-17 13:14:09 +0000
+++ src/oship/openehr/rm/datatypes/text/tests/termmapping.py	2010-11-19 14:15:48 +0000
@@ -27,7 +27,7 @@
 def purpose():
     tid = TerminologyId(u'SNOMED-CT')
     cp = CodePhrase(tid, u'abc123')
-    return DvCodedText(cp, u'abc123', [], u'', None, None, None)
+    return DvCodedText(cp, u'abc123')
 
 class DummyTerminologyService(object):
     def __init__(self, returnValue):