BTDBTest.FindUnusedKeysTest.FindAndRemovesUnusedKeys C# (CSharp) Method

FindAndRemovesUnusedKeys() private method

private FindAndRemovesUnusedKeys ( ) : void
return void
        public void FindAndRemovesUnusedKeys()
        {
            StoreJobInDictionary("programming", "code");
            StoreJobInDictionary("chess", "mate");
            using (var tr = _db.StartTransaction())
            {
                var sports = tr.Singleton<Directory>();
                sports.Dir["programming"] = new JobMap();
                tr.Commit();
            }

            using (var visitor = new FindUnusedKeysVisitor())
            {
                using (var tr = _db.StartReadOnlyTransaction())
                {
                    visitor.ImportAllKeys(tr);
                    visitor.Iterate(tr);
                }
                var report = DumpUnseenKeys(visitor, "\r\n");
                Approvals.Verify(report);

                using (var tr = _db.StartTransaction())
                {
                    visitor.DeleteUnused(tr);
                    tr.Commit();
                }
            }
            ReopenDb();
            AssertNoLeaksInDb();
            using (var tr = _db.StartReadOnlyTransaction())
            {
                //check that db has is not broken after removing unused keys
                var sports = tr.Singleton<Directory>();
                Assert.Equal(sports.Dir["chess"].Jobs[0].Duty.Name, "mate");
            }
        }