コード例 #1
0
ファイル: CriteriumTests.cs プロジェクト: ztfuqingvip/spark
        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);
        }
コード例 #2
0
ファイル: CriteriumTests.cs プロジェクト: ztfuqingvip/spark
        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());
        }
コード例 #3
0
ファイル: CriteriumTests.cs プロジェクト: Condeti/spark
		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);
		}
コード例 #4
0
ファイル: CriteriumTests.cs プロジェクト: Condeti/spark
		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());
		}
コード例 #5
0
 public TokenValue AsTokenValue()
 {
     return(TokenValue.Parse(Value));
 }