package de.nclazz.commons.io; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*; class MimeTypeTest { @Test void MimeTypeParsedFromString() { MimeType type = MimeType.parse("application/json"); assertEquals("application", type.getMediaType()); assertEquals("json", type.getSubType()); type = MimeType.parse("image/jpeg"); assertEquals("image", type.getMediaType()); assertEquals("jpeg", type.getSubType()); } @Test void MimeTypeParsedThrowsExceptionOnInvalidInput() { assertThrows(IllegalArgumentException.class, () -> MimeType.parse("application/")); assertThrows(IllegalArgumentException.class, () -> MimeType.parse("/json")); assertThrows(IllegalArgumentException.class, () -> MimeType.parse("/")); assertThrows(IllegalArgumentException.class, () -> MimeType.parse("application")); assertThrows(NullPointerException.class, () -> MimeType.parse(null)); } @Test void MimeTypeToStringEqualsOriginalString() { String mimeStr = "application/json"; MimeType type = MimeType.parse(mimeStr); assertEquals("application", type.getMediaType()); assertEquals("json", type.getSubType()); assertEquals(mimeStr, type.toString()); mimeStr = "image/jpeg"; type = MimeType.parse(mimeStr); assertEquals("image", type.getMediaType()); assertEquals("jpeg", type.getSubType()); assertEquals(mimeStr, type.toString()); } }