5 // Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
7 // (C) 2003 Atsushi Enomoto
13 using Commons.Xml.Relaxng;
14 using Commons.Xml.Relaxng.Derivative;
15 using NUnit.Framework;
17 namespace MonoTests.Commons.Xml.Relaxng
20 public class RdpPatternTests : Assertion
22 RelaxngValidatingReader reader;
29 pattern1 = new RdpElement (new RdpName ("foo", "urn:foo"), RdpEmpty.Instance);
32 private void AssertPattern (string s, RelaxngPatternType expected, RdpPattern p)
34 AssertEquals (s, expected, p.PatternType);
38 public void ElementStartTagOpenDeriv ()
40 result = pattern1.StartTagOpenDeriv ("bar", "urn:foo");
41 AssertPattern ("#element.start.1", RelaxngPatternType.NotAllowed, result);
43 result = pattern1.StartTagOpenDeriv ("foo", "urn:bar");
44 AssertPattern ("#element.start.2", RelaxngPatternType.NotAllowed, result);
46 result = pattern1.StartTagOpenDeriv ("foo", "urn:foo");
47 AssertPattern ("#element.start.3", RelaxngPatternType.After, result);
48 RdpAfter after= result as RdpAfter;
49 AssertPattern ("#element.start.4", RelaxngPatternType.Empty, after.LValue);
50 AssertPattern ("#element.start.5", RelaxngPatternType.Empty, after.RValue);