/// <summary> /// All all interfaces in the given signature to the given type definition. /// </summary> private void ImplementInterfaces(NetTypeDefinition typeDef, ClassSignature signature, TargetFramework target) { if (signature == null) { return; } foreach (var interfaceName in signature.Interfaces) { try { NetTypeDefinition iDef; if (target.TypeNameMap.TryGetByJavaClassName(interfaceName.ClassName, out iDef) && iDef.IsInterface) { var iRef = interfaceName.Resolve(target, this, false); if (!typeDef.Interfaces.Any(x => x.AreSame(iRef))) { typeDef.Interfaces.Add(iRef); } } } catch (ClassNotFoundException) { Console.WriteLine("Interface {0} not found in {1}", interfaceName.ClassName, typeDef.FullName); } } }
public void DoubleImplementationExcept1() { var sig = new ClassSignature(typeof(DoubleImplementationClass)); Assert.AreEqual("ClassSignatureFixture.ITest2", sig.MakeImplementingSignature("ClassSignatureFixture.ITest1")); }
public void ConstrainedGenericImplementationExcept3() { var sig = new ClassSignature(typeof(ConstrainedGenericClass <>)); Assert.AreEqual(" where T : struct, IConvertible", sig.MakeImplementingSignature("ClassSignatureFixture.ITest3<T>")); }
void CheckDocumentation(ClassSignature cls) { CheckDocumentation(cls.FullyQualifiedName, cls.Documentation); }
private ClassSignature GetSignature(string name, JsonData data) { var signature = new ClassSignature(); signature.Name = name; signature.Type = GetJsonType(data); signature.ArrayContentsType = GetArrayContentsType(data); if (data == null) { return signature; } if (data.IsObject) { var keys = data.Keys; foreach (var key in data.KeyList) { signature.Properties.Add(GetSignature(key, data[key])); } } else if (data.IsArray) { data.ArrayContents.ForEach(x => CrawlRecursive(signature.Name, x)); } return signature; }
public void DoubleConstrainedGenericImplementation() { var sig = new ClassSignature(typeof(DoubleConstrainedGenericClass <>)); sig.MakeImplementingSignature().Should().Be("ClassSignatureFixture.ITest3<T>, ClassSignatureFixture.ITest4<T> where T : struct, IConvertible"); }
public void DoubleResolvedGenericImplementation() { var sig = new ClassSignature(typeof(DoubleChainedGenericClass <int>)); sig.MakeImplementingSignature().Should().Be("ClassSignatureFixture.ITest3<ClassSignatureFixture.ITest4<Int32>>"); }
public void ResolvedGenericImplementation() { var sig = new ClassSignature(typeof(UnresolvedGenericImplementationClass <String>)); sig.MakeImplementingSignature().Should().Be("ClassSignatureFixture.ITest3<String>"); }
public void GenericImplementation() { var sig = new ClassSignature(typeof(GenericImplementationClass)); sig.MakeImplementingSignature().Should().Be("ClassSignatureFixture.ITest1, ClassSignatureFixture.ITest2, ClassSignatureFixture.ITest3<Int32>"); }
public void DoubleImplementation() { var sig = new ClassSignature(typeof(DoubleImplementationClass)); sig.MakeImplementingSignature().Should().Be("ClassSignatureFixture.ITest1, ClassSignatureFixture.ITest2"); }
public void WillIgnoreCorrectMethods() { var sig = new ClassSignature(typeof(MethodInheritanceClass)); sig.Methods.Select(x => x.Method.Name).Should().Have.SameValuesAs("Test2", "Test3"); }