Exemple #1
0
        public bool verify(KnowledgeBase knowledge)
        {
            NTripleListVerifier verifier = new NTripleListVerifier();

            foreach (string nTriple in itsTriples)
            {
                verifier.Expect(nTriple);
            }

            StringWriter  received = new StringWriter();
            NTripleWriter writer   = new NTripleWriter(received);

            knowledge.Write(writer);

            StringReader receivedReader = new StringReader(received.ToString());
            string       receivedLine   = receivedReader.ReadLine();

            while (receivedLine != null)
            {
                string trimmed = receivedLine.Trim();
                if (trimmed.Length > 0 && !trimmed.StartsWith("#"))
                {
                    verifier.Receive(trimmed);
                }
                receivedLine = receivedReader.ReadLine();
            }

            bool verifyResult = verifier.Verify();

            lastFailureDescription = verifier.GetLastFailureDescription();
            return(verifyResult);
        }
Exemple #2
0
        public void parseStreamWithEntitiesInNamespaceDeclarationOfRootElementNamespace()
        {
            string rdf = @"<?xml version=""1.0"" encoding=""UTF-8""?>
<!DOCTYPE rdf:RDF [
	<!ENTITY ex 'http://example.com/ns/'>
	<!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
]>
<rdf:RDF xmlns:rdf=""&rdf;"" xmlns:ex=""&ex;"">
	<rdf:Description rdf:about=""http://example.com"">
		<ex:value>Test</ex:value>
	</rdf:Description>
</rdf:RDF>";


            SimpleModel model = new SimpleModel(new XsltParserFactory());

            XsltParserFactory parserFactory = new XsltParserFactory();
            Parser            parser        = parserFactory.MakeParser(new ResourceFactory(), new StatementFactory());

            parser.NewStatement += new StatementHandler(model.Add);

            MemoryStream stream = new MemoryStream();
            StreamWriter writer = new StreamWriter(stream);

            writer.Write(rdf);
            writer.Flush();
            stream.Position = 0;

            try {
                parser.Parse(stream, "");
            }
            catch (Exception) { }


            NTripleListVerifier verifier = new NTripleListVerifier();

            verifier.Expect(@"<http://example.com> <http://example.com/ns/value> ""Test"" .");
            foreach (string ntriple in model)
            {
                verifier.Receive(ntriple);
            }

            bool   testPassed         = verifier.Verify();
            string failureDescription = verifier.GetLastFailureDescription() + "\r\nTriples received:\r\n" + model.ToString();

            if (testPassed)
            {
                Console.WriteLine("XsltParserTest.parseWithEntities UNEXPECTEDLY PASSED - entity in namespace declaration problem might have been fixed ");
            }

            Assert.IsTrue(!testPassed); // We exoect this to fail
        }
Exemple #3
0
            public bool verify(bool verbose)
            {
                SimpleModel model = new SimpleModel(new XsltParserFactory());

                model.ParseString(itsOutputWriter.ToString(), "");

                if (verbose)
                {
                    Console.WriteLine(itsOutputWriter.ToString());
                }
                foreach (string ntriple in model)
                {
                    itsVerifier.Receive(ntriple);
                }

                return(itsVerifier.Verify());
            }
Exemple #4
0
        public void parseReaderWithoutEntities()
        {
            string rdf = @"<?xml version=""1.0"" encoding=""UTF-8""?>
<rdf:RDF xmlns:rdf=""http://www.w3.org/1999/02/22-rdf-syntax-ns#"">
	<rdf:Description rdf:about=""http://example.com"">
		<rdf:value>Test</rdf:value>
	</rdf:Description>
</rdf:RDF>";


            SimpleModel model = new SimpleModel(new XsltParserFactory());

            XsltParserFactory parserFactory = new XsltParserFactory();
            Parser            parser        = parserFactory.MakeParser(new ResourceFactory(), new StatementFactory());

            parser.NewStatement += new StatementHandler(model.Add);
            parser.Parse(new StringReader(rdf), "");


            NTripleListVerifier verifier = new NTripleListVerifier();

            verifier.Expect(@"<http://example.com> <http://www.w3.org/1999/02/22-rdf-syntax-ns#value> ""Test"" .");

            foreach (string ntriple in model)
            {
                verifier.Receive(ntriple);
            }

            bool   testPassed         = verifier.Verify();
            string failureDescription = verifier.GetLastFailureDescription() + "\r\nTriples received:\r\n" + model.ToString();

            if (!testPassed)
            {
                Console.WriteLine("XsltParserTest.parseWithEntities FAILED because ");
                Console.WriteLine(failureDescription);
            }

            Assert.IsTrue(testPassed);
        }