@@ -0,0 +1,1726 @@
+// Copyright (c) Microsoft. All rights reserved.%0A// Licensed under the MIT license. See License.txt in the project root.%0A%0Apackage com.microsoft.alm.L2.tfvc;%0A%0Aimport com.intellij.openapi.vcs.VcsRootChecker;%0Aimport com.microsoft.alm.plugin.idea.tfvc.extensions.TfvcRootChecker;%0Aimport com.microsoft.alm.plugin.services.PropertyService;%0Aimport org.junit.Test;%0A%0Aimport java.io.IOException;%0A%0Apublic class TfvcRootCheckerTest extends TfvcCheckoutTestBase %7B%0A%0A    private String savedUseReactiveClientValue;%0A%0A    @Override%0A    protected void setUp() throws Exception %7B%0A        super.setUp();%0A        savedUseReactiveClientValue = PropertyService.getInstance()%0A                .getProperty(PropertyService.PROP_TFVC_USE_REACTIVE_CLIENT);%0A    %7D%0A%0A    @Override%0A    protected void tearDown() throws Exception %7B%0A        PropertyService.getInstance()%0A                .setProperty(PropertyService.PROP_TFVC_USE_REACTIVE_CLIENT, savedUseReactiveClientValue);%0A        super.tearDown();%0A    %7D%0A%0A    private void doRootCheckerTest() throws IOException, InterruptedException %7B%0A        checkoutTestRepository(workspace -%3E %7B%0A            TfvcRootChecker rootChecker = VcsRootChecker.EXTENSION_POINT_NAME.findExtension(TfvcRootChecker.class);%0A            assertNotNull(rootChecker);%0A            assertTrue(rootChecker.isRoot(workspace.toString()));%0A        %7D);%0A    %7D%0A%0A    @Test(timeout = 60000)%0A    public void testRootChecker() throws InterruptedException, IOException %7B%0A        PropertyService.getInstance().setProperty(PropertyService.PROP_TFVC_USE_REACTIVE_CLIENT, %22false%22);%0A        doRootCheckerTest();%0A        PropertyService.getInstance().setProperty(PropertyService.PROP_TFVC_USE_REACTIVE_CLIENT, %22true%22);%0A        doRootCheckerTest();%0A    %7D%0A%7D%0A

add integration tests for both classic and reactive clients