public void MethodBodyGetterCall()
        {
            var methodDescription = new MethodDescription(
                "myMethod",
                new List <ModifierDescription> {
                ModifierDescription.PUBLIC
            },
                new List <ParameterDescription>(),
                "void"
                );

            var classDescription = new ClassDescription(
                "MyClass",
                "packageName",
                new List <ModifierDescription>(),
                new List <FieldDescription>(),
                new List <MethodDescription> {
                methodDescription
            },
                new List <string>(),
                new List <ClassDescription>(),
                isNested: false);

            var methodBodyGetter    = new MockMethodBodyGetter();
            var classProxyGenerator = new ClassProxyGenerator(methodBodyGetter);

            classProxyGenerator.Generate(classDescription);

            Assert.AreEqual(1, methodBodyGetter.CallsCount);
            Assert.AreEqual("myMethod", methodBodyGetter.CallArgumentName);
        }
        public void GenerateSimpleClass()
        {
            var classDescription = new ClassDescription(
                "MyClass",
                "packageName",
                new List <ModifierDescription>(),
                new List <FieldDescription>(),
                new List <MethodDescription>(),
                new List <string>(),
                new List <ClassDescription>(),
                isNested: false);

            var classDeclaration = classProxyGenerator.Generate(classDescription);

            Assert.AreEqual("MyClass", classDeclaration.Identifier.ToString());
            Assert.AreEqual(0, classDeclaration.Members.Count);
            Assert.AreEqual(0, classDeclaration.Modifiers.Count);

            TestBase.CheckModifiers(new HashSet <string>(), classDeclaration.Modifiers);
        }