/*
* Copyright (C) 2012, 2016 higherfrequencytrading.com
* Copyright (C) 2016 Roman Leventov
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package net.openhft.chronicle.map;
import com.google.common.io.Files;
import net.openhft.chronicle.set.Builder;
import org.junit.Test;
import java.io.File;
import java.io.IOException;
import java.net.URISyntaxException;
import java.net.URL;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
public class ChronicleMap3_8FormatCompatibilityTest {
@Test
public void testChronicleMap3_8FormatCompatibility() throws URISyntaxException, IOException {
ClassLoader cl = Thread.currentThread().getContextClassLoader();
URL fileUrl = cl.getResource("chronicle-map-3-8-file.dat");
File file = new File(fileUrl.toURI());
File persistenceFile = Builder.getPersistenceFile();
Files.copy(file, persistenceFile);
try (ChronicleMap<Integer, String> map = ChronicleMap.of(Integer.class, String.class)
.averageValue("1")
.entries(1)
.createPersistedTo(persistenceFile)) {
assertEquals(1, map.size());
assertEquals("1", map.get(1));
assertNull(map.put(2, "2"));
assertEquals("2", map.remove(2));
}
}
}