diff --git a/core/net/src/test/java/org/onosproject/net/intent/impl/compiler/LinkCollectionIntentCompilerTest.java b/core/net/src/test/java/org/onosproject/net/intent/impl/compiler/LinkCollectionIntentCompilerTest.java
index f314fe9..c5fa371 100644
--- a/core/net/src/test/java/org/onosproject/net/intent/impl/compiler/LinkCollectionIntentCompilerTest.java
+++ b/core/net/src/test/java/org/onosproject/net/intent/impl/compiler/LinkCollectionIntentCompilerTest.java
@@ -81,7 +81,7 @@
     private LinkCollectionIntentCompiler sut;
 
     @Before
-    public void setUP() {
+    public void setUp() {
         sut = new LinkCollectionIntentCompiler();
         coreService = createMock(CoreService.class);
         expect(coreService.registerApplication("org.onosproject.net.intent"))
@@ -132,6 +132,7 @@
         assertThat(rule1.treatment(), is(
                 DefaultTrafficTreatment.builder(intent.treatment()).setOutput(d1p1.port()).build()
         ));
+        assertThat(rule1.priority(), is(intent.priority()));
 
         FlowRule rule2 = rules.stream()
                 .filter(rule -> rule.deviceId().equals(d2p0.deviceId()))
@@ -143,6 +144,7 @@
         assertThat(rule2.treatment(), is(
                 DefaultTrafficTreatment.builder().setOutput(d2p1.port()).build()
         ));
+        assertThat(rule2.priority(), is(intent.priority()));
 
         FlowRule rule3 = rules.stream()
                 .filter(rule -> rule.deviceId().equals(d3p0.deviceId()))
@@ -154,6 +156,7 @@
         assertThat(rule3.treatment(), is(
                 DefaultTrafficTreatment.builder().setOutput(d3p1.port()).build()
         ));
+        assertThat(rule3.priority(), is(intent.priority()));
 
         sut.deactivate();
     }
