aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Examples/test-suite/csharp/nested_inheritance_interface_runme.cs32
1 files changed, 32 insertions, 0 deletions
diff --git a/Examples/test-suite/csharp/nested_inheritance_interface_runme.cs b/Examples/test-suite/csharp/nested_inheritance_interface_runme.cs
new file mode 100644
index 000000000..ca0f01595
--- /dev/null
+++ b/Examples/test-suite/csharp/nested_inheritance_interface_runme.cs
@@ -0,0 +1,32 @@
+using System;
+using System.Collections.Generic;
+using nested_inheritance_interfaceNamespace;
+
+public class nested_inheritance_interface_runme {
+
+ static string SortArrayToString(string[] types) {
+ Array.Sort<string>(types);
+ return string.Join(" ", types);
+ }
+
+ static string SortArrayToString(Type[] types) {
+ List<string> stypes = new List<string>();
+ foreach (Type t in types)
+ stypes.Add(t.Name);
+ return SortArrayToString(stypes.ToArray());
+ }
+
+ public static void Main() {
+ Type[] BNInterfaces = typeof(B.N).GetInterfaces();
+ string expectedInterfacesString = "IASwigInterface IDisposable";
+ string actualInterfacesString = SortArrayToString(BNInterfaces);
+ if (expectedInterfacesString != actualInterfacesString)
+ throw new Exception("Expected interfaces for " + typeof(B.N).Name + ": \n" + expectedInterfacesString + "\n" + "Actual interfaces: \n" + actualInterfacesString);
+
+ if (!typeof(IASwigInterface).IsInterface)
+ throw new Exception(typeof(IASwigInterface).Name + " should be an interface but is not");
+
+ // overloaded methods check
+ B.N d = new B.N();
+ }
+}