public void Test_Check()
        {
            var context = GetTestContext ();

            var checker = new DataChecker (context.Reader, context.Settings);

            var exampleArticle = new ExampleArticle ();

            context.Saver.Save (exampleArticle);

            // TODO: Make this test fully isolated instead of using the Save function above

            // TODO: clean up
            //var key = Context.Settings.Prefix + "-" + exampleArticle.GetType ().FullName + "-" + exampleArticle.Id;

            //Context.DataClient.Data [key] = exampleArticle.ToJson ();

            var exists = checker.Exists (exampleArticle);

            Assert.IsTrue (exists);
        }
        public void Test_TwoWayReference_RemoveReverseLinkOnUpdate()
        {
            var author = new ExampleAuthor ();
            var article = new ExampleArticle ();

            author.Articles = new ExampleArticle[]{ article };
            article.Author = author;

            var data = GetDataManager ();

            data.Settings.IsVerbose = true;

            data.Save (article);
            data.Save (author);

            data.WriteSummary ();

            // Remove the article
            author.Articles = new ExampleArticle[]{ };

            data.Update(author);

            data.WriteSummary ();

            var newArticle = data.Get<ExampleArticle> (article.Id);

            Assert.IsNull(newArticle.Author, "Linker failed to remove the link.");
        }