OptionalParameterAdapter.java

1
package fr.sii.ogham.testing.sms.simulator.jsmpp;
2
3
import java.math.BigInteger;
4
import java.util.Arrays;
5
6
import org.jsmpp.bean.SubmitSm;
7
8
import com.cloudhopper.commons.util.HexUtil;
9
10
import fr.sii.ogham.testing.sms.simulator.bean.OptionalParameter;
11
12
/**
13
 * Adapts a JSMPP optional parameter to the Ogham abstraction
14
 * 
15
 * @author Aurélien Baudet
16
 *
17
 */
18
public class OptionalParameterAdapter implements OptionalParameter {
19
	private final SubmitSm original;
20
	private final short tag;
21
22
	/**
23
	 * @param original
24
	 *            the JSMPP {@link SubmitSm} request
25
	 * @param tag
26
	 *            the tag to extract
27
	 */
28
	public OptionalParameterAdapter(SubmitSm original, short tag) {
29
		super();
30
		this.original = original;
31
		this.tag = tag;
32
	}
33
34
	@Override
35
	public Short getTag() {
36
		byte[] tagValue = getOptionalParameterBytes(0, 2);
37 3 1. getTag : negated conditional → SURVIVED
2. getTag : negated conditional → NO_COVERAGE
3. getTag : negated conditional → KILLED
		if (tagValue == null) {
38 2 1. getTag : replaced Short return value with 0 for fr/sii/ogham/testing/sms/simulator/jsmpp/OptionalParameterAdapter::getTag → NO_COVERAGE
2. getTag : replaced Short return value with 0 for fr/sii/ogham/testing/sms/simulator/jsmpp/OptionalParameterAdapter::getTag → KILLED
			return null;
39
		}
40 3 1. getTag : replaced Short return value with 0 for fr/sii/ogham/testing/sms/simulator/jsmpp/OptionalParameterAdapter::getTag → SURVIVED
2. getTag : replaced Short return value with 0 for fr/sii/ogham/testing/sms/simulator/jsmpp/OptionalParameterAdapter::getTag → NO_COVERAGE
3. getTag : replaced Short return value with 0 for fr/sii/ogham/testing/sms/simulator/jsmpp/OptionalParameterAdapter::getTag → KILLED
		return new BigInteger(tagValue).shortValue();
41
	}
42
43
	@Override
44
	public Integer getLength() {
45
		byte[] length = getOptionalParameterBytes(2, 4);
46 3 1. getLength : negated conditional → NO_COVERAGE
2. getLength : negated conditional → KILLED
3. getLength : negated conditional → KILLED
		if (length == null) {
47 2 1. getLength : replaced Integer return value with 0 for fr/sii/ogham/testing/sms/simulator/jsmpp/OptionalParameterAdapter::getLength → NO_COVERAGE
2. getLength : replaced Integer return value with 0 for fr/sii/ogham/testing/sms/simulator/jsmpp/OptionalParameterAdapter::getLength → KILLED
			return null;
48
		}
49 3 1. getLength : replaced Integer return value with 0 for fr/sii/ogham/testing/sms/simulator/jsmpp/OptionalParameterAdapter::getLength → NO_COVERAGE
2. getLength : replaced Integer return value with 0 for fr/sii/ogham/testing/sms/simulator/jsmpp/OptionalParameterAdapter::getLength → KILLED
3. getLength : replaced Integer return value with 0 for fr/sii/ogham/testing/sms/simulator/jsmpp/OptionalParameterAdapter::getLength → KILLED
		return new BigInteger(length).intValue();
50
	}
51
52
	@Override
53
	public byte[] getValue() {
54 3 1. getValue : replaced return value with null for fr/sii/ogham/testing/sms/simulator/jsmpp/OptionalParameterAdapter::getValue → NO_COVERAGE
2. getValue : replaced return value with null for fr/sii/ogham/testing/sms/simulator/jsmpp/OptionalParameterAdapter::getValue → KILLED
3. getValue : replaced return value with null for fr/sii/ogham/testing/sms/simulator/jsmpp/OptionalParameterAdapter::getValue → KILLED
		return getOptionalParameterBytes(4, null);
55
	}
56
	
57
	@Override
58
	public String toString() {
59 2 1. toString : replaced return value with "" for fr/sii/ogham/testing/sms/simulator/jsmpp/OptionalParameterAdapter::toString → NO_COVERAGE
2. toString : replaced return value with "" for fr/sii/ogham/testing/sms/simulator/jsmpp/OptionalParameterAdapter::toString → KILLED
		return "["+getTag()+"|"+getLength()+"|"+HexUtil.toHexString(getValue())+"]";
60
	}
61
62
	@SuppressWarnings("squid:S1168")
63
	private byte[] getOptionalParameterBytes(int from, Integer to) {
64
		org.jsmpp.bean.OptionalParameter parameter = original.getOptionalParameter(tag);
65 3 1. getOptionalParameterBytes : negated conditional → NO_COVERAGE
2. getOptionalParameterBytes : negated conditional → KILLED
3. getOptionalParameterBytes : negated conditional → KILLED
		if (parameter == null) {
66
			return null;
67
		}
68
		byte[] bytes = parameter.serialize();
69 3 1. getOptionalParameterBytes : negated conditional → NO_COVERAGE
2. getOptionalParameterBytes : negated conditional → KILLED
3. getOptionalParameterBytes : negated conditional → KILLED
		if (bytes == null) {
70
			return null;
71
		}
72 6 1. getOptionalParameterBytes : negated conditional → NO_COVERAGE
2. getOptionalParameterBytes : replaced return value with null for fr/sii/ogham/testing/sms/simulator/jsmpp/OptionalParameterAdapter::getOptionalParameterBytes → NO_COVERAGE
3. getOptionalParameterBytes : negated conditional → KILLED
4. getOptionalParameterBytes : negated conditional → KILLED
5. getOptionalParameterBytes : replaced return value with null for fr/sii/ogham/testing/sms/simulator/jsmpp/OptionalParameterAdapter::getOptionalParameterBytes → KILLED
6. getOptionalParameterBytes : replaced return value with null for fr/sii/ogham/testing/sms/simulator/jsmpp/OptionalParameterAdapter::getOptionalParameterBytes → KILLED
		return Arrays.copyOfRange(bytes, from, to == null ? bytes.length : to);
73
	}
74
}

Mutations

37

1.1
Location : getTag
Killed by : none
negated conditional → SURVIVED

2.2
Location : getTag
Killed by : none
negated conditional → NO_COVERAGE

3.3
Location : getTag
Killed by : oghamtesting.it.assertion.FluentSmsAssertionsSpec
negated conditional → KILLED

38

1.1
Location : getTag
Killed by : none
replaced Short return value with 0 for fr/sii/ogham/testing/sms/simulator/jsmpp/OptionalParameterAdapter::getTag → NO_COVERAGE

2.2
Location : getTag
Killed by : oghamtesting.it.assertion.FluentSmsAssertionsSpec
replaced Short return value with 0 for fr/sii/ogham/testing/sms/simulator/jsmpp/OptionalParameterAdapter::getTag → KILLED

40

1.1
Location : getTag
Killed by : oghamtesting.it.assertion.FluentSmsAssertionsSpec
replaced Short return value with 0 for fr/sii/ogham/testing/sms/simulator/jsmpp/OptionalParameterAdapter::getTag → KILLED

2.2
Location : getTag
Killed by : none
replaced Short return value with 0 for fr/sii/ogham/testing/sms/simulator/jsmpp/OptionalParameterAdapter::getTag → SURVIVED

3.3
Location : getTag
Killed by : none
replaced Short return value with 0 for fr/sii/ogham/testing/sms/simulator/jsmpp/OptionalParameterAdapter::getTag → NO_COVERAGE

46

1.1
Location : getLength
Killed by : oghamcloudhopper.it.TlvMessagePayloadTest.simple(oghamcloudhopper.it.TlvMessagePayloadTest)
negated conditional → KILLED

2.2
Location : getLength
Killed by : none
negated conditional → NO_COVERAGE

3.3
Location : getLength
Killed by : oghamtesting.it.assertion.FluentSmsAssertionsSpec
negated conditional → KILLED

47

1.1
Location : getLength
Killed by : oghamtesting.it.assertion.FluentSmsAssertionsSpec
replaced Integer return value with 0 for fr/sii/ogham/testing/sms/simulator/jsmpp/OptionalParameterAdapter::getLength → KILLED

2.2
Location : getLength
Killed by : none
replaced Integer return value with 0 for fr/sii/ogham/testing/sms/simulator/jsmpp/OptionalParameterAdapter::getLength → NO_COVERAGE

49

1.1
Location : getLength
Killed by : oghamcloudhopper.it.TlvMessagePayloadTest.simple(oghamcloudhopper.it.TlvMessagePayloadTest)
replaced Integer return value with 0 for fr/sii/ogham/testing/sms/simulator/jsmpp/OptionalParameterAdapter::getLength → KILLED

2.2
Location : getLength
Killed by : none
replaced Integer return value with 0 for fr/sii/ogham/testing/sms/simulator/jsmpp/OptionalParameterAdapter::getLength → NO_COVERAGE

3.3
Location : getLength
Killed by : oghamtesting.it.assertion.FluentSmsAssertionsSpec
replaced Integer return value with 0 for fr/sii/ogham/testing/sms/simulator/jsmpp/OptionalParameterAdapter::getLength → KILLED

54

1.1
Location : getValue
Killed by : oghamcloudhopper.it.TlvMessagePayloadTest.simple(oghamcloudhopper.it.TlvMessagePayloadTest)
replaced return value with null for fr/sii/ogham/testing/sms/simulator/jsmpp/OptionalParameterAdapter::getValue → KILLED

2.2
Location : getValue
Killed by : oghamtesting.it.assertion.FluentSmsAssertionsSpec
replaced return value with null for fr/sii/ogham/testing/sms/simulator/jsmpp/OptionalParameterAdapter::getValue → KILLED

3.3
Location : getValue
Killed by : none
replaced return value with null for fr/sii/ogham/testing/sms/simulator/jsmpp/OptionalParameterAdapter::getValue → NO_COVERAGE

59

1.1
Location : toString
Killed by : none
replaced return value with "" for fr/sii/ogham/testing/sms/simulator/jsmpp/OptionalParameterAdapter::toString → NO_COVERAGE

2.2
Location : toString
Killed by : oghamtesting.it.assertion.FluentSmsAssertionsSpec
replaced return value with "" for fr/sii/ogham/testing/sms/simulator/jsmpp/OptionalParameterAdapter::toString → KILLED

65

1.1
Location : getOptionalParameterBytes
Killed by : oghamtesting.it.assertion.FluentSmsAssertionsSpec
negated conditional → KILLED

2.2
Location : getOptionalParameterBytes
Killed by : oghamcloudhopper.it.TlvMessagePayloadTest.simple(oghamcloudhopper.it.TlvMessagePayloadTest)
negated conditional → KILLED

3.3
Location : getOptionalParameterBytes
Killed by : none
negated conditional → NO_COVERAGE

69

1.1
Location : getOptionalParameterBytes
Killed by : none
negated conditional → NO_COVERAGE

2.2
Location : getOptionalParameterBytes
Killed by : oghamtesting.it.assertion.FluentSmsAssertionsSpec
negated conditional → KILLED

3.3
Location : getOptionalParameterBytes
Killed by : oghamcloudhopper.it.TlvMessagePayloadTest.simple(oghamcloudhopper.it.TlvMessagePayloadTest)
negated conditional → KILLED

72

1.1
Location : getOptionalParameterBytes
Killed by : oghamcloudhopper.it.TlvMessagePayloadTest.simple(oghamcloudhopper.it.TlvMessagePayloadTest)
negated conditional → KILLED

2.2
Location : getOptionalParameterBytes
Killed by : none
negated conditional → NO_COVERAGE

3.3
Location : getOptionalParameterBytes
Killed by : oghamtesting.it.assertion.FluentSmsAssertionsSpec
negated conditional → KILLED

4.4
Location : getOptionalParameterBytes
Killed by : none
replaced return value with null for fr/sii/ogham/testing/sms/simulator/jsmpp/OptionalParameterAdapter::getOptionalParameterBytes → NO_COVERAGE

5.5
Location : getOptionalParameterBytes
Killed by : oghamcloudhopper.it.TlvMessagePayloadTest.simple(oghamcloudhopper.it.TlvMessagePayloadTest)
replaced return value with null for fr/sii/ogham/testing/sms/simulator/jsmpp/OptionalParameterAdapter::getOptionalParameterBytes → KILLED

6.6
Location : getOptionalParameterBytes
Killed by : oghamtesting.it.assertion.FluentSmsAssertionsSpec
replaced return value with null for fr/sii/ogham/testing/sms/simulator/jsmpp/OptionalParameterAdapter::getOptionalParameterBytes → KILLED

Active mutators

Tests examined


Report generated by PIT OGHAM