public void TestCsharplangReadTreeDelta()
        {
            string                    repoDir = TestUtils.ExtractZippedRepo("csharplang.git");
            RepositoryReader          reader  = new RepositoryReader(repoDir);
            string                    hash    = "ba2a7c63986f13c2f554c32353a9a69ff6292106";
            IReadOnlyList <TreeEntry> res     = reader.ReadTree(hash);

            Assert.AreEqual(res.Count, 31);
        }
        public void Test02ReadTree()
        {
            string                    repoDir = TestUtils.ExtractZippedRepo("TestRepo02");
            RepositoryReader          reader  = new RepositoryReader(repoDir);
            IReadOnlyList <TreeEntry> res     = reader.ReadTree("ce2d3a85f185830a19e84d404155bf9847ede8b8");

            Assert.AreEqual(res.Count, 1);
            StringAssert.AreEqualIgnoringCase("31d6d2184fe8deab8e52bd9581d67f35d4ecd5ca", res[0].Hash);
            Assert.AreEqual("mydocument.txt", res[0].Name);
            Assert.AreEqual(TreeEntryMode.RegularNonExecutableFile, res[0].Mode);
        }
        public void TestCsharplangReadTree()
        {
            string                    repoDir = TestUtils.ExtractZippedRepo("csharplang.git");
            RepositoryReader          reader  = new RepositoryReader(repoDir);
            string                    hash    = "1af7239766b45f2c85f422a99867919ca9e1e935";
            IReadOnlyList <TreeEntry> res     = reader.ReadTree(hash);

            Assert.AreEqual(res.Count, 6);
            Assert.AreEqual(res[0].Hash, "176A458F94E0EA5272CE67C36BF30B6BE9CAF623");
            Assert.AreEqual(res[0].Mode, TreeEntryMode.RegularNonExecutableFile);
            Assert.AreEqual(res[0].Name, ".gitattributes");
            Assert.AreEqual(res[3].Hash, "B00C0CD41F02E6CD62C292B00F25E26A3AC7E64F");
            Assert.AreEqual(res[3].Mode, TreeEntryMode.Directory);
            Assert.AreEqual(res[3].Name, "meetings");
        }