package com.orientechnologies.common.io; import org.testng.annotations.Test; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.nio.file.Path; import java.nio.file.Paths; import java.text.ParseException; import java.util.Calendar; import java.util.Date; import static org.assertj.core.api.Assertions.assertThat; import static org.testng.Assert.assertEquals; public class OIOUtilsTest { @Test public void shouldGetTimeAsMilis() { assertGetTimeAsMilis("2h", 2 * 3600 * 1000); assertGetTimeAsMilis("500ms", 500); assertGetTimeAsMilis("4d", 4 * 24 * 3600 * 1000); assertGetTimeAsMilis("6w", 6l * 7 * 24 * 3600 * 1000); } private void assertGetTimeAsMilis(String data, long expected) { assertEquals(OIOUtils.getTimeAsMillisecs(data), expected); } @Test public void shoudGetRightTimeFromString() throws ParseException { Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.HOUR_OF_DAY, 5); calendar.set(Calendar.MINUTE, 10); calendar.set(Calendar.SECOND, 0); calendar.set(Calendar.MILLISECOND, 0); Date d = OIOUtils.getTodayWithTime("05:10:00"); assertEquals(calendar.getTime(), d); } @Test public void shouldReadFileAsString() throws IOException { // UTF-8 Path path = Paths.get("./src/test/resources/", getClass().getSimpleName() + "_utf8.txt"); String asString = OIOUtils.readFileAsString(path.toFile()); assertThat(asString).isEqualToIgnoringCase("utf-8 :: èàòì€"); // ISO-8859-1 path = Paths.get("./src/test/resources/", getClass().getSimpleName() + "_iso-8859-1.txt"); asString = OIOUtils.readFileAsString(path.toFile()); assertThat(asString).isNotEqualToIgnoringCase("iso-8859-1 :: èàòì?"); } @Test public void shouldReadFileAsStringWithGivenCharset() throws IOException { // UTF-8 Path path = Paths.get("./src/test/resources/", getClass().getSimpleName() + "_utf8.txt"); String asString = OIOUtils.readFileAsString(path.toFile(), StandardCharsets.UTF_8); assertThat(asString).isEqualToIgnoringCase("utf-8 :: èàòì€"); // ISO-8859-1 path = Paths.get("./src/test/resources/", getClass().getSimpleName() + "_iso-8859-1.txt"); asString = OIOUtils.readFileAsString(path.toFile(),StandardCharsets.ISO_8859_1); assertThat(asString).isEqualToIgnoringCase("iso-8859-1 :: èàòì?"); } }