protected virtual void LoadProject() { // Prepare the package projectPackage = new NestedProjectPackage(); ((IVsPackage)projectPackage).SetSite(serviceProvider); // prepare the factory projectFactory = new NestedProjectFactoryFake(projectPackage); this.SetMsbuildEngine(projectFactory); //Create the project object using the projectfactory and load the project int canCreate; if (VSConstants.S_OK == ((IVsProjectFactory)projectFactory).CanCreateProject(fullPathToProjectFile, (uint)__VSCREATEPROJFLAGS.CPF_OPENFILE, out canCreate)) { MethodInfo preCreateForOuter = typeof(NestedProjectFactory).GetMethod("PreCreateForOuter", BindingFlags.Instance | BindingFlags.NonPublic); Assert.IsNotNull(preCreateForOuter, "failed to get the PreCreateForOuter method info object from NestedProjectFactory type"); projectNode = (NesteProjectNodeFake)preCreateForOuter.Invoke(projectFactory, new object[] { IntPtr.Zero }); Assert.IsNotNull(projectNode, "Failed to create the projectnode object"); Guid iidProject = new Guid(); int pfCanceled; projectNode.Load(fullPathToProjectFile, "", "", (uint)__VSCREATEPROJFLAGS.CPF_OPENFILE, ref iidProject, out pfCanceled); } generalPropertyPage = new GeneralPropertyPage(projectNode); }
public override void Initialize() { base.Initialize(); generalPropertyPage = new GeneralPropertyPage(); customProjectPackage = new CustomProjectPackage(); ((IVsPackage)customProjectPackage).SetSite(serviceProvider); customProjectFactory = new MyCustomProjectFactory(customProjectPackage); base.SetMsbuildEngine(customProjectFactory); int canCreate; if (VSConstants.S_OK == ((IVsProjectFactory)customProjectFactory).CanCreateProject(projectFile, 2, out canCreate)) { PrivateType type = new PrivateType(typeof(MyCustomProjectFactory)); PrivateObject obj = new PrivateObject(customProjectFactory, type); projectNode = (MyCustomProjectNode)obj.Invoke("PreCreateForOuter", new object[] { IntPtr.Zero }); Guid iidProject = new Guid(); int pfCanceled; projectNode.Load(projectFile, "", "", 2, ref iidProject, out pfCanceled); } }
/// <summary> /// Runs after the test has run and to free resources obtained /// by all the tests in the test class. /// </summary> // [TestCleanup()] public void Cleanup() { ((IVsPackage)projectPackage).SetSite(null); serviceProvider.Dispose(); generalPropertyPage = null; }
public void DefaultNamespaceTest() { GeneralPropertyPage target = generalPropertyPage; target.DefaultNamespace = testString; Assert.AreEqual(testString, target.DefaultNamespace, "DefaultNamespace property value was not initialized by expected value;"); Assert.IsTrue((VSConstants.S_OK == target.IsPageDirty()), "IsDirty status was unexpected after changing of the property of the tested object."); }
public void ConstructorTest() { GeneralPropertyPage target = generalPropertyPage; target.Name = testString; Assert.AreEqual(testString, target.Name, target.ApplicationIcon, "Name property value was not initialized by expected value in GeneralPropertyPage() constructor."); }
public void AssemblyNameTest() { GeneralPropertyPage target = generalPropertyPage; target.AssemblyName = testString; Assert.AreEqual(testString, gppAccessor.assemblyName, target.ApplicationIcon, "AssemblyName property value was not initialized by expected value."); Assert.IsTrue((VSConstants.S_OK == target.IsPageDirty()), "IsDirty status was unexpected after changing of the property of the tested object."); }
public void ProjectFileTest() { PrepareProjectConfig(); GeneralPropertyPage target = generalPropertyPage; // Project File Name must be equivalent with name of the currently loaded project Assert.AreEqual(Path.GetFileName(fullPathToProjectFile), target.ProjectFile, "ProjectFile property value was initialized by unexpected path value."); }
public void GetClassNameTest() { GeneralPropertyPage target = generalPropertyPage; string expectedClassName = "Microsoft.VisualStudio.Project.Samples.NestedProject.GeneralPropertyPage"; string actualClassName = target.GetClassName(); Assert.AreEqual(expectedClassName, actualClassName, "GetClassName() method was returned unexpected Type FullName value."); }
public void StartupObjectTest() { GeneralPropertyPage target = generalPropertyPage; target.StartupObject = testString; Assert.AreEqual(testString, gppAccessor.startupObject, target.StartupObject, "StartupObject property value was not initialized by expected value."); Assert.IsTrue((VSConstants.S_OK == target.IsPageDirty()), "IsDirty status was unexpected after changing of the property of the tested object."); }
public void OutputFileWithLibraryTypeTest() { GeneralPropertyPage target = generalPropertyPage; gppAccessor.outputType = OutputType.Library; string expectedValue = target.AssemblyName + ".dll"; Assert.AreEqual(expectedValue, target.OutputFile, "OutputFile name was initialized by unexpected value for Library OutputType."); }
public void OutputFileWithWinExeTypeTest() { GeneralPropertyPage target = generalPropertyPage; gppAccessor.outputType = OutputType.WinExe; string expectedValue = target.AssemblyName + ".exe"; Assert.AreEqual(expectedValue, target.OutputFile, "OutputFile name was initialized by unexpected value for WINEXE OutputType."); }
public void TargetPlatformLocationTest() { GeneralPropertyPage target = generalPropertyPage; target.TargetPlatformLocation = testString; Assert.AreEqual(testString, target.TargetPlatformLocation, "TargetPlatformLocation property value was not initialized by expected value."); Assert.IsTrue((VSConstants.S_OK == target.IsPageDirty()), "IsDirty status was unexpected after changing of the property of the tested object."); }
public void ConstructorTest() { GeneralPropertyPage page = generalPropertyPage; page.Name = expected; string actual = page.Name; Assert.AreEqual(expected, actual, "Name property value was not initialized by expected value in GeneralPropertyPage() constructor."); }
private static void AssertOuputFile(GeneralPropertyPage page, string expectedAssemblyName, OutputType outputType) { FieldInfo outputTypeInfo = typeof(GeneralPropertyPage).GetField("outputType", BindingFlags.NonPublic | BindingFlags.Instance); outputTypeInfo.SetValue(page, outputType); Assert.AreEqual <string>(outputType.ToString(), outputTypeInfo.GetValue(page).ToString()); string expectedOutputFile = expectedAssemblyName + PythonProjectNode.GetOuputExtension(outputType); Assert.AreEqual <string>(expectedOutputFile, page.OutputFile); }
public void ApplyChangesNullableProjectMgrTest() { GeneralPropertyPage target = generalPropertyPage; // sets indirectly projectMgr to null target.SetObjects(0, null); int actual = gppAccessor.ApplyChanges(); Assert.IsNull(target.ProjectMgr, "ProjectMgr instance was not initialized to null as it expected."); Assert.AreEqual(VSConstants.E_INVALIDARG, actual, "Method ApplyChanges() was returned unexpected value in case of uninitialized project instance."); }
public void OutputTypeTest() { GeneralPropertyPage target = generalPropertyPage; OutputType expectedOutType = OutputType.Library; target.OutputType = expectedOutType; Assert.AreEqual(expectedOutType, target.OutputType, "OutputType property value was initialized by unexpected value."); Assert.IsTrue((VSConstants.S_OK == target.IsPageDirty()), "IsDirty status was unexpected after changing of the property of the tested object."); }
public void TargetPlatformTest() { GeneralPropertyPage target = generalPropertyPage; PlatformType expectedPlatformType = PlatformType.v2; target.TargetPlatform = expectedPlatformType; Assert.AreEqual(expectedPlatformType, target.TargetPlatform, "TargetPlatform property value was not initialized by expected value."); Assert.IsTrue((VSConstants.S_OK == target.IsPageDirty()), "IsDirty status was unexpected after changing of the property of the tested object."); }
public void ProjectFolderTest() { PrepareProjectConfig(); GeneralPropertyPage target = generalPropertyPage; string expectedProjectFolderPath = Path.GetDirectoryName(fullPathToProjectFile); expectedProjectFolderPath = Path.GetDirectoryName(expectedProjectFolderPath); // Project Folder path must be equivalent with path of the currently loaded project Assert.AreEqual(expectedProjectFolderPath, target.ProjectFolder, "ProjectFolder property value was initialized by unexpected path value."); }
public void VerifyOutPutFileNameProperty() { GeneralPropertyPage page = new GeneralPropertyPage(); // Set the assemblyname string defaultAssemblyName = "Test"; FieldInfo assemblyName = typeof(GeneralPropertyPage).GetField("assemblyName", BindingFlags.NonPublic | BindingFlags.Instance); assemblyName.SetValue(page, defaultAssemblyName); Assert.AreEqual<string>(defaultAssemblyName, assemblyName.GetValue(page).ToString()); // Test that Output file (DefaultAssemblyName and Library) provides expected result AssertOuputFile(page, defaultAssemblyName, OutputType.Library); // Test that Output file (DefaultAssemblyName and WinExe) provides expected result AssertOuputFile(page, defaultAssemblyName, OutputType.WinExe); // Test that Output file (DefaultAssemblyName and Exe) provides expected result AssertOuputFile(page, defaultAssemblyName, OutputType.Exe); }
public void GeneralPropertyPageTestInitialize() { testString = "This is a test string"; // Create a basic service provider serviceProvider = Microsoft.VsSDK.UnitTestLibrary.OleServiceProvider.CreateOleServiceProviderWithBasicServices(); AddBasicSiteSupport(serviceProvider); // Initialize GeneralPropertyPage instance generalPropertyPage = new GeneralPropertyPage(); gppAccessor = new VisualStudio_Project_Samples_GeneralPropertyPageAccessor(generalPropertyPage); // Initialize ProjectPackage context projectPackage = new NestedProjectPackage(); ((IVsPackage)projectPackage).SetSite(serviceProvider); // prepare the factory projectFactory = new NestedProjectFactoryFake(projectPackage); //set the build engine and build project on the factory object FieldInfo buildEngine = typeof(ProjectFactory).GetField("buildEngine", BindingFlags.Instance | BindingFlags.NonPublic); buildEngine.SetValue(projectFactory, MSBuild.Engine.GlobalEngine); MSBuild.Project msbuildproject = MSBuild.Engine.GlobalEngine.CreateNewProject(); FieldInfo buildProject = typeof(ProjectFactory).GetField("buildProject", BindingFlags.Instance | BindingFlags.NonPublic); buildProject.SetValue(projectFactory, msbuildproject); //Create the project object using the projectfactory and load the project int canCreate; if (VSConstants.S_OK == ((IVsProjectFactory)projectFactory).CanCreateProject(fullPathToProjectFile, 2, out canCreate)) { MethodInfo preCreateForOuter = typeof(NestedProjectFactory).GetMethod("PreCreateForOuter", BindingFlags.Instance | BindingFlags.NonPublic); Assert.IsNotNull(preCreateForOuter, "failed to get the PreCreateForOuter method info object from NestedProjectFactory type"); projectNode = (NesteProjectNodeFake)preCreateForOuter.Invoke(projectFactory, new object[] { IntPtr.Zero }); Assert.IsNotNull(projectNode, "Failed to create the projectnode object"); Guid iidProject = new Guid(); int pfCanceled; projectNode.Load(fullPathToProjectFile, "", "", 2, ref iidProject, out pfCanceled); } }
public void VerifyOutPutFileNameProperty() { GeneralPropertyPage page = new GeneralPropertyPage(); // Set the assemblyname string defaultAssemblyName = "Test"; FieldInfo assemblyName = typeof(GeneralPropertyPage).GetField("assemblyName", BindingFlags.NonPublic | BindingFlags.Instance); assemblyName.SetValue(page, defaultAssemblyName); Assert.AreEqual <string>(defaultAssemblyName, assemblyName.GetValue(page).ToString()); // Test that Output file (DefaultAssemblyName and Library) provides expected result AssertOuputFile(page, defaultAssemblyName, OutputType.Library); // Test that Output file (DefaultAssemblyName and WinExe) provides expected result AssertOuputFile(page, defaultAssemblyName, OutputType.WinExe); // Test that Output file (DefaultAssemblyName and Exe) provides expected result AssertOuputFile(page, defaultAssemblyName, OutputType.Exe); }
protected virtual void LoadProject() { generalPropertyPage = new GeneralPropertyPage(); // Prepare the package projectPackage = new NestedProjectPackage(); ((IVsPackage)projectPackage).SetSite(serviceProvider); // prepare the factory projectFactory = new NestedProjectFactoryFake(projectPackage); this.SetMsbuildEngine(projectFactory); //Create the project object using the projectfactory and load the project int canCreate; if (VSConstants.S_OK == ((IVsProjectFactory)projectFactory).CanCreateProject(fullPathToProjectFile, 2, out canCreate)) { MethodInfo preCreateForOuter = typeof(NestedProjectFactory).GetMethod("PreCreateForOuter", BindingFlags.Instance | BindingFlags.NonPublic); Assert.IsNotNull(preCreateForOuter, "failed to get the PreCreateForOuter method info object from NestedProjectFactory type"); projectNode = (NesteProjectNodeFake)preCreateForOuter.Invoke(projectFactory, new object[] { IntPtr.Zero }); Assert.IsNotNull(projectNode, "Failed to create the projectnode object"); Guid iidProject = new Guid(); int pfCanceled; projectNode.Load(fullPathToProjectFile, "", "", 2, ref iidProject, out pfCanceled); } }
internal VisualStudio_Project_Samples_GeneralPropertyPageAccessor(GeneralPropertyPage target) : base(target, m_privateType) { }
public void GeneralPropertyPageTestInitialize() { testString = "This is a test string"; // Create a basic service provider serviceProvider = Microsoft.VsSDK.UnitTestLibrary.OleServiceProvider.CreateOleServiceProviderWithBasicServices(); AddBasicSiteSupport(serviceProvider); // Initialize GeneralPropertyPage instance generalPropertyPage = new GeneralPropertyPage(); gppAccessor = new VisualStudio_Project_Samples_GeneralPropertyPageAccessor(generalPropertyPage); // Initialize ProjectPackage context projectPackage = new NestedProjectPackage(); ((IVsPackage)projectPackage).SetSite(serviceProvider); // prepare the factory projectFactory = new NestedProjectFactoryFake(projectPackage); //set the build engine and build project on the factory object FieldInfo buildEngine = typeof(ProjectFactory).GetField("buildEngine", BindingFlags.Instance | BindingFlags.NonPublic); buildEngine.SetValue(projectFactory, MSBuild.Engine.GlobalEngine); MSBuild.Project msbuildproject = MSBuild.Engine.GlobalEngine.CreateNewProject(); FieldInfo buildProject = typeof(ProjectFactory).GetField("buildProject", BindingFlags.Instance | BindingFlags.NonPublic); buildProject.SetValue(projectFactory, msbuildproject); //Create the project object using the projectfactory and load the project int canCreate; if(VSConstants.S_OK == ((IVsProjectFactory)projectFactory).CanCreateProject(fullPathToProjectFile, 2, out canCreate)) { MethodInfo preCreateForOuter = typeof(NestedProjectFactory).GetMethod("PreCreateForOuter", BindingFlags.Instance | BindingFlags.NonPublic); Assert.IsNotNull(preCreateForOuter, "failed to get the PreCreateForOuter method info object from NestedProjectFactory type"); projectNode = (NesteProjectNodeFake)preCreateForOuter.Invoke(projectFactory, new object[] { IntPtr.Zero }); Assert.IsNotNull(projectNode, "Failed to create the projectnode object"); Guid iidProject = new Guid(); int pfCanceled; projectNode.Load(fullPathToProjectFile, "", "", 2, ref iidProject, out pfCanceled); } }
private static void AssertOuputFile(GeneralPropertyPage page, string expectedAssemblyName, OutputType outputType) { FieldInfo outputTypeInfo = typeof(GeneralPropertyPage).GetField("outputType", BindingFlags.NonPublic | BindingFlags.Instance); outputTypeInfo.SetValue(page, outputType); Assert.AreEqual<string>(outputType.ToString(), outputTypeInfo.GetValue(page).ToString()); string expectedOutputFile = expectedAssemblyName + PythonProjectNode.GetOuputExtension(outputType); Assert.AreEqual<string>(expectedOutputFile, page.OutputFile); }