Пример #1
0
		public void HandleQuantityParam()
		{
			var p1 = new QuantityValue(3.141M, "http://unitsofmeasure.org", "mg");
			Assert.AreEqual("3.141|http://unitsofmeasure.org|mg", p1.ToString());

			var p2 = new QuantityValue(3.141M, "mg");
			Assert.AreEqual("3.141||mg", p2.ToString());

			var p3 = new QuantityValue(3.141M, "http://system.com/id$4", "$/d");
			Assert.AreEqual(@"3.141|http://system.com/id\$4|\$/d", p3.ToString());

			var p4 = QuantityValue.Parse("3.141|http://unitsofmeasure.org|mg");
			Assert.AreEqual(3.141M, p4.Number);
			Assert.AreEqual("http://unitsofmeasure.org", p4.Namespace);
			Assert.AreEqual("mg", p4.Unit);

			var p5 = QuantityValue.Parse("3.141||mg");
			Assert.AreEqual(3.141M, p5.Number);
			Assert.IsNull(p5.Namespace);
			Assert.AreEqual("mg", p5.Unit);

			var p6 = QuantityValue.Parse(@"3.141|http://system.com/id\$4|\$/d");
			Assert.AreEqual(3.141M, p6.Number);
			Assert.AreEqual("http://system.com/id$4", p6.Namespace);
			Assert.AreEqual("$/d", p6.Unit);

			var crit = Criterium.Parse("paramX=3.14||mg");
			var p7 = ((UntypedValue)crit.Operand).AsQuantityValue();
			Assert.AreEqual(3.14M, p7.Number);
			Assert.IsNull(p7.Namespace);
			Assert.AreEqual("mg", p7.Unit);
		}