public void NGit_O2Platform()
        {
            var repoToClone = "UnitTests_TestRepo";
            var pathToRepo  = tempFolder.pathCombine(repoToClone);

            Assert.IsTrue(tempFolder.dirExists());
            Assert.IsEmpty(tempFolder.dirs());
            Assert.IsFalse(pathToRepo.dirExists());
            Assert.IsFalse(pathToRepo.isGitRepository());

            API_NGit_O2Platform ngit_O2 = null;

            Action checkRepo =
                () => {
                Assert.IsNotNull(ngit_O2);
                Assert.IsNull(ngit_O2.Git);
                Assert.IsNull(ngit_O2.Repository);

                ngit_O2.cloneOrPull(repoToClone);

                Assert.IsTrue(pathToRepo.dirExists());
                Assert.IsTrue(pathToRepo.isGitRepository());

                ngit_O2.open(pathToRepo);

                Assert.IsNotNull(ngit_O2.Git);
                Assert.IsNotNull(ngit_O2.Repository);

                ngit_O2.nGit().close();
            };

            //Test Clone
            ngit_O2 = new API_NGit_O2Platform(tempFolder);
            checkRepo();

            //Test Open
            ngit_O2 = new API_NGit_O2Platform(tempFolder);
            checkRepo();

            var result = ngit_O2.delete_Repository_And_Files();

            Assert.IsTrue(result);

            tempFolder.delete_Folder();
            Assert.IsFalse(tempFolder.dirExists());
        }