public void test_ExtractMethodFromAssembly()
        {
            AssemblyDefinition sourceCecilAssembly = CecilUtils.getAssembly(Assembly.GetExecutingAssembly().Location);//DI.config.hardCodedPathToO2UnitTestsDll);

            Assert.IsNotNull(sourceCecilAssembly, "sourceAsembly was null");

            // create assembly using Cecil
            var cecilNewAssembly = new CecilAssemblyBuilder("ExtractedType");

            cecilNewAssembly.addDummyType();
            // todo: checkout why It looks like I need this in order for the type cloning to work

            // extract types from loaded CecilAssembly and add them to the new CecilAssembly
            foreach (string typeToExtract in typesToExtract)
            {
                TypeDefinition cecilTypeToExtract = CecilUtils.getType(sourceCecilAssembly, typeToExtract);
                Assert.IsNotNull(cecilTypeToExtract, "typeToExtract was null");
                cecilNewAssembly.addType(cecilTypeToExtract);
            }
            // save cecilNewAssembly
            string cecilAssemblyFile = cecilNewAssembly.Save(DI.config.O2TempDir);

            Assert.IsTrue(File.Exists(cecilAssemblyFile), "file didn't exist");

            // create assembly try to open it using Reflector

            Assembly reflectionAssembly = DI.reflection.getAssembly(cecilAssemblyFile);

            Assert.IsNotNull(reflectionAssembly, "assembly was null");
            List <Type> reflectionTypes = DI.reflection.getTypes(reflectionAssembly);

            Assert.IsNotNull(reflectionTypes, "reflectionTypes was null");
            Assert.That(reflectionTypes.Count() > 0, "reflectionTypes.Count == 0");
        }
        public void test_CloningAssembly()
        {
            AssemblyDefinition sourceAssembly = CecilUtils.getAssembly(currentAssembly);

            Assert.IsNotNull(sourceAssembly, "sourceAsembly was null");
            var newAssembly = new CecilAssemblyBuilder("Cloned Assembly");
            //  foreach (var type in CecilUtils.getTypes(sourceAssembly))
            //      newAssembly.addType(type);
            string file = newAssembly.Save(DI.config.O2TempDir);

            Assert.IsTrue(File.Exists(file), "file didn't exist");
        }