public void HandleTokenParam() { var p1 = new TokenValue("NOK", "http://somewhere.nl/codes"); Assert.AreEqual("http://somewhere.nl/codes|NOK", p1.ToString()); var p2 = new TokenValue("y|n", "http://some|where.nl/codes"); Assert.AreEqual(@"http://some\|where.nl/codes|y\|n", p2.ToString()); var p3 = new TokenValue("NOK", matchAnyNamespace: true); Assert.AreEqual("NOK", p3.ToString()); var p4 = new TokenValue("NOK", matchAnyNamespace: false); Assert.AreEqual("|NOK", p4.ToString()); var p5 = TokenValue.Parse("http://somewhere.nl/codes|NOK"); Assert.AreEqual("http://somewhere.nl/codes", p5.Namespace); Assert.AreEqual("NOK", p5.Value); Assert.IsFalse(p4.AnyNamespace); var p6 = TokenValue.Parse(@"http://some\|where.nl/codes|y\|n"); Assert.AreEqual(@"http://some|where.nl/codes", p6.Namespace); Assert.AreEqual("y|n", p6.Value); Assert.IsFalse(p6.AnyNamespace); var p7 = TokenValue.Parse("|NOK"); Assert.AreEqual(null, p7.Namespace); Assert.AreEqual("NOK", p7.Value); Assert.IsFalse(p7.AnyNamespace); var p8 = TokenValue.Parse("NOK"); Assert.AreEqual(null, p8.Namespace); Assert.AreEqual("NOK", p8.Value); Assert.IsTrue(p8.AnyNamespace); var crit = Criterium.Parse("paramX=|NOK"); var p9 = ((UntypedValue)crit.Operand).AsTokenValue(); Assert.AreEqual("NOK", p9.Value); Assert.IsFalse(p9.AnyNamespace); }
public void HandleComposites() { var pX = new CompositeValue(new ValueExpression[] { new StringValue("hello, world!"), new NumberValue(14.8M) }); var pY = new TokenValue("NOK", "http://somesuch.org"); var p1 = new ChoiceValue(new ValueExpression[] { pX, pY }); Assert.AreEqual(@"hello\, world!$14.8,http://somesuch.org|NOK", p1.ToString()); var crit1 = ChoiceValue.Parse(@"hello\, world$14.8,http://somesuch.org|NOK"); Assert.AreEqual(2, crit1.Choices.Length); Assert.IsTrue(crit1.Choices[0] is CompositeValue); var comp1 = crit1.Choices[0] as CompositeValue; Assert.AreEqual(2, comp1.Components.Length); Assert.AreEqual("hello, world", ((UntypedValue)comp1.Components[0]).AsStringValue().Value); Assert.AreEqual(14.8M, ((UntypedValue)comp1.Components[1]).AsNumberValue().Value); Assert.AreEqual("http://somesuch.org|NOK", ((UntypedValue)crit1.Choices[1]).AsTokenValue().ToString()); }
public TokenValue AsTokenValue() { return(TokenValue.Parse(Value)); }