public boolean testCase1()

in java/src/org/apache/qetest/trax/sax/SAXSourceAPITest.java [153:260]


    public boolean testCase1()
    {
        reporter.testCaseInit("Basic API coverage, constructor and set/get methods");

        // Default no-arg ctor sets nothing (but needs special test for 
        //  creating new doc when being transformed)
        SAXSource defaultSAX = new SAXSource();
        reporter.checkObject(defaultSAX.getInputSource(), null, "Default SAXSource should have null InputSource");
        reporter.checkObject(defaultSAX.getXMLReader(), null, "Default SAXSource should have null XMLReader");
        reporter.check(defaultSAX.getSystemId(), null, "Default SAXSource should have null SystemId");

        try
        {
            // ctor(InputSource) with an InputSource()
            InputSource srcNoID = new InputSource();
            SAXSource saxSrcNoID = new SAXSource(srcNoID);
            reporter.checkObject(saxSrcNoID.getInputSource(), srcNoID, "SAXSource(new InputSource()) has InputSource: " + saxSrcNoID.getInputSource());
            reporter.checkObject(saxSrcNoID.getXMLReader(), null, "SAXSource(new InputSource()) should have null XMLReader");
            reporter.check(saxSrcNoID.getSystemId(), null, "SAXSource(new InputSource()) should have null SystemId");

            // ctor(InputSource) with an InputSource("sysId")
            InputSource srcWithID = new InputSource(NONSENSE_SYSTEMID);
            SAXSource saxSrcWithID = new SAXSource(srcWithID);
            reporter.checkObject(saxSrcWithID.getInputSource(), srcWithID, "SAXSource(new InputSource(sysId)) has InputSource: " + saxSrcWithID.getInputSource());
            reporter.checkObject(saxSrcWithID.getXMLReader(), null, "SAXSource(new InputSource(sysId)) should have null XMLReader");
            reporter.check(saxSrcWithID.getSystemId(), NONSENSE_SYSTEMID, "SAXSource(new InputSource(sysId)) has SystemId: " + saxSrcWithID.getSystemId());

            // ctor(XMLReader, InputSource) 
            reporter.logTraceMsg("API coverage of ctor(XMLReader, InputSource)...");
            reporter.logTraceMsg("JAXP way:reader = SAXParserFactory.newInstance().newSAXParser().getXMLReader()");
            XMLReader reader2 = SAXParserFactory.newInstance().newSAXParser().getXMLReader();
            SAXSource saxSrcReaderID2 = new SAXSource(reader2, srcWithID);
            reporter.checkObject(saxSrcReaderID2.getInputSource(), srcWithID, "SAXSource(reader, new InputSource(sysId)) has InputSource: " + saxSrcReaderID2.getInputSource());
            reporter.checkObject(saxSrcReaderID2.getXMLReader(), reader2, "SAXSource(reader, new InputSource(sysId)) has XMLReader: " + saxSrcReaderID2.getXMLReader());
            reporter.check(saxSrcReaderID2.getSystemId(), NONSENSE_SYSTEMID, "SAXSource(reader, new InputSource(sysId)) has SystemId: " + saxSrcReaderID2.getSystemId());

            // ctor(XMLReader, InputSource) 
            reporter.logTraceMsg("SAX way:reader = SAXParser.getXMLReader()");
            // Be sure to use the JAXP methods only!
            SAXParserFactory factory = SAXParserFactory.newInstance();
            factory.setNamespaceAware(true);
            SAXParser saxParser = factory.newSAXParser();
            XMLReader reader = saxParser.getXMLReader();
            SAXSource saxSrcReaderID = new SAXSource(reader, srcWithID);
            reporter.checkObject(saxSrcReaderID.getInputSource(), srcWithID, "SAXSource(reader, new InputSource(sysId)) has InputSource: " + saxSrcReaderID.getInputSource());
            reporter.checkObject(saxSrcReaderID.getXMLReader(), reader, "SAXSource(reader, new InputSource(sysId)) has XMLReader: " + saxSrcReaderID.getXMLReader());
            reporter.check(saxSrcReaderID.getSystemId(), NONSENSE_SYSTEMID, "SAXSource(reader, new InputSource(sysId)) has SystemId: " + saxSrcReaderID.getSystemId());

            // ctor(null InputSource) - note it won't actually 
            //  be able to be used as a Source in real life
            SAXSource saxNullSrc = new SAXSource(null);
            reporter.checkObject(saxNullSrc.getInputSource(), null, "SAXSource(null InputSource) has null InputSource");
            reporter.checkObject(saxNullSrc.getXMLReader(), null, "SAXSource(null InputSource) has null XMLReader");
            reporter.check(saxNullSrc.getSystemId(), null, "SAXSource(null InputSource) has null SystemId");

            // ctor(null Reader, null InputSource)
            SAXSource saxNullSrc2 = new SAXSource(null, null);
            reporter.checkObject(saxNullSrc2.getInputSource(), null, "SAXSource(null XMLReader, null InputSource) has null InputSource");
            reporter.checkObject(saxNullSrc2.getXMLReader(), null, "SAXSource(null XMLReader, null InputSource) has null XMLReader");
            reporter.check(saxNullSrc2.getSystemId(), null, "SAXSource(null XMLReader, null InputSource) has null SystemId");


            // Validate various simple set/get methods
            SAXSource wackySAX = new SAXSource();
            // Validate setting systemId auto-creates InputSource 
            //  with that systemId
            wackySAX.setSystemId(NONSENSE_SYSTEMID);
            reporter.checkObject(wackySAX.getSystemId(), NONSENSE_SYSTEMID, "set/getSystemId API coverage - after autocreate InputSource");
            reporter.check((wackySAX.getInputSource() != null), true, "setSystemId autocreates an InputSource");
            InputSource newIS = wackySAX.getInputSource();
            reporter.check(newIS.getSystemId(), NONSENSE_SYSTEMID, "autocreated InputSource has correct systemId");

            // API Coverage set/getSystemId
            wackySAX.setSystemId("another-system-id");
            reporter.checkObject(wackySAX.getSystemId(), "another-system-id", "set/getSystemId API coverage");
            InputSource gotIS = wackySAX.getInputSource();
            reporter.check(gotIS.getSystemId(), "another-system-id", "Changing SAXSource systemId changes InputSource's");
            // setting to null explicitly
            wackySAX.setSystemId(null);
            reporter.checkObject(wackySAX.getSystemId(), null, "set/getSystemId API coverage with null");
            reporter.checkObject(wackySAX.getInputSource().getSystemId(), null, "InputSource follows setSystemId(null) of parent source");

            // API Coverage set/getInputSource
            InputSource anotherIS = new InputSource(NONSENSE_SYSTEMID);
            wackySAX.setInputSource(anotherIS);
            reporter.checkObject(wackySAX.getInputSource(), anotherIS, "set/getInputSource API coverage");
            reporter.check(wackySAX.getSystemId(), NONSENSE_SYSTEMID, "setInputSource sets our systemId");


            // API Coverage set/getXMLReader
            reporter.checkObject(wackySAX.getXMLReader(), null, "wackySAX still does not have an XMLReader");
            // Be sure to use the JAXP methods only!
            saxParser = factory.newSAXParser();
            XMLReader wackyReader = saxParser.getXMLReader();
            wackySAX.setXMLReader(wackyReader);
            reporter.checkObject(wackySAX.getXMLReader(), wackyReader, "set/getXMLReader API coverage");
            wackySAX.setXMLReader(null);
            reporter.checkObject(wackySAX.getXMLReader(), null, "set/getXMLReader API coverage with null");
        }
        catch (Throwable t)
        {
            reporter.checkFail("Problem with SAXSource set/get API");
            reporter.logThrowable(reporter.ERRORMSG, t, "Problem with SAXSource set/get API");
        }

        reporter.testCaseClose();
        return true;
    }