package io.konik.csv.processor; import io.konik.zugferd.unece.codes.DocumentCode; import org.junit.Test; import static org.assertj.core.api.Assertions.assertThat; public class DocumentCodeProcessorTest { @Test public void shouldConvertAllStringValuesToDocumentCode() { //given: DocumentCodeProcessor processor = new DocumentCodeProcessor(); //when: DocumentCode[] codes = DocumentCode.values(); //then: for (DocumentCode documentCode : codes) { assertThat(documentCode).isEqualTo(processor.execute(documentCode.getCode(), null)); } } @Test public void shouldConvertAllDocumentCodesToStringRepresentations() { //given: DocumentCodeProcessor processor = new DocumentCodeProcessor(); //when: DocumentCode[] codes = DocumentCode.values(); //then: for (DocumentCode documentCode : codes) { assertThat(documentCode.getCode()).isEqualTo(processor.execute(documentCode, null)); } } @Test public void shouldReturnNullIfDocumentCodeForGivenStringDoesNotExist() { //given: DocumentCodeProcessor processor = new DocumentCodeProcessor(); String nonExistingCode = "999"; //when: DocumentCode documentCode = (DocumentCode) processor.execute(nonExistingCode, null); //then: assertThat(documentCode).isNull(); } }