@Test
	public void testClassCategoryDuplicates_NestedClass_ChangeNamespace() throws Exception {

		/*
		 	
		 	The Classes folder flattens classes so every class appears at the top level.  Because
		 	users can expand classes, top level classes may also appear nested under other classes.
		 	
		 	Classes
		 		Class1		 			
		 			Label1
		 			BarNs
		 				Class2
		 					Label2
		 		Class2
		 			Label2
		 		
		 	Namespaces		 	
		 		FooNs
		 			Class1
		 				Label1
		 				BarNs		 				
		 					Class2
		 						Label2
		 */

		Namespace fooNs = createNamespace("FooNs");
		GhidraClass class1 = createClass(fooNs, "Class1");
		Namespace barNs = createNamespace(class1, "BarNs");
		Symbol label1 = createLabel(class1, "Label1", "0x1001100");
		GhidraClass class2 = createClass(barNs, "Class2");
		createLabel(class2, "Label2", "0x1001104");

		expandClasses();
		expandNamesapces();

		// verify all leaf nodes
		//@formatter:off
		assertNamespaceNodes(
			"FooNs::Class1::Label1",
			"FooNs::Class1::BarNs::Class2::Label2"
		);
		//@formatter:on

		//@formatter:off
		assertClassNodes(
			"Class1::Label1",
			"Class1::BarNs::Class2::Label2",
			"Class2::Label2"
		);
		//@formatter:on

		moveLabel(label1, barNs);

		//@formatter:off
		assertNamespaceNodes(
			"FooNs::Class1::BarNs::Label1",
			"FooNs::Class1::BarNs::Class2::Label2"
		);
		//@formatter:on

		//@formatter:off
		assertClassNodes(
			"Class1",
			"Class1::BarNs::Label1",
			"Class1::BarNs::Class2::Label2",
			"Class2::Label2"
		);
		//@formatter:on
	}
Tests for the symbol tree plugin.
Ghidra/Features/Base/src/test.slow/java/ghidra/app/plugin/core/symboltree/SymbolTreePlugin2Test.java