// This software is released into the Public Domain. See copying.txt for details. package org.openstreetmap.osmosis.apidb.v0_6.impl; import org.junit.Assert; import org.junit.Test; import org.openstreetmap.osmosis.replication.common.ReplicationSequenceFormatter; /** * Tests the replication file sequence formatter. */ public class ReplicationSequenceFormatterTest { /** * Tests that a sequence is formatted correctly when no format is defined. */ @Test public void testMinimalFormat() { final int minimumLength = 0; final int groupingLength = 0; final long sequenceNumber = 100; String formattedSequenceNumber; formattedSequenceNumber = new ReplicationSequenceFormatter(minimumLength, groupingLength).getFormattedName(sequenceNumber, ".osc.gz"); Assert.assertEquals("The formatted sequence number is incorrect.", "100.osc.gz", formattedSequenceNumber); } /** * Tests that a number can be formatted correctly when using a simple 0 padded format. */ @Test public void testFixedFormat() { final int minimumLength = 9; final int groupingLength = 0; final long sequenceNumber = 100; String formattedSequenceNumber; formattedSequenceNumber = new ReplicationSequenceFormatter(minimumLength, groupingLength).getFormattedName(sequenceNumber, ".osc.gz"); Assert.assertEquals("The formatted sequence number is incorrect.", "000000100.osc.gz", formattedSequenceNumber); } /** * Tests that a number can be formatted correctly when including path separators with no fixed width. */ @Test public void testMinimalPathFormat() { final int minimumLength = 0; final int groupingLength = 3; final long sequenceNumber = 1000; String formattedSequenceNumber; formattedSequenceNumber = new ReplicationSequenceFormatter(minimumLength, groupingLength).getFormattedName(sequenceNumber, ".osc.gz"); Assert.assertEquals("The formatted sequence number is incorrect.", "1/000.osc.gz", formattedSequenceNumber); } /** * Tests that a number can be formatted correctly when including path separators and a fixed width. */ @Test public void testFixedPathFormat() { final int minimumLength = 9; final int groupingLength = 3; final long sequenceNumber = 100; String formattedSequenceNumber; formattedSequenceNumber = new ReplicationSequenceFormatter(minimumLength, groupingLength).getFormattedName(sequenceNumber, ".osc.gz"); Assert.assertEquals("The formatted sequence number is incorrect.", "000/000/100.osc.gz", formattedSequenceNumber); } }