/* vim: set ts=2 et sw=2 cindent fo=qroca: */ package com.globant.katari.hibernate.coreuser; import org.junit.Test; import static org.junit.Assert.assertThat; import static org.hamcrest.CoreMatchers.*; public class DeleteMessageTest { @Test public void testGetUserId() { DeleteMessage message = new DeleteMessage(1); assertThat(message.getUserId(), is(1l)); } @Test public void testGoAhead() { DeleteMessage message = new DeleteMessage(1); assertThat(message.goAhead().canDelete(), is(true)); } @Test public void testReject() { DeleteMessage message = new DeleteMessage(1); message = message.reject("No, you can't"); assertThat(message.canDelete(), is(false)); assertThat(message.getMessage("<", ">"), is("<No, you can't>")); } @Test public void testAggregate_reject_goAhead() { DeleteMessage message = new DeleteMessage(1); DeleteMessage aggregated = message.reject("No, you can't"); DeleteMessage message1 = message.goAhead(); aggregated = aggregated.aggregate(message1); assertThat(aggregated.canDelete(), is(false)); assertThat(aggregated.getMessage("<", ">"), is("<No, you can't>")); } @Test public void testAggregate_goAhead_reject() { DeleteMessage message = new DeleteMessage(1); DeleteMessage aggregated = message.goAhead(); DeleteMessage message1 = message.reject("No, you can't"); aggregated = aggregated.aggregate(message1); assertThat(aggregated.canDelete(), is(false)); assertThat(aggregated.getMessage("<", ">"), is("<No, you can't>")); } @Test public void testAggregate_multipleRejects() { DeleteMessage message = new DeleteMessage(1); DeleteMessage aggregated = message.reject("Nope"); DeleteMessage message1 = message.reject("No, you can't"); DeleteMessage message2 = message.reject("No."); aggregated = aggregated.aggregate(message1); aggregated = aggregated.aggregate(message2); assertThat(aggregated.canDelete(), is(false)); assertThat(aggregated.getMessage("<", ">"), is("<Nope><No, you can't><No.>")); } }