Пример #1
0
 /// <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>"));
        }
Пример #4
0
 void CheckDocumentation(ClassSignature cls)
 {
     CheckDocumentation(cls.FullyQualifiedName, cls.Documentation);
 }
Пример #5
0
 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");
        }