| 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()); | |
| } | |
| private static void takeIA(IASwigInterface ia) { | |
| } | |
| 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(); | |
| takeIA(d); | |
| } | |
| } |