1
2
3
4
5 package com.jcabi.dynamo.retry;
6
7 import com.jcabi.dynamo.Dosage;
8 import java.util.Collections;
9 import java.util.List;
10 import java.util.Map;
11 import org.hamcrest.MatcherAssert;
12 import org.hamcrest.Matchers;
13 import org.junit.jupiter.api.Test;
14 import software.amazon.awssdk.services.dynamodb.model.AttributeValue;
15
16
17
18
19
20 final class ReDosageTest {
21
22 @Test
23 void delegatesItemsToOrigin() {
24 MatcherAssert.assertThat(
25 "does not delegate items to origin dosage",
26 new ReDosage(new Dosage.Empty()).items(),
27 Matchers.empty()
28 );
29 }
30
31 @Test
32 void delegatesHasNextToOrigin() {
33 MatcherAssert.assertThat(
34 "does not delegate hasNext to origin dosage",
35 new ReDosage(new Dosage.Empty()).hasNext(),
36 Matchers.is(false)
37 );
38 }
39
40 @Test
41 void wrapsNextResultInReDosage() {
42 MatcherAssert.assertThat(
43 "does not wrap next result in ReDosage",
44 new ReDosage(
45 new Dosage() {
46 @Override
47 public List<Map<String, AttributeValue>> items() {
48 return Collections.emptyList();
49 }
50
51 @Override
52 public boolean hasNext() {
53 return true;
54 }
55
56 @Override
57 public Dosage next() {
58 return new Dosage.Empty();
59 }
60 }
61 ).next(),
62 Matchers.instanceOf(ReDosage.class)
63 );
64 }
65 }