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
);