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); }
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 }
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()); }
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); }