public void Contains_rejects_null_predicate()
        {
            var g = new Graph();
            var s = g.CreateBlankNode();
            var d = new DynamicNode(s);

            Assert.False(d.Contains(null as string, null));
        }
        public void Contains_rejects_null_objects()
        {
            var g = new Graph();
            var s = g.CreateBlankNode();
            var p = "urn:p";
            var d = new DynamicNode(s);

            Assert.False(d.Contains(p, null));
        }
        public void Contains_rejects_missing_predicate()
        {
            var g = new Graph();
            var s = g.CreateBlankNode();
            var p = "urn:p";
            var o = g.CreateBlankNode();
            var d = new DynamicNode(s);

            Assert.False(d.Contains(p, o));
        }
        public void Contains_handles_strings()
        {
            var g = new Graph();

            g.LoadFromString(@"
<urn:s> <urn:p> ""o"" .
");

            var s = g.CreateUriNode(UriFactory.Create("urn:s"));
            var p = "urn:p";
            var d = new DynamicNode(s);

            Assert.True(d.Contains(p, "o"));
        }
        public void Contains_searches_objects_by_predicate()
        {
            var g = new Graph();

            g.LoadFromString(@"
<urn:s> <urn:p> <urn:o> .
");

            var s = g.CreateUriNode(UriFactory.Create("urn:s"));
            var p = "urn:p";
            var o = g.CreateUriNode(UriFactory.Create("urn:o"));
            var d = new DynamicNode(s);

            Assert.True(d.Contains(p, o));
        }
        public void Contains_rejects_missing_objects()
        {
            var g = new Graph();

            g.LoadFromString(@"
<urn:s> <urn:p> <urn:o> .
");

            var s = g.CreateUriNode(UriFactory.Create("urn:s"));
            var p = "urn:p";
            var o = g.CreateBlankNode();
            var d = new DynamicNode(s);

            Assert.False(d.Contains(p, o));
        }
        public void Contains_handles_enumerables()
        {
            var g = new Graph();

            g.LoadFromString(@"
<urn:s> <urn:p> <urn:s> .
<urn:s> <urn:p> <urn:p> .
<urn:s> <urn:p> <urn:o> .
");

            var s = UriFactory.Create("urn:s");
            var p = UriFactory.Create("urn:p");
            var d = new DynamicNode(g.CreateUriNode(s));

            Assert.True(d.Contains(p.AbsoluteUri, new[] { s, p }));
        }