package org.yamcs.parameterarchive; import static org.junit.Assert.*; import java.io.File; import org.junit.Test; import org.rocksdb.ColumnFamilyHandle; import org.rocksdb.RocksDB; import org.yamcs.protobuf.Yamcs.Value; import org.yamcs.utils.FileUtils; public class ParameterIdMapTest { @Test public void test1() throws Exception { File f = new File("/tmp/TestParameterIdMap_test1"); FileUtils.deleteRecursively(f.toPath()); RocksDB db = RocksDB.open(f.getAbsolutePath()); ColumnFamilyHandle cfh = db.getDefaultColumnFamily(); ParameterIdDb pidMap = new ParameterIdDb(db, cfh); int p1 = pidMap.createAndGet("/test1/bla", Value.Type.BOOLEAN); int p2 = pidMap.createAndGet("/test1/bla", Value.Type.BOOLEAN); assertEquals(p1, p2); int p3 = pidMap.createAndGet("/test1/bla", Value.Type.DOUBLE); assertTrue(p3 > p1); int p10 = pidMap.createAndGet("/test1/bla", Value.Type.DOUBLE, Value.Type.SINT32); assertTrue(p10 > p3); db.close(); db = RocksDB.open(f.getAbsolutePath()); cfh = db.getDefaultColumnFamily(); pidMap = new ParameterIdDb(db, cfh); int p4 = pidMap.createAndGet("/test1/bla", Value.Type.BOOLEAN); assertEquals(p1, p4); int p5 = pidMap.createAndGet("/test1/bla", Value.Type.DOUBLE); assertEquals(p3, p5); int p6 = pidMap.createAndGet("/test2/bla", Value.Type.DOUBLE); assertTrue(p6 > p3); int p11 = pidMap.createAndGet("/test1/bla", Value.Type.DOUBLE, Value.Type.SINT32); assertEquals(p10, p11); } }