package pl.edu.icm.saos.persistence.model;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import org.junit.Test;
import org.springframework.test.util.ReflectionTestUtils;
import pl.edu.icm.saos.persistence.enrichment.model.JudgmentEnrichmentHash;
/**
* @author madryk
*/
public class JudgmentEnrichmentHashTest {
//------------------------ TESTS --------------------------
@Test
public void updateHash_PROCESSED_NO_CHANGE() {
// given
JudgmentEnrichmentHash judgmentEnrichmentHash = createJudgmentEnrichmentHash(2L, "oldHash", "hash", true);
// execute
judgmentEnrichmentHash.updateHash("hash");
// assert
assertEquals("hash", judgmentEnrichmentHash.getOldHash());
assertEquals("hash", judgmentEnrichmentHash.getHash());
assertTrue(judgmentEnrichmentHash.isProcessed());
}
@Test
public void updateHash_PROCESSED_WITH_CHANGE() {
// given
JudgmentEnrichmentHash judgmentEnrichmentHash = createJudgmentEnrichmentHash(2L, "oldHash", "hash", true);
// execute
judgmentEnrichmentHash.updateHash("newHash");
// assert
assertEquals("hash", judgmentEnrichmentHash.getOldHash());
assertEquals("newHash", judgmentEnrichmentHash.getHash());
assertFalse(judgmentEnrichmentHash.isProcessed());
}
@Test
public void updateHash_NOT_PROCESSED() {
// given
JudgmentEnrichmentHash judgmentEnrichmentHash = createJudgmentEnrichmentHash(2L, "oldHash", "hash", false);
// execute
judgmentEnrichmentHash.updateHash("newHash");
// assert
assertEquals("oldHash", judgmentEnrichmentHash.getOldHash());
assertEquals("newHash", judgmentEnrichmentHash.getHash());
assertFalse(judgmentEnrichmentHash.isProcessed());
}
@Test
public void updateHash_NOT_PROCESSED_CHANGE_TO_OLD() {
// given
JudgmentEnrichmentHash judgmentEnrichmentHash = createJudgmentEnrichmentHash(2L, "oldHash", "hash", false);
// execute
judgmentEnrichmentHash.updateHash("oldHash");
// assert
assertEquals("oldHash", judgmentEnrichmentHash.getOldHash());
assertEquals("oldHash", judgmentEnrichmentHash.getHash());
assertTrue(judgmentEnrichmentHash.isProcessed());
}
//------------------------ PRIVATE --------------------------
private JudgmentEnrichmentHash createJudgmentEnrichmentHash(long judgmentId, String oldHash, String hash, boolean processed) {
JudgmentEnrichmentHash judgmentEnrichmentHash = new JudgmentEnrichmentHash();
judgmentEnrichmentHash.setJudgmentId(judgmentId);
ReflectionTestUtils.setField(judgmentEnrichmentHash, "oldHash", oldHash);
ReflectionTestUtils.setField(judgmentEnrichmentHash, "hash", hash);
ReflectionTestUtils.setField(judgmentEnrichmentHash, "processed", processed);
return judgmentEnrichmentHash;
}
}