### Question:
FreeStyleProject extends Project<FreeStyleProject,FreeStyleBuild> implements TopLevelItem,
    IFreeStyleProject { public String getCustomWorkspace() throws IOException { return CascadingUtil.getStringProjectProperty(this, CUSTOM_WORKSPACE_PROPERTY_NAME).getValue(); } FreeStyleProject(Hudson parent, String name);  FreeStyleProject(ItemGroup parent, String name); String getCustomWorkspace(); void setCustomWorkspace(String customWorkspace); DescriptorImpl getDescriptor(); @Extension(ordinal=1000)
    static final DescriptorImpl DESCRIPTOR; }### Answer:
@Test public void testGetCustomWorkspace() throws IOException { String customWorkspace = "/tmp"; FreeStyleProjectMock childProject = new FreeStyleProjectMock("child"); childProject.setCustomWorkspace(customWorkspace); assertEquals(customWorkspace, childProject.getCustomWorkspace()); FreeStyleProject parentProject = new FreeStyleProjectMock("parent"); parentProject.setCustomWorkspace(customWorkspace); childProject.setCustomWorkspace(" "); childProject.setCascadingProject(parentProject); assertEquals(customWorkspace, childProject.getCustomWorkspace()); parentProject.setCustomWorkspace(" "); assertNull(childProject.getCustomWorkspace()); }