/**
* 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.
*/
package org.apache.jena.tools.schemagen;
// Imports
///////////////
import static org.junit.Assert.*;
import java.util.List;
import jena.schemagen.SchemagenOptions.OPT;
import org.junit.*;
/**
* <p>Additional unit test cases for {@link Source}, in addition
* to parameter coverage tests in {@link SourceParameterTest}. </p>
*/
public class SourceTest
{
/***********************************/
/* Constants */
/***********************************/
/***********************************/
/* Static variables */
/***********************************/
/***********************************/
/* Instance variables */
/***********************************/
/***********************************/
/* Constructors */
/***********************************/
/***********************************/
/* External signature methods */
/***********************************/
/**
* @throws java.lang.Exception
*/
@Before
public void setUp() throws Exception {
//
}
/**
* Test method for {@link Source#setInput(java.lang.String)}.
* @throws SchemagenOptionsConfigurationException
*/
@Test
public void testSetInput0() throws SchemagenOptionsConfigurationException {
SchemagenOptions so = new SchemagenOptions(null, new Source());
List<String> values = so.getAllValues( OPT.INPUT );
assertListMatch( new String[] {}, new String[] {}, 0, values );
}
@Test
public void testSetInput1() throws SchemagenOptionsConfigurationException {
Source s = new Source();
s.setInput( "__file1" );
SchemagenOptions so = new SchemagenOptions(null, s);
List<String> values = so.getAllValues( OPT.INPUT );
assertListMatch( new String[] {"__file1"}, new String[] {}, 1, values );
}
@Test
@Ignore //jena-maven-tools doesn't support multiple inputs as of now
public void testSetInput2() throws SchemagenOptionsConfigurationException {
Source s = new Source();
s.setInput( "__file1" );
s.setInput( "__file2" );
SchemagenOptions so = new SchemagenOptions(null, s);
List<String> values = so.getAllValues( OPT.INPUT );
assertListMatch( new String[] {"__file1", "__file2"}, new String[] {}, 2, values );
}
/***********************************/
/* Internal implementation methods */
/***********************************/
protected void assertListMatch( String[] positives, String[] negatives, int expectedLen, List<String> values ) {
assertEquals( expectedLen, values.size() );
for (String match: positives) {
assertTrue( "Should contain " + match, values.contains( match ) );
}
for (String match: negatives) {
assertFalse( "Should not contain " + match, values.contains( match ) );
}
}
/***********************************/
/* Inner class definitions */
/***********************************/
}