Skip to content
Snippets Groups Projects
Commit 0b171313 authored by Nils Christian Ehmke's avatar Nils Christian Ehmke
Browse files

Added some more JUnit tests

parent 25d49dd5
No related branches found
No related tags found
No related merge requests found
......@@ -22,13 +22,18 @@ import java.util.Map;
public final class Mapper<I, O> {
private final Map<I, O> internalMap = new HashMap<>();
public O defaultValue;
public To map(final I key) {
return new To(key);
}
public To mapPerDefault() {
return new To();
}
public O resolve(final I key) {
return this.internalMap.get(key);
return this.internalMap.getOrDefault(key, this.defaultValue);
}
public I invertedResolve(final O value) {
......@@ -43,13 +48,24 @@ public final class Mapper<I, O> {
public final class To {
private final I key;
private final boolean keyAvailable;
To(final I key) {
this.key = key;
this.keyAvailable = true;
}
public To() {
this.key = null;
this.keyAvailable = false;
}
public void to(final O value) { // NOPMD (the method name may be short, but this is acceptable in this case)
Mapper.this.internalMap.put(this.key, value);
if (this.keyAvailable) {
Mapper.this.internalMap.put(this.key, value);
} else {
Mapper.this.defaultValue = value;
}
}
}
......
......@@ -38,6 +38,7 @@ public final class NameConverter {
NameConverter.shortTimeUnitMapper.map(TimeUnit.MINUTES).to("m");
NameConverter.shortTimeUnitMapper.map(TimeUnit.HOURS).to("h");
NameConverter.shortTimeUnitMapper.map(TimeUnit.DAYS).to("d");
NameConverter.shortTimeUnitMapper.mapPerDefault().to("");
}
public static String toShortTimeUnit(final TimeUnit timeUnit) {
......
......@@ -19,7 +19,6 @@ package kieker.diagnosis.common;
import static org.hamcrest.Matchers.is;
import static org.hamcrest.core.IsNull.nullValue;
import static org.junit.Assert.assertThat;
import kieker.diagnosis.common.Mapper;
import org.junit.Test;
......@@ -71,4 +70,25 @@ public class MapperTest {
assertThat(mapper.invertedResolve("One"), is(1));
}
@Test
public void defaultMappingShouldWork() {
final Mapper<Integer, String> mapper = new Mapper<>();
mapper.mapPerDefault().to("N/A");
mapper.map(1).to("One");
assertThat(mapper.resolve(1), is("One"));
assertThat(mapper.resolve(2), is("N/A"));
}
@Test
public void defaultMappingDoesNotConflictWithNullMapping() {
final Mapper<Integer, String> mapper = new Mapper<>();
mapper.mapPerDefault().to("N/A");
mapper.map(null).to("Zero");
assertThat(mapper.resolve(null), is("Zero"));
}
}
......@@ -19,6 +19,8 @@ package kieker.diagnosis.subview.util;
import static org.hamcrest.Matchers.is;
import static org.junit.Assert.assertThat;
import java.util.concurrent.TimeUnit;
import org.junit.Test;
public class NameConverterTest {
......@@ -51,4 +53,60 @@ public class NameConverterTest {
assertThat(result, is("getBook(...)"));
}
@Test
public void toShortTimeUnitForNanosecondsShouldWork() {
final String result = NameConverter.toShortTimeUnit(TimeUnit.NANOSECONDS);
assertThat(result, is("ns"));
}
@Test
public void toShortTimeUnitForMicrosecondsShouldWork() {
final String result = NameConverter.toShortTimeUnit(TimeUnit.MICROSECONDS);
assertThat(result, is("us"));
}
@Test
public void toShortTimeUnitForMillisecondsShouldWork() {
final String result = NameConverter.toShortTimeUnit(TimeUnit.MILLISECONDS);
assertThat(result, is("ms"));
}
@Test
public void toShortTimeUnitForSecondsShouldWork() {
final String result = NameConverter.toShortTimeUnit(TimeUnit.SECONDS);
assertThat(result, is("s"));
}
@Test
public void toShortTimeUnitForMinutesShouldWork() {
final String result = NameConverter.toShortTimeUnit(TimeUnit.MINUTES);
assertThat(result, is("m"));
}
@Test
public void toShortTimeUnitForHoursShouldWork() {
final String result = NameConverter.toShortTimeUnit(TimeUnit.HOURS);
assertThat(result, is("h"));
}
@Test
public void toShortTimeUnitForDaysShouldWork() {
final String result = NameConverter.toShortTimeUnit(TimeUnit.DAYS);
assertThat(result, is("d"));
}
@Test
public void toShortTimeUnitForNullShouldReturnEmptyString() {
final String result = NameConverter.toShortTimeUnit(null);
assertThat(result, is(""));
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment