89 lines
2.7 KiB
Java
89 lines
2.7 KiB
Java
package jmri.jmrix.can.cbus.node;
|
|
|
|
import java.io.File;
|
|
import java.nio.file.Path;
|
|
|
|
import jmri.jmrix.can.CanSystemConnectionMemo;
|
|
import jmri.util.*;
|
|
|
|
import org.junit.jupiter.api.*;
|
|
import org.junit.jupiter.api.io.TempDir;
|
|
|
|
/**
|
|
*
|
|
* @author Paul Bender Copyright (C) 2017
|
|
* @author Steve Young Copyright (C) 2019
|
|
*/
|
|
public class CbusNodeBackupFileTest {
|
|
|
|
@Test
|
|
public void testCTorNull() {
|
|
CbusNodeBackupFile t = new CbusNodeBackupFile(null);
|
|
Assertions.assertNotNull(t,"exists");
|
|
}
|
|
|
|
@Test
|
|
public void testCTorMemo() {
|
|
CbusNodeBackupFile t = new CbusNodeBackupFile(memo);
|
|
Assertions.assertNotNull(t,"exists");
|
|
}
|
|
|
|
@Test
|
|
public void testDeleteNodeNotExist() {
|
|
CbusNodeBackupFile t = new CbusNodeBackupFile(memo);
|
|
Assertions.assertNotNull(t,"exists");
|
|
Assertions.assertTrue(t.deleteFile(999));
|
|
}
|
|
|
|
@Test
|
|
public void testProvideNewFile() {
|
|
CbusNodeBackupFile t = new CbusNodeBackupFile(memo);
|
|
Assertions.assertNull(t.getFile(777, false),"file not created");
|
|
Assertions.assertNotNull(t.getFile(777, true),"file created");
|
|
}
|
|
|
|
@Test
|
|
public void testMigrate() throws java.io.IOException {
|
|
CbusNode node = new CbusNode(memo,41376);
|
|
CbusNodeBackupManager t = new CbusNodeBackupManager(node);
|
|
CbusNodeBackupFile nbaf = new CbusNodeBackupFile(memo);
|
|
|
|
java.io.File dir = new java.io.File("java/test/jmri/jmrix/can/cbus/node/");
|
|
java.io.File systemFile = new java.io.File(dir, "41376.xml");
|
|
|
|
FileUtil.createDirectory(nbaf.oldFileLocation);
|
|
File newFile = new File (nbaf.oldFileLocation, "41376.xml");
|
|
|
|
java.nio.file.Files.copy(systemFile.toPath(), newFile.toPath(),
|
|
java.nio.file.StandardCopyOption.REPLACE_EXISTING);
|
|
Assertions.assertEquals(0, t.getBackups().size(),"File should not be loaded");
|
|
|
|
t.doLoad();
|
|
Assertions.assertEquals(14, t.getBackups().size(), "File loaded");
|
|
|
|
JUnitAppender.assertWarnMessage("Migrated existing CBUS Node Data to CAN");
|
|
|
|
}
|
|
|
|
private CanSystemConnectionMemo memo = null;
|
|
|
|
@BeforeEach
|
|
public void setUp( @TempDir Path tempDir ) throws java.io.IOException {
|
|
JUnitUtil.setUp();
|
|
JUnitUtil.resetProfileManager( new jmri.profile.NullProfile( tempDir.toFile()));
|
|
memo = new CanSystemConnectionMemo();
|
|
memo.configureManagers(); // no manager but will register memo to instancemanager
|
|
}
|
|
|
|
@AfterEach
|
|
public void tearDown() {
|
|
Assertions.assertNotNull(memo);
|
|
memo.dispose();
|
|
memo = null;
|
|
JUnitUtil.tearDown();
|
|
}
|
|
|
|
// private static final Logger log = LoggerFactory.getLogger(CbusNodeBackupFile.class);
|
|
|
|
}
|