@Test
	public void testFilter_ClonedProvider() {

		// press filter
		// press the filter button
		DtFilterDialog mainDialog = showFilterDialog(provider);
		boolean isShowingStructures = false;
		updateFilter(mainDialog, "Structures", isShowingStructures);

		// 
		// Launch a new data types provider window to verify it has the same settings as the main 
		// provider's filter
		//  
		DataTypesProvider otherProvider = showClonedProvider();
		DtFilterDialog otherFilterDialog = showFilterDialog(otherProvider);

		// verify the state for the structure filter matches the state we changed above (this shows
		// the cloned provider is correctly getting the main provider's filter state)
		boolean otherIsShowStructures = runSwing(() -> {
			DtFilterState newFilterState = otherFilterDialog.getFilterState();
			return newFilterState.isShowStructures();
		});
		assertEquals(isShowingStructures, otherIsShowStructures);

		// now change the new provider's filter for a different option and then make sure that the 
		// main provider is not changed
		updateFilter(otherFilterDialog, "Functions", false);

		DtFilterState mainFilterState = runSwing(() -> provider.getFilterState());
		DtFilterState otherFilterState = runSwing(() -> otherProvider.getFilterState());
		boolean mainShowFunctions = runSwing(() -> mainFilterState.isShowFunctions());
		boolean otherShowFunctions = runSwing(() -> otherFilterState.isShowFunctions());
		assertNotEquals(mainShowFunctions, otherShowFunctions);
	}
Tests for managing categories through the data manager plugin and tests for
actions being enabled when a node is selected.
Ghidra/Features/Base/src/test.slow/java/ghidra/app/plugin/core/datamgr/DataTypeManagerPluginTest.java