public void TestFindHiddenComponens(string modelName, int expected)
        {
            ModelDoc2   doc     = OpenSWDocument(modelName);
            AssemblyDoc assyDoc = (AssemblyDoc)doc;

            Assert.Equal(expected, CommonSwOperations.FindHiddenComponents(assyDoc.GetComponents(false)).Count);

            SwApp.CloseAllDocuments(true);
        }
        public void TestShowAllComponents(string modelName)
        {
            ModelDoc2   doc     = OpenSWDocument(modelName);
            AssemblyDoc assyDoc = (AssemblyDoc)doc;

            CommonSwOperations.ShowAllComponents(doc, new List <string>());
            Assert.Equal(0, CommonSwOperations.FindHiddenComponents(assyDoc.GetComponents(false)).Count);

            SwApp.CloseAllDocuments(true);
        }
        public void TestHideComponents(string modelName)
        {
            ModelDoc2         doc     = OpenSWDocument(modelName);
            AssemblyDoc       assyDoc = (AssemblyDoc)doc;
            List <string>     hiddenComponentNames = CommonSwOperations.FindHiddenComponents(assyDoc.GetComponents(false));
            List <Component2> hiddenComponents     =
                hiddenComponentNames.Select(name => assyDoc.GetComponentByName(name)).ToList();

            CommonSwOperations.ShowAllComponents(doc, new List <string>());
            CommonSwOperations.HideComponents(doc, hiddenComponents);
            List <string> hiddenComponentNames2 = CommonSwOperations.FindHiddenComponents(assyDoc.GetComponents(false));

            Assert.Equal(hiddenComponentNames.Count, hiddenComponentNames2.Count);

            SwApp.CloseAllDocuments(true);
        }
        public void TestShowComponents(string modelName)
        {
            ModelDoc2   doc     = OpenSWDocument(modelName);
            AssemblyDoc assyDoc = (AssemblyDoc)doc;

            // AssemblyDoc.GetComponentsByName only works on top level components.
            List <string>     hiddenComponentNames = CommonSwOperations.FindHiddenComponents(assyDoc.GetComponents(true));
            List <Component2> hiddenComponents     = new List <Component2>();

            foreach (string name in hiddenComponentNames)
            {
                Component2 hiddenComp = assyDoc.GetComponentByName(name);
                Assert.NotNull(hiddenComp);
                hiddenComponents.Add(hiddenComp);
            }
            CommonSwOperations.ShowComponents(doc, hiddenComponents);
            Assert.Equal(0, CommonSwOperations.FindHiddenComponents(assyDoc.GetComponents(true)).Count);

            SwApp.CloseAllDocuments(true);
        }