⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gomsourceimpltest.java

📁 lucene2.2.0版本
💻 JAVA
字号:
package org.apache.lucene.gdata.gom.core;/** * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements.  See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License.  You may obtain a copy of the License at * *     http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */import java.io.StringWriter;import java.util.List;import javax.xml.namespace.QName;import javax.xml.stream.FactoryConfigurationError;import javax.xml.stream.XMLStreamException;import org.apache.lucene.gdata.gom.GOMAuthor;import org.apache.lucene.gdata.gom.GOMCategory;import org.apache.lucene.gdata.gom.GOMContributor;import org.apache.lucene.gdata.gom.GOMElement;import org.apache.lucene.gdata.gom.GOMEntry;import org.apache.lucene.gdata.gom.GOMExtension;import org.apache.lucene.gdata.gom.GOMFeed;import org.apache.lucene.gdata.gom.GOMGenerator;import org.apache.lucene.gdata.gom.GOMIcon;import org.apache.lucene.gdata.gom.GOMId;import org.apache.lucene.gdata.gom.GOMLink;import org.apache.lucene.gdata.gom.GOMLogo;import org.apache.lucene.gdata.gom.GOMNamespace;import org.apache.lucene.gdata.gom.GOMRights;import org.apache.lucene.gdata.gom.GOMSource;import org.apache.lucene.gdata.gom.GOMSubtitle;import org.apache.lucene.gdata.gom.GOMTitle;import org.apache.lucene.gdata.gom.GOMUpdated;import org.apache.lucene.gdata.gom.core.GOMFeedImplTest.TestExtendsionFactory;import org.apache.lucene.gdata.gom.core.GOMFeedImplTest.TestExtension;import org.apache.lucene.gdata.gom.core.extension.GOMExtensionFactory;import org.apache.lucene.gdata.gom.writer.GOMOutputWriter;import org.apache.lucene.gdata.gom.writer.GOMStaxWriter;import junit.framework.TestCase;public class GOMSourceImplTest extends TestCase {	static final String TEST_LOCAL_NAME = "testelement";	GOMSourceImpl impl;	protected void setUp() throws Exception {		this.impl = new GOMSourceImpl();	}	/*	 * Test method for	 * 'org.apache.lucene.gdata.gom.core.GOMFeedImpl.getChildParser(QName)'	 */	public void testGetChildParser() {		{			// atomAuthor*			AtomParser parser = this.impl.getChildParser(new QName(					GOMNamespace.ATOM_NS_URI, "author"));			assertNotNull(parser);			assertTrue(parser instanceof GOMAuthor);			assertEquals(1, this.impl.getAuthors().size());			this.impl.getChildParser(new QName(GOMNamespace.ATOM_NS_URI,					"author"));			assertEquals(2, this.impl.getAuthors().size());		}		{			// atomCategory*			AtomParser parser = this.impl.getChildParser(new QName(					GOMNamespace.ATOM_NS_URI, "category"));			assertNotNull(parser);			assertTrue(parser instanceof GOMCategory);			assertEquals(1, this.impl.getCategories().size());			this.impl.getChildParser(new QName(GOMNamespace.ATOM_NS_URI,					"category"));			assertEquals(2, this.impl.getCategories().size());		}		{			// atomContributor*			AtomParser parser = this.impl.getChildParser(new QName(					GOMNamespace.ATOM_NS_URI, "contributor"));			assertNotNull(parser);			assertTrue(parser instanceof GOMContributor);			assertEquals(1, this.impl.getContributor().size());			this.impl.getChildParser(new QName(GOMNamespace.ATOM_NS_URI,					"contributor"));			assertEquals(2, this.impl.getContributor().size());		}		{			// atomGenerator?			AtomParser parser = this.impl.getChildParser(new QName(					GOMNamespace.ATOM_NS_URI, "generator"));			assertNotNull(parser);			assertTrue(parser instanceof GOMGenerator);			assertSame(parser, this.impl.getGenerator());			try {				this.impl.getChildParser(new QName(GOMNamespace.ATOM_NS_URI,						"generator"));				fail("one or zero");			} catch (GDataParseException e) {				// 			}		}		{			// atomIcon?			AtomParser parser = this.impl.getChildParser(new QName(					GOMNamespace.ATOM_NS_URI, "icon"));			assertNotNull(parser);			assertTrue(parser instanceof GOMIcon);			assertSame(parser, this.impl.getIcon());			try {				this.impl.getChildParser(new QName(GOMNamespace.ATOM_NS_URI,						"icon"));				fail("one or zero");			} catch (GDataParseException e) {				// 			}		}		{			// atomId			AtomParser parser = this.impl.getChildParser(new QName(					GOMNamespace.ATOM_NS_URI, "id"));			assertNotNull(parser);			assertTrue(parser instanceof GOMId);			assertSame(parser, this.impl.getId());			try {				this.impl.getChildParser(new QName(GOMNamespace.ATOM_NS_URI,						"id"));				fail("exactly one time ");			} catch (GDataParseException e) {				// 			}		}		{			// atomLink*			AtomParser parser = this.impl.getChildParser(new QName(					GOMNamespace.ATOM_NS_URI, "link"));			assertNotNull(parser);			assertTrue(parser instanceof GOMLink);			assertEquals(1, this.impl.getLinks().size());			this.impl					.getChildParser(new QName(GOMNamespace.ATOM_NS_URI, "link"));			assertEquals(2, this.impl.getLinks().size());		}		{			// atomLogo?			AtomParser parser = this.impl.getChildParser(new QName(					GOMNamespace.ATOM_NS_URI, "logo"));			assertNotNull(parser);			assertTrue(parser instanceof GOMLogo);			assertSame(parser, this.impl.getLogo());			try {				this.impl.getChildParser(new QName(GOMNamespace.ATOM_NS_URI,						"logo"));				fail("zero or one");			} catch (GDataParseException e) {				// 			}		}		{			// atomRights?			AtomParser parser = this.impl.getChildParser(new QName(					GOMNamespace.ATOM_NS_URI, "rights"));			assertNotNull(parser);			assertTrue(parser instanceof GOMRights);			assertSame(parser, this.impl.getRights());			try {				this.impl.getChildParser(new QName(GOMNamespace.ATOM_NS_URI,						"rights"));				fail("zero or one");			} catch (GDataParseException e) {				// 			}		}		{			// atomSubtitle?			AtomParser parser = this.impl.getChildParser(new QName(					GOMNamespace.ATOM_NS_URI, "subtitle"));			assertNotNull(parser);			assertTrue(parser instanceof GOMSubtitle);			assertSame(parser, this.impl.getSubtitle());			try {				this.impl.getChildParser(new QName(GOMNamespace.ATOM_NS_URI,						"subtitle"));				fail("zero or one");			} catch (GDataParseException e) {				// 			}		}		{			// atomTitle			AtomParser parser = this.impl.getChildParser(new QName(					GOMNamespace.ATOM_NS_URI, "title"));			assertNotNull(parser);			assertTrue(parser instanceof GOMTitle);			assertSame(parser, this.impl.getTitle());			try {				this.impl.getChildParser(new QName(GOMNamespace.ATOM_NS_URI,						"title"));				fail("exactly one time ");			} catch (GDataParseException e) {				// 			}		}		{			// atomUpdated			AtomParser parser = this.impl.getChildParser(new QName(					GOMNamespace.ATOM_NS_URI, "updated"));			assertNotNull(parser);			assertTrue(parser instanceof GOMUpdated);			assertSame(parser, this.impl.getUpdated());			try {				this.impl.getChildParser(new QName(GOMNamespace.ATOM_NS_URI,						"updated"));				fail("exactly one time ");			} catch (GDataParseException e) {				// 			}		}	}	/*	 * Test method for	 * 'org.apache.lucene.gdata.gom.core.GOMFeedImpl.processElementValue(String)'	 */	public void testProcessElementValue() {		try {			this.impl.processElementValue("some");			fail("no element text");		} catch (GDataParseException e) {			//		}	}	/*	 * Test method for	 * 'org.apache.lucene.gdata.gom.core.GOMFeedImpl.processEndElement()'	 * 	 * atomFeed = element atom:feed { atomCommonAttributes, (atomAuthor* &	 * atomCategory* & atomContributor* & atomGenerator? & atomIcon? & atomId &	 * atomLink* & atomLogo? & atomRights? & atomSubtitle? & atomTitle &	 * atomUpdated & extensionElement*), atomEntry* }	 */	public void testProcessEndElement() {		this.impl.addAuthor(new GOMAuthorImpl());		this.impl.setId(new GOMIdImpl());		this.impl.setUpdated(new GOMUpdatedImpl());		this.impl.setTitle(new GOMTitleImpl());		this.impl.processEndElement();		{			// author missing			this.impl.getAuthors().clear();			try {				this.impl.processEndElement();				fail("missing elements");			} catch (GDataParseException e) {				// 			}			this.impl.addAuthor(new GOMAuthorImpl());		}		{			// id missing			this.impl.setId(null);			try {				this.impl.processEndElement();				fail("missing elements");			} catch (GDataParseException e) {				// 			}			this.impl.setId(new GOMIdImpl());		}		{			// title missing			this.impl.setTitle(null);			try {				this.impl.processEndElement();				fail("missing elements");			} catch (GDataParseException e) {				// 			}			this.impl.setTitle(new GOMTitleImpl());		}		{			// updated missing			this.impl.setUpdated(null);			try {				this.impl.processEndElement();				fail("missing elements");			} catch (GDataParseException e) {				// 			}			this.impl.setUpdated(new GOMUpdatedImpl());		}		/*		 * atom:feed elements MUST NOT contain more than one atom:link element		 * with a rel attribute value of "alternate" that has the same		 * combination of type and hreflang attribute values.		 */		{			// two identical alternate links missing			GOMLink link = new GOMLinkImpl();			link.setRel("alternate");			link.setHrefLang("http://www.apache.org");			link.setType("text/html");			this.impl.addLink(link);			// one is allowed			this.impl.processEndElement();			// add a second link			link = new GOMLinkImpl();			this.impl.addLink(link);			link.setRel("next");			link.setHrefLang("http://www.apache.org");			link.setType("text/html");			// one is alternate the other is next			this.impl.processEndElement();			// a second "identical" alternate link			link = new GOMLinkImpl();			this.impl.addLink(link);			link.setRel("alternate");			link.setHrefLang("http://www.apache.org");			link.setType("text/html");			try {				this.impl.processEndElement();				fail("missing elements");			} catch (GDataParseException e) {				// 			}			this.impl.setUpdated(new GOMUpdatedImpl());		}	}	/*	 * Test method for	 * 'org.apache.lucene.gdata.gom.core.GOMFeedImpl.GOMFeedImpl()'	 */	public void testGOMFeedImpl() {		GOMFeedImpl impl2 = new GOMFeedImpl();		assertEquals(GOMFeed.LOCALNAME, impl2.getLocalName());		assertEquals(GOMFeed.LOCALNAME, impl2.getQname().getLocalPart());		assertEquals(GOMNamespace.ATOM_NS_URI, impl2.getQname()				.getNamespaceURI());	}	/*	 * Test method for	 * 'org.apache.lucene.gdata.gom.core.GOMFeedImpl.writeAtomOutput(GOMWriter)'	 */	public void testWriteAtomOutput() throws XMLStreamException,			FactoryConfigurationError {		// write a whole feed and check if all elements are written		this.impl.addAuthor(new GOMAuthorImpl());		this.impl.addCategory(new GOMCategoryImpl());		this.impl.addContributor(new GOMContributorImpl());		this.impl.addLink(new GOMLinkImpl());		this.impl.setGenerator(new GOMGeneratorImpl());		this.impl.setIcon(new GOMIconImpl());		this.impl.setId(new GOMIdImpl());		this.impl.setLogo(new GOMLogoImpl());		this.impl.setRights(new GOMRightsImpl());		this.impl.setSubtitle(new GOMSubtitleImpl());		this.impl.setTitle(new GOMTitleImpl());		this.impl.setUpdated(new GOMUpdatedImpl());		StringWriter stW = new StringWriter();		GOMOutputWriter writer = new GOMStaxWriter(stW);		this.impl.writeAtomOutput(writer);		String string = stW.toString();		assertTrue(string.startsWith("<" + GOMSource.LOCALNAME));		assertTrue(string.contains("<" + GOMAuthor.LOCALNAME));		assertTrue(string.contains("<" + GOMCategory.LOCALNAME));		assertTrue(string.contains("<" + GOMContributor.LOCALNAME));		assertTrue(string.contains("<" + GOMLink.LOCALNAME));		assertTrue(string.contains("<" + GOMGenerator.LOCALNAME));		assertTrue(string.contains("<" + GOMIcon.LOCALNAME));		assertTrue(string.contains("<" + GOMId.LOCALNAME));		assertTrue(string.contains("<" + GOMLogo.LOCALNAME));		assertTrue(string.contains("<" + GOMRights.LOCALNAME));		assertTrue(string.contains("<" + GOMSubtitle.LOCALNAME));		assertTrue(string.contains("<" + GOMTitle.LOCALNAME));		assertTrue(string.contains("<" + GOMUpdated.LOCALNAME));	}	/*	 * Test method for	 * 'org.apache.lucene.gdata.gom.core.GOMFeedImpl.writeRssOutput(GOMWriter)'	 */	public void testWriteRssOutput() throws XMLStreamException,			FactoryConfigurationError {		StringWriter stW = new StringWriter();		GOMOutputWriter writer = new GOMStaxWriter(stW);		this.impl.writeRssOutput(writer);		assertEquals("", stW.toString());	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -