예제 #1
0
        public void VerifyThatInvalidIdentifierNamesAreParsed()
        {
            var environment = new IntegrationTestEnvironment();
            var asset       = environment.GetTestAsset("CILProject.dll", "net451");
            var assembly    = Assembly.LoadFrom(asset);
            var types       = assembly.GetTypes();

            foreach (var type in types)
            {
                var methods = type.GetMethods();

                foreach (var method in methods)
                {
                    if (method.DeclaringType != type)
                    {
                        continue;
                    }

                    ManagedNameHelper.GetManagedName(method, out var typeName, out var methodName);
                    var methodInfo = ManagedNameHelper.GetMethod(assembly, typeName, methodName);
                    ManagedNameHelper.GetManagedName(methodInfo, out var typeName2, out var methodName2);

                    Assert.IsTrue(method == methodInfo);
                    Assert.AreEqual(typeName, typeName2, $"Type parse roundtrip test failed: {method} ({typeName} != {typeName2})");
                    Assert.AreEqual(methodName, methodName2, $"Method parse roundtrip test failed: {method} ({methodName} != {methodName2})");
                }
            }
        }
예제 #2
0
        private string GetInProcDataCollectionRunsettingsFile()
        {
            var runSettings     = Path.Combine(Path.GetDirectoryName(this.GetSampleTestAssembly()), "runsettingstest.runsettings");
            var testEnvironment = new IntegrationTestEnvironment();
            var inprocasm       = testEnvironment.GetTestAsset("SimpleDataCollector.dll");
            var fileContents    = @"<RunSettings>
                                    <InProcDataCollectionRunSettings>
                                        <InProcDataCollectors>
                                            <InProcDataCollector friendlyName='Test Impact' uri='InProcDataCollector://Microsoft/TestImpact/1.0' assemblyQualifiedName='SimpleDataCollector.SimpleDataCollector, SimpleDataCollector, Version=1.0.0.0, Culture=neutral, PublicKeyToken=7ccb7239ffde675a'  codebase={0}>
                                                <Configuration>
                                                    <Port>4312</Port>
                                                </Configuration>
                                            </InProcDataCollector>
                                        </InProcDataCollectors>
                                    </InProcDataCollectionRunSettings>
                                </RunSettings>";

            fileContents = string.Format(fileContents, "'" + inprocasm + "'");
            File.WriteAllText(runSettings, fileContents);

            return(runSettings);
        }