public void TestGetImplementation()
        {
            var digest1 = new ManifestDigest(sha256: "123");
            var implementation1 = new Implementation {ManifestDigest = digest1};
            var feed1 = new Feed {Elements = {implementation1}};
            var digest2 = new ManifestDigest(sha256: "abc");
            var implementation2 = new Implementation {ManifestDigest = digest2};
            var feed2 = new Feed {Elements = {implementation2}};
            var feeds = new[] {feed1, feed2};

            Feed feed;
            Assert.AreEqual(implementation1, feeds.GetImplementation(digest1, out feed));
            Assert.AreEqual(feed1, feed);

            Assert.AreEqual(implementation2, feeds.GetImplementation(digest2, out feed));
            Assert.AreEqual(feed2, feed);

            Assert.IsNull(feeds.GetImplementation(new ManifestDigest(sha256: "invalid"), out feed), "No implementation should have been found");
            Assert.IsNull(feed, "No feed should have been found");
        }