| 1 | package fr.sii.ogham.testing.assertion.internal; | |
| 2 | ||
| 3 | import static org.hamcrest.MatcherAssert.assertThat; | |
| 4 | ||
| 5 | import org.apache.commons.lang3.reflect.FieldUtils; | |
| 6 | import org.hamcrest.Matcher; | |
| 7 | ||
| 8 | import fr.sii.ogham.sms.sender.impl.CloudhopperSMPPSender; | |
| 9 | import fr.sii.ogham.sms.sender.impl.cloudhopper.preparator.MessagePreparator; | |
| 10 | import fr.sii.ogham.sms.splitter.MessageSplitter; | |
| 11 | import fr.sii.ogham.sms.splitter.NoSplitMessageSplitter; | |
| 12 | import fr.sii.ogham.testing.util.HasParent; | |
| 13 | ||
| 14 | /** | |
| 15 | * Make assertions on splitter instance to ensure that it is correctly | |
| 16 | * configured. | |
| 17 | * | |
| 18 | * For example: | |
| 19 | * | |
| 20 | * <pre> | |
| 21 | * {@code | |
| 22 | * enabled(is(true)) | |
| 23 | * } | |
| 24 | * </pre> | |
| 25 | * | |
| 26 | * @author Aurélien Baudet | |
| 27 | * | |
| 28 | */ | |
| 29 | public class CloudhopperSplitterAssertions extends HasParent<CloudhopperAssertions> { | |
| 30 | ||
| 31 | private final CloudhopperSMPPSender cloudhopperSender; | |
| 32 | ||
| 33 | public CloudhopperSplitterAssertions(CloudhopperAssertions parent, CloudhopperSMPPSender cloudhopperSender) { | |
| 34 | super(parent); | |
| 35 | this.cloudhopperSender = cloudhopperSender; | |
| 36 | } | |
| 37 | ||
| 38 | /** | |
| 39 | * Ensures that splitter is correctly enabled or not. When Splitter is | |
| 40 | * disabled, the splitter instance is {@link NoSplitMessageSplitter}. | |
| 41 | * | |
| 42 | * @param matcher | |
| 43 | * the matcher to ensure that splitter is enabled or disabled | |
| 44 | */ | |
| 45 | public void enabled(Matcher<Boolean> matcher) { | |
| 46 | try { | |
| 47 | boolean noSplit = getSplitter() instanceof NoSplitMessageSplitter; | |
| 48 |
4
1. enabled : negated conditional → NO_COVERAGE 2. enabled : removed call to org/hamcrest/MatcherAssert::assertThat → SURVIVED 3. enabled : removed call to org/hamcrest/MatcherAssert::assertThat → NO_COVERAGE 4. enabled : negated conditional → KILLED |
assertThat(!noSplit, matcher); |
| 49 | } catch (IllegalAccessException e) { | |
| 50 | throw new IllegalStateException("Failed to get 'messagePreparator.messageSplitter' of CloudhopperSMPPSender", e); | |
| 51 | } | |
| 52 | } | |
| 53 | ||
| 54 | private MessageSplitter getSplitter() throws IllegalAccessException { | |
| 55 | MessagePreparator preparator = (MessagePreparator) FieldUtils.readField(cloudhopperSender, "messagePreparator", true); | |
| 56 |
2
1. getSplitter : replaced return value with null for fr/sii/ogham/testing/assertion/internal/CloudhopperSplitterAssertions::getSplitter → NO_COVERAGE 2. getSplitter : replaced return value with null for fr/sii/ogham/testing/assertion/internal/CloudhopperSplitterAssertions::getSplitter → KILLED |
return (MessageSplitter) FieldUtils.readField(preparator, "messageSplitter", true); |
| 57 | } | |
| 58 | } | |
Mutations | ||
| 48 |
1.1 2.2 3.3 4.4 |
|
| 56 |
1.1 2.2 |