private static void VerifyIdTriple(ReadOnlyGraph readOnlyGraph)
        {
            var idTriples = readOnlyGraph.GetTriplesWithSubjectPredicate(
                readOnlyGraph.CreateUriNode(PackageUri),
                readOnlyGraph.CreateUriNode(Schema.Predicates.Id));

            Assert.Equal(1, idTriples.Count());
            Assert.Equal(PackageId, ((LiteralNode)idTriples.First().Object).Value);
        }
        public void MutationsOfTheOriginalGraphDoNotEffectTheReadOnlyGraph()
        {
            // Arrange
            var mutableGraph  = GetIdMutableGraph();
            var readOnlyGraph = new ReadOnlyGraph(mutableGraph);

            // Act
            mutableGraph.Assert(
                mutableGraph.CreateUriNode(PackageUri),
                mutableGraph.CreateUriNode(Schema.Predicates.Version),
                mutableGraph.CreateLiteralNode(PackageVersion));

            // Assert
            var versionTriples = readOnlyGraph.GetTriplesWithSubjectPredicate(
                readOnlyGraph.CreateUriNode(PackageUri),
                readOnlyGraph.CreateUriNode(Schema.Predicates.Version));

            Assert.Empty(versionTriples);

            VerifyIdTriple(readOnlyGraph);
            Assert.Equal(1, readOnlyGraph.Triples.Count);
        }