/// <exception cref="System.Exception"></exception> public virtual void TestInvalidNode(XmlNode invalidNode) { XmlToModelResult xmlResult = new XmlToModelResult(); string parseResult = (string)new EdSignatureElementParser().Parse(CreateEdContext(), invalidNode, xmlResult).BareValue; Assert.IsNull(parseResult, "parse result"); Assert.AreEqual(2, xmlResult.GetHl7Errors().Count, "HL7 error count"); Hl7Error hl7Error = xmlResult.GetHl7Errors()[0]; Assert.AreEqual("Attribute mediaType must be included with a value of \"text/xml\" for ED.SIGNATURE", hl7Error.GetMessage (), "error message"); Assert.AreEqual(Hl7ErrorCode.DATA_TYPE_ERROR, hl7Error.GetHl7ErrorCode(), "error message code"); hl7Error = xmlResult.GetHl7Errors()[1]; Assert.AreEqual("Expected ED.SIGNATURE node to have a child element named signature", hl7Error.GetMessage(), "error message" ); Assert.AreEqual(Hl7ErrorCode.DATA_TYPE_ERROR, hl7Error.GetHl7ErrorCode(), "error message code"); }
public virtual void TestParseWidthFailureValueAndUnit() { XmlNode node = CreateNode("<effectiveTime>" + " <width value=\"1.d\" unit=\"monkey\"/>" + "</effectiveTime>"); Interval <PlatformDate> interval = Parse(node, "IVL<TS>"); Assert.IsNull(interval, "null"); Assert.IsFalse(this.result.IsValid(), "not valid"); Assert.AreEqual(3, this.result.GetHl7Errors().Count, "error count"); Hl7Error hl7Error = this.result.GetHl7Errors()[1]; Assert.AreEqual("value \"1.d\" must contain digits only (<width unit=\"monkey\" value=\"1.d\"/>)", hl7Error.GetMessage(), "message"); Assert.AreEqual(Hl7ErrorCode.DATA_TYPE_ERROR, hl7Error.GetHl7ErrorCode(), "error type"); hl7Error = this.result.GetHl7Errors()[2]; Assert.AreEqual("Unit \"monkey\" is not valid for type PQ.TIME (<width unit=\"monkey\" value=\"1.d\"/>)", hl7Error.GetMessage (), "message"); Assert.AreEqual(Hl7ErrorCode.DATA_TYPE_ERROR, hl7Error.GetHl7ErrorCode(), "error type"); }
public virtual void TestParseInvalidValueUrlScheme() { XmlNode node = CreateNode("<something value=\"mailfrom://monkey\" />"); new TelElementParser().Parse(CreateContext("TEL.PHONE", SpecificationVersion.V02R02), node, this.xmlResult); Assert.IsFalse(this.xmlResult.IsValid()); Assert.AreEqual(2, this.xmlResult.GetHl7Errors().Count, "HL7 error count"); // invalid scheme; must have a valid scheme Hl7Error hl7Error = this.xmlResult.GetHl7Errors()[0]; Assert.AreEqual(Hl7ErrorCode.DATA_TYPE_ERROR, hl7Error.GetHl7ErrorCode(), "error message code"); Assert.AreEqual("Unrecognized URL scheme 'mailfrom' in element /something", hl7Error.GetMessage(), "error message"); }
public virtual void TestParseInvalidValueAttributeNode() { XmlNode node = CreateNode("<something value=\"1234\" />"); new TelElementParser().Parse(CreateContext("TEL.PHONE", SpecificationVersion.V02R02), node, this.xmlResult); Assert.IsFalse(this.xmlResult.IsValid()); Assert.AreEqual(1, this.xmlResult.GetHl7Errors().Count, "HL7 error count"); Hl7Error hl7Error = this.xmlResult.GetHl7Errors()[0]; Assert.AreEqual("TelecomAddress must have a valid URL scheme (e.g. 'http://') (<something value=\"1234\"/>)", hl7Error.GetMessage (), "error message"); Assert.AreEqual(Hl7ErrorCode.DATA_TYPE_ERROR, hl7Error.GetHl7ErrorCode(), "error message code"); }
public virtual void TestParseInvalidValueAttribute() { XmlNode node = CreateNode("<something value=\"19990355101112\" />"); new TsElementParser().Parse(CreateContext(), node, this.xmlResult); Assert.IsFalse(this.xmlResult.IsValid(), "valid date"); Assert.AreEqual(1, this.xmlResult.GetHl7Errors().Count, "one error"); Hl7Error hl7Error = this.xmlResult.GetHl7Errors()[0]; Assert.AreEqual("The timestamp 19990355101112 in element <something value=\"19990355101112\"/> cannot be parsed.", hl7Error .GetMessage(), "error message"); Assert.AreEqual(Hl7ErrorCode.DATA_TYPE_ERROR, hl7Error.GetHl7ErrorCode(), "error message type"); }
public virtual void TestParseInvalidValueAttribute() { XmlNode node = CreateNode("<something value=\"19990355\" />"); XmlToModelResult result = new XmlToModelResult(); new TsElementParser().Parse(new TrivialContext("TS.DATETIME"), node, result); Assert.IsFalse(result.IsValid(), "valid date"); Assert.AreEqual(1, result.GetHl7Errors().Count, "one error"); Hl7Error hl7Error = result.GetHl7Errors()[0]; Assert.AreEqual("The timestamp 19990355 in element <something value=\"19990355\"/> cannot be parsed.", hl7Error.GetMessage (), "error message"); Assert.AreEqual(Hl7ErrorCode.DATA_TYPE_ERROR, hl7Error.GetHl7ErrorCode(), "error message type"); }
public virtual void TestParseWidthFailureUnit() { XmlNode node = CreateNode("<effectiveTime>" + " <width unit=\"monkeys\" value=\"1\"/>" + "</effectiveTime>"); Interval <PlatformDate> interval = Parse(node, "IVL<TS.FULLDATE>"); Assert.IsNull(interval, "null"); Assert.IsFalse(this.result.IsValid(), "not valid"); // errors: need one additional element (low or high); units are not valid Assert.AreEqual(2, this.result.GetHl7Errors().Count, "error count"); Hl7Error hl7Error = this.result.GetHl7Errors()[1]; Assert.AreEqual("Unit \"monkeys\" is not valid for type PQ.TIME (<width unit=\"monkeys\" value=\"1\"/>)", hl7Error.GetMessage (), "message"); Assert.AreEqual(Hl7ErrorCode.DATA_TYPE_ERROR, hl7Error.GetHl7ErrorCode(), "error type"); }
public virtual void TestParseWidthFailureValue() { XmlNode node = CreateNode("<effectiveTime>" + " <width value=\"1.d\" unit=\"d\"/>" + "</effectiveTime>"); Interval <PlatformDate> interval = Parse(node, "IVL<TS>"); Assert.IsNull(interval, "null"); Assert.IsFalse(this.result.IsValid(), "not valid"); Assert.AreEqual(1, this.result.GetHl7Errors().Count, "error count"); // width invalid Hl7Error hl7Error = this.result.GetHl7Errors()[0]; Assert.AreEqual("value \"1.d\" is not a valid decimal value (<width unit=\"d\" value=\"1.d\"/>)", hl7Error.GetMessage(), "message"); Assert.AreEqual(Hl7ErrorCode.DATA_TYPE_ERROR, hl7Error.GetHl7ErrorCode(), "error type"); }