/* * Copyright 2009 NCHOVY * * Licensed 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. */ package org.krakenapps.filter.impl; import org.junit.*; import org.krakenapps.filter.ComponentDescription; import org.krakenapps.filter.ComponentDescriptionParser; import static org.junit.Assert.*; public class ComponentDescriptionParserTest { private final String sampleDescription1 = "factory name=\"rssReader\" " + "state=\"valid\" bundle=\"6\" " + "implementation-class=\"org.krakenapps.rss.impl.RssReaderImpl\"\n" + "\tprovides specification=\"org.krakenapps.rss.RssReader\"\n" + "\tmissinghandlers list=\"[]\"\n" + "\trequiredhandlers list=\"[org.apache.felix.ipojo:provides, " + "org.apache.felix.ipojo:architecture]\"\n"; @Test public void testParse() { ComponentDescription description = ComponentDescriptionParser.parse("sampleReader", sampleDescription1); assertEquals("rssReader", description.getFactoryName()); assertEquals("valid", description.getState()); assertEquals(6, description.getBundleId()); assertEquals("org.krakenapps.rss.impl.RssReaderImpl", description.getImplementationClass()); assertEquals("org.krakenapps.rss.RssReader", description.getSpecifications().get(0)); assertEquals(0, description.getMissingHandlers().size()); assertEquals("org.apache.felix.ipojo:provides", description.getRequiredHanlders().get(0)); assertEquals("org.apache.felix.ipojo:architecture", description.getRequiredHanlders().get(1)); } private final String sampleDescription2 = "factory name=" + "\"org.krakenapps.filter.examples.RandomLogGenerator\" state=\"valid\" bundle=\"8\" " + "implementation-class=\"org.krakenapps.filter.examples.RandomLogGenerator\"\n" + "\tprovides specification=\"java.lang.Runnable\"\n" + "\tprovides specification=\"org.krakenapps.filter.Filter\"\n" + "\tmissinghandlers list=\"[]\"\n" + "\trequiredhandlers list=\"[org.apache.felix.ipojo:callback, " + "org.apache.felix.ipojo:provides, org.apache.felix.ipojo:architecture]\"\n"; @Test public void testParse2() { ComponentDescription description = ComponentDescriptionParser.parse("sampleReader", sampleDescription2); assertEquals("org.krakenapps.filter.examples.RandomLogGenerator", description.getFactoryName()); assertEquals("valid", description.getState()); assertEquals(8, description.getBundleId()); assertEquals("org.krakenapps.filter.examples.RandomLogGenerator", description .getImplementationClass()); assertEquals("java.lang.Runnable", description.getSpecifications().get(0)); assertEquals("org.krakenapps.filter.Filter", description.getSpecifications().get(1)); assertEquals(0, description.getMissingHandlers().size()); assertEquals("org.apache.felix.ipojo:callback", description.getRequiredHanlders().get(0)); assertEquals("org.apache.felix.ipojo:provides", description.getRequiredHanlders().get(1)); assertEquals("org.apache.felix.ipojo:architecture", description.getRequiredHanlders().get(2)); } }