package pl.edu.icm.saos.persistence.service;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import org.junit.Test;
/**
* @author madryk
*/
public class LawJournalEntryCodeExtractorTest {
private LawJournalEntryCodeExtractor lawJournalEntryCodeExtractor = new LawJournalEntryCodeExtractor();
//------------------------ TESTS --------------------------
@Test
public void isCorrectLawJournalEntryCode_CORRECT() {
// given
String lawJournalEntryCode = "1964/296";
// execute & assert
assertTrue(lawJournalEntryCodeExtractor.isCorrectLawJournalEntryCode(lawJournalEntryCode));
}
@Test
public void isCorrectLawJournalEntryCode_NULL_ENTRY_CODE() {
// execute & assert
assertFalse(lawJournalEntryCodeExtractor.isCorrectLawJournalEntryCode(null));
}
@Test
public void isCorrectLawJournalEntryCode_INVALID_ENTRY() {
// given
String lawJournalEntryCode = "1964/2a6";
// execute & assert
assertFalse(lawJournalEntryCodeExtractor.isCorrectLawJournalEntryCode(lawJournalEntryCode));
}
@Test
public void isCorrectLawJournalEntryCode_EMPTY_ENTRY() {
// given
String lawJournalEntryCode = "1964/";
// execute & assert
assertFalse(lawJournalEntryCodeExtractor.isCorrectLawJournalEntryCode(lawJournalEntryCode));
}
@Test
public void isCorrectLawJournalEntryCode_MISSING_ENTRY() {
// given
String lawJournalEntryCode = "1964";
// execute & assert
assertFalse(lawJournalEntryCodeExtractor.isCorrectLawJournalEntryCode(lawJournalEntryCode));
}
@Test
public void extractYear() {
// given
String lawJournalEntryCode = "1964/296";
// execute & assert
assertEquals(1964, lawJournalEntryCodeExtractor.extractYear(lawJournalEntryCode));
}
@Test
public void extractEntry() {
// given
String lawJournalEntryCode = "1964/296";
// execute & assert
assertEquals(296, lawJournalEntryCodeExtractor.extractEntry(lawJournalEntryCode));
}
@Test
public void extractEntry_PRECEDING_ZERO() {
// given
String lawJournalEntryCode = "1964/0296";
// execute & assert
assertEquals(296, lawJournalEntryCodeExtractor.extractEntry(lawJournalEntryCode));
}
@Test(expected = IllegalArgumentException.class)
public void extractEntry_INVALID() {
// given
String lawJournalEntryCode = "1964/abc";
// execute
lawJournalEntryCodeExtractor.extractEntry(lawJournalEntryCode);
}
}