*/
package org.opendaylight.yangtools.yang.data.tree.spi;
-import static org.hamcrest.CoreMatchers.containsString;
-import static org.hamcrest.CoreMatchers.instanceOf;
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertInstanceOf;
+import static org.junit.jupiter.api.Assertions.assertSame;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.isNull;
import static org.mockito.Mockito.doReturn;
import java.util.List;
import java.util.Optional;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.junit.MockitoJUnitRunner;
+import org.junit.jupiter.api.Test;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
import org.opendaylight.yangtools.yang.data.tree.api.DataTreeModificationCursor;
import org.opendaylight.yangtools.yang.data.tree.api.ModificationType;
-@RunWith(MockitoJUnitRunner.StrictStubs.class)
-public class DataTreeCandidatesTest {
+class DataTreeCandidatesTest {
private static final NodeIdentifier FOO = new NodeIdentifier(QName.create("foo", "foo"));
@Test
- public void testNewDataTreeCandidate() {
- final DataTreeCandidateNode mockedDataTreeCandidateNode = mock(DataTreeCandidateNode.class);
- final DataTreeCandidate dataTreeCandidate = DataTreeCandidates.newDataTreeCandidate(
+ void testNewDataTreeCandidate() {
+ final var mockedDataTreeCandidateNode = mock(DataTreeCandidateNode.class);
+ final var dataTreeCandidate = DataTreeCandidates.newDataTreeCandidate(
YangInstanceIdentifier.of(), mockedDataTreeCandidateNode);
- assertThat(dataTreeCandidate, instanceOf(DefaultDataTreeCandidate.class));
+ assertInstanceOf(DefaultDataTreeCandidate.class, dataTreeCandidate);
assertSame(YangInstanceIdentifier.of(), dataTreeCandidate.getRootPath());
assertEquals(mockedDataTreeCandidateNode, dataTreeCandidate.getRootNode());
- assertThat(dataTreeCandidate.toString(),
- containsString("DefaultDataTreeCandidate{rootPath=/, rootNode=Mock for DataTreeCandidateNode, hashCode: "));
+ assertTrue(dataTreeCandidate.toString()
+ .contains("DefaultDataTreeCandidate{rootPath=/, rootNode=Mock for DataTreeCandidateNode, hashCode: "));
}
@Test
- public void testFromNormalizedNode() {
- final NormalizedNode mockedNormalizedNode = mock(NormalizedNode.class);
- final DataTreeCandidate dataTreeCandidate = DataTreeCandidates.fromNormalizedNode(
+ void testFromNormalizedNode() {
+ final var mockedNormalizedNode = mock(NormalizedNode.class);
+ final var dataTreeCandidate = DataTreeCandidates.fromNormalizedNode(
YangInstanceIdentifier.of(), mockedNormalizedNode);
- assertThat(dataTreeCandidate, instanceOf(DefaultDataTreeCandidate.class));
+ assertInstanceOf(DefaultDataTreeCandidate.class, dataTreeCandidate);
assertSame(YangInstanceIdentifier.of(), dataTreeCandidate.getRootPath());
- assertThat(dataTreeCandidate.getRootNode(), instanceOf(NormalizedNodeDataTreeCandidateNode.class));
+ assertInstanceOf(NormalizedNodeDataTreeCandidateNode.class, dataTreeCandidate.getRootNode());
}
@Test
- public void testApplyToCursor() {
- final DataTreeCandidate mockedDataTreeCandidate = mock(DataTreeCandidate.class);
- final DataTreeModificationCursor mockedCursor = mock(DataTreeModificationCursor.class);
+ void testApplyToCursor() {
+ final var mockedDataTreeCandidate = mock(DataTreeCandidate.class);
+ final var mockedCursor = mock(DataTreeModificationCursor.class);
- final DataTreeCandidateNode mockedDataTreeCandidateNode = mock(DataTreeCandidateNode.class);
+ final var mockedDataTreeCandidateNode = mock(DataTreeCandidateNode.class);
doReturn(ModificationType.DELETE).when(mockedDataTreeCandidateNode).modificationType();
doReturn(mockedDataTreeCandidateNode).when(mockedDataTreeCandidate).getRootNode();
DataTreeCandidates.applyToCursor(mockedCursor, mockedDataTreeCandidate);
}
@Test
- public void testApplyToCursorAwareModification() {
- final DataTreeCandidate mockedDataTreeCandidate = mock(DataTreeCandidate.class);
- final CursorAwareDataTreeModification mockedModification = mock(CursorAwareDataTreeModification.class);
+ void testApplyToCursorAwareModification() {
+ final var mockedDataTreeCandidate = mock(DataTreeCandidate.class);
+ final var mockedModification = mock(CursorAwareDataTreeModification.class);
doReturn(YangInstanceIdentifier.of(FOO)).when(mockedDataTreeCandidate).getRootPath();
- final DataTreeModificationCursor mockedCursor = mock(DataTreeModificationCursor.class);
+ final var mockedCursor = mock(DataTreeModificationCursor.class);
doReturn(Optional.of(mockedCursor)).when(mockedModification).openCursor(YangInstanceIdentifier.of());
- final DataTreeCandidateNode mockedDataTreeCandidateNode = mock(DataTreeCandidateNode.class);
+ final var mockedDataTreeCandidateNode = mock(DataTreeCandidateNode.class);
doReturn(mockedDataTreeCandidateNode).when(mockedDataTreeCandidate).getRootNode();
doReturn(ModificationType.DELETE).when(mockedDataTreeCandidateNode).modificationType();
}
@Test
- public void testApplyToCursorAwareModificationRoot() {
- final DataTreeCandidate mockedDataTreeCandidate = mock(DataTreeCandidate.class);
- final CursorAwareDataTreeModification mockedModification = mock(CursorAwareDataTreeModification.class);
- final DataTreeCandidateNode mockedDataTreeCandidateNode = mock(DataTreeCandidateNode.class);
+ void testApplyToCursorAwareModificationRoot() {
+ final var mockedDataTreeCandidate = mock(DataTreeCandidate.class);
+ final var mockedModification = mock(CursorAwareDataTreeModification.class);
+ final var mockedDataTreeCandidateNode = mock(DataTreeCandidateNode.class);
doReturn(YangInstanceIdentifier.of()).when(mockedDataTreeCandidate).getRootPath();
doReturn(mockedDataTreeCandidateNode).when(mockedDataTreeCandidate).getRootNode();
doReturn(ModificationType.DELETE).when(mockedDataTreeCandidateNode).modificationType();
}
@Test
- public void testApplyToModificationWithDeleteModificationType() {
- final DataTreeCandidate mockedDataTreeCandidate = mock(DataTreeCandidate.class);
- final DataTreeModification mockedModification = mock(DataTreeModification.class);
+ void testApplyToModificationWithDeleteModificationType() {
+ final var mockedDataTreeCandidate = mock(DataTreeCandidate.class);
+ final var mockedModification = mock(DataTreeModification.class);
- final DataTreeCandidateNode mockedDataTreeCandidateNode = mock(DataTreeCandidateNode.class);
+ final var mockedDataTreeCandidateNode = mock(DataTreeCandidateNode.class);
doReturn(mockedDataTreeCandidateNode).when(mockedDataTreeCandidate).getRootNode();
doReturn(YangInstanceIdentifier.of()).when(mockedDataTreeCandidate).getRootPath();
}
@Test
- public void testApplyToModificationWithWriteModificationType() {
- final DataTreeCandidate mockedDataTreeCandidate = mock(DataTreeCandidate.class);
- final DataTreeModification mockedModification = mock(DataTreeModification.class);
+ void testApplyToModificationWithWriteModificationType() {
+ final var mockedDataTreeCandidate = mock(DataTreeCandidate.class);
+ final var mockedModification = mock(DataTreeModification.class);
- final DataTreeCandidateNode mockedDataTreeCandidateNode = mock(DataTreeCandidateNode.class);
+ final var mockedDataTreeCandidateNode = mock(DataTreeCandidateNode.class);
doReturn(mockedDataTreeCandidateNode).when(mockedDataTreeCandidate).getRootNode();
doReturn(YangInstanceIdentifier.of()).when(mockedDataTreeCandidate).getRootPath();
- final NormalizedNode mockedNormalizedNode = mock(NormalizedNode.class);
+ final var mockedNormalizedNode = mock(NormalizedNode.class);
doReturn(mockedNormalizedNode).when(mockedDataTreeCandidateNode).dataAfter();
doReturn(ModificationType.WRITE).when(mockedDataTreeCandidateNode).modificationType();
}
@Test
- public void testApplyToModificationWithSubtreeModifiedModificationType() {
- final DataTreeCandidate mockedDataTreeCandidate = mock(DataTreeCandidate.class);
- final DataTreeModification mockedModification = mock(DataTreeModification.class);
+ void testApplyToModificationWithSubtreeModifiedModificationType() {
+ final var mockedDataTreeCandidate = mock(DataTreeCandidate.class);
+ final var mockedModification = mock(DataTreeModification.class);
- final DataTreeCandidateNode mockedDataTreeCandidateNode = mock(DataTreeCandidateNode.class);
+ final var mockedDataTreeCandidateNode = mock(DataTreeCandidateNode.class);
doReturn(mockedDataTreeCandidateNode).when(mockedDataTreeCandidate).getRootNode();
doReturn(YangInstanceIdentifier.of()).when(mockedDataTreeCandidate).getRootPath();
doReturn(ModificationType.SUBTREE_MODIFIED).when(mockedDataTreeCandidateNode).modificationType();
- final DataTreeCandidateNode mockedChildNode1 = mock(DataTreeCandidateNode.class);
+ final var mockedChildNode1 = mock(DataTreeCandidateNode.class);
doReturn(ModificationType.DELETE).when(mockedChildNode1).modificationType();
doReturn(new NodeIdentifier(QName.create("test", "test1"))).when(mockedChildNode1).name();
- final DataTreeCandidateNode mockedChildNode2 = mock(DataTreeCandidateNode.class);
+ final var mockedChildNode2 = mock(DataTreeCandidateNode.class);
doReturn(ModificationType.WRITE).when(mockedChildNode2).modificationType();
final NormalizedNode mockedNormalizedNode = mock(NormalizedNode.class);
doReturn(mockedNormalizedNode).when(mockedChildNode2).dataAfter();
doReturn(new NodeIdentifier(QName.create("test", "test2"))).when(mockedChildNode2).name();
- final DataTreeCandidateNode mockedChildNode3 = mock(DataTreeCandidateNode.class);
+ final var mockedChildNode3 = mock(DataTreeCandidateNode.class);
doReturn(ModificationType.SUBTREE_MODIFIED).when(mockedChildNode3).modificationType();
- final DataTreeCandidateNode mockedChildNode3ChildNode = mock(DataTreeCandidateNode.class);
+ final var mockedChildNode3ChildNode = mock(DataTreeCandidateNode.class);
doReturn(ModificationType.DELETE).when(mockedChildNode3ChildNode).modificationType();
doReturn(new NodeIdentifier(QName.create("test", "test3"))).when(mockedChildNode3).name();
doReturn(new NodeIdentifier(QName.create("test", "test4"))).when(mockedChildNode3ChildNode).name();
doReturn(List.of(mockedChildNode3ChildNode)).when(mockedChildNode3).childNodes();
- final List<DataTreeCandidateNode> childNodes = List.of(mockedChildNode1, mockedChildNode2, mockedChildNode3);
+ final var childNodes = List.of(mockedChildNode1, mockedChildNode2, mockedChildNode3);
doReturn(childNodes).when(mockedDataTreeCandidateNode).childNodes();
DataTreeCandidates.applyToModification(mockedModification, mockedDataTreeCandidate);
}
@Test
- public void testApplyToModificationWithUnsupportedModificationType() {
- final DataTreeCandidate mockedDataTreeCandidate = mock(DataTreeCandidate.class);
- final DataTreeModification mockedModification = mock(DataTreeModification.class);
+ void testApplyToModificationWithUnsupportedModificationType() {
+ final var mockedDataTreeCandidate = mock(DataTreeCandidate.class);
+ final var mockedModification = mock(DataTreeModification.class);
- final DataTreeCandidateNode mockedDataTreeCandidateNode = mock(DataTreeCandidateNode.class);
+ final var mockedDataTreeCandidateNode = mock(DataTreeCandidateNode.class);
doReturn(mockedDataTreeCandidateNode).when(mockedDataTreeCandidate).getRootNode();
doReturn(YangInstanceIdentifier.of()).when(mockedDataTreeCandidate).getRootPath();
doReturn(ModificationType.APPEARED).when(mockedDataTreeCandidateNode).modificationType();
- final IllegalArgumentException ex = assertThrows(IllegalArgumentException.class,
+ final var ex = assertThrows(IllegalArgumentException.class,
() -> DataTreeCandidates.applyToModification(mockedModification, mockedDataTreeCandidate));
- assertThat(ex.getMessage(), containsString("Unsupported modification"));
+ assertTrue(ex.getMessage().contains("Unsupported modification"));
}
}