BigInteger mn = BigInteger.TEN;
SequenceAcknowledgement ack = control.createMock(SequenceAcknowledgement.class);
List<AcknowledgementRange> ranges = new ArrayList<AcknowledgementRange>();
AcknowledgementRange r = control.createMock(AcknowledgementRange.class);
EasyMock.expect(ack.getAcknowledgementRange()).andReturn(ranges);
DeliveryAssuranceType da = control.createMock(DeliveryAssuranceType.class);
EasyMock.expect(manager.getDeliveryAssurance()).andReturn(da);
EasyMock.expect(da.isSetAtMostOnce()).andReturn(true);
control.replay();
DestinationSequence ds = new DestinationSequence(id, ref, null, ack);
ds.setDestination(destination);
assertTrue("message had already been delivered", ds.applyDeliveryAssurance(mn));
control.verify();
control.reset();
ranges.add(r);
EasyMock.expect(destination.getManager()).andReturn(manager);
EasyMock.expect(manager.getDeliveryAssurance()).andReturn(da);
EasyMock.expect(da.isSetAtMostOnce()).andReturn(true);
EasyMock.expect(ack.getAcknowledgementRange()).andReturn(ranges);
EasyMock.expect(r.getLower()).andReturn(new BigInteger("5"));
EasyMock.expect(r.getUpper()).andReturn(new BigInteger("15"));
control.replay();
assertTrue("message has not yet been delivered", !ds.applyDeliveryAssurance(mn));