summaryrefslogtreecommitdiff
path: root/Examples/test-suite/csharp/director_protected_runme.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Examples/test-suite/csharp/director_protected_runme.cs')
-rw-r--r--Examples/test-suite/csharp/director_protected_runme.cs72
1 files changed, 72 insertions, 0 deletions
diff --git a/Examples/test-suite/csharp/director_protected_runme.cs b/Examples/test-suite/csharp/director_protected_runme.cs
new file mode 100644
index 0000000..ee4697b
--- /dev/null
+++ b/Examples/test-suite/csharp/director_protected_runme.cs
@@ -0,0 +1,72 @@
+using System;
+
+namespace director_protectedNamespace {
+
+public class runme
+{
+ static void Main()
+ {
+ runme r = new runme();
+ r.run();
+ }
+
+ void run()
+ {
+ Bar b = new Bar();
+ Foo f = b.create();
+ FooBar fb = new FooBar();
+ FooBar2 fb2 = new FooBar2();
+
+ String s;
+ s = fb.used();
+ if ( s != ("Foo::pang();Bar::pong();Foo::pong();FooBar::ping();"))
+ throw new Exception("bad FooBar::used" + " - " + s);
+
+ s = fb2.used();
+ if ( s != ("FooBar2::pang();Bar::pong();Foo::pong();FooBar2::ping();"))
+ throw new Exception("bad FooBar2::used");
+
+ s = b.pong();
+ if ( s != ("Bar::pong();Foo::pong();Bar::ping();"))
+ throw new Exception("bad Bar::pong");
+
+ s = f.pong();
+ if ( s != ("Bar::pong();Foo::pong();Bar::ping();"))
+ throw new Exception("bad Foo::pong");
+
+ s = fb.pong();
+ if ( s != ("Bar::pong();Foo::pong();FooBar::ping();"))
+ throw new Exception("bad FooBar::pong");
+ }
+}
+
+class FooBar : Bar
+{
+ public FooBar() : base()
+ {
+ }
+
+ protected override String ping()
+ {
+ return "FooBar::ping();";
+ }
+}
+
+class FooBar2 : Bar
+{
+ public FooBar2() : base()
+ {
+ }
+
+ protected override String ping()
+ {
+ return "FooBar2::ping();";
+ }
+
+ protected override String pang()
+ {
+ return "FooBar2::pang();";
+ }
+}
+
+}