package jmri.configurexml; import java.io.File; import java.io.IOException; import java.text.ParseException; import java.util.stream.Stream; import jmri.JmriException; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; /** * Test that configuration files can be read and then stored again consistently. * When done across various versions of schema, this checks ability to read * older files in newer versions; completeness of reading code; etc. *

* Functional checks, that e.g. check the details of a specific type are being * read properly, should go into another type-specific test class. *

* The functionality comes from the common base class, this is just here to * insert the test suite into the JUnit hierarchy at the right place. * * @author Bob Jacobsen Copyright 2009, 2014 * @since 2.5.5 (renamed & reworked in 3.9 series) */ public class LoadAndStoreTest extends LoadAndStoreTestBase { public static Stream data() { return getFiles(new File("java/test/jmri/configurexml"), false, true); } @ParameterizedTest(name = "{index}: {0} (pass={1})") @MethodSource("data") public void loadAndStoreTest(File file) throws IOException, JmriException, ParseException { super.loadLoadStoreFileCheck(file); } public LoadAndStoreTest() { super(SaveType.Config, false); } }