Unit tests for some uncovered Intent types

Change-Id: I9ddd0a4f8d12222b6f5c6bc2d127d6082bc0649d
diff --git a/core/api/src/test/java/org/onosproject/net/intent/TwoWayP2PIntentTest.java b/core/api/src/test/java/org/onosproject/net/intent/TwoWayP2PIntentTest.java
index 08a9656..0986216 100644
--- a/core/api/src/test/java/org/onosproject/net/intent/TwoWayP2PIntentTest.java
+++ b/core/api/src/test/java/org/onosproject/net/intent/TwoWayP2PIntentTest.java
@@ -15,14 +15,56 @@
  */
 package org.onosproject.net.intent;
 
+import org.hamcrest.Matchers;
+import org.junit.Before;
 import org.junit.Test;
+import org.onosproject.net.flow.TrafficSelector;
+import org.onosproject.net.flow.TrafficTreatment;
 
+import com.google.common.testing.EqualsTester;
+
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.is;
+import static org.hamcrest.core.IsEqual.equalTo;
 import static org.onlab.junit.ImmutableClassChecker.assertThatClassIsImmutable;
-
+import static org.onosproject.net.NetTestTools.APP_ID;
+import static org.onosproject.net.NetTestTools.connectPoint;
 /**
  * Unit tests for the TwoWayP2PIntent class.
  */
-public class TwoWayP2PIntentTest {
+public class TwoWayP2PIntentTest extends AbstractIntentTest {
+
+    TrafficSelector selector;
+    TrafficTreatment treatment;
+
+    TwoWayP2PIntent intent1;
+    TwoWayP2PIntent intent2;
+
+    static final int PRIORITY = 12;
+
+    @Before
+    public void twoWatP2PIntentTestSetUp() {
+        selector = new IntentTestsMocks.MockSelector();
+        treatment = new IntentTestsMocks.MockTreatment();
+
+        intent1 = TwoWayP2PIntent.builder()
+                .appId(APP_ID)
+                .priority(PRIORITY)
+                .selector(selector)
+                .treatment(treatment)
+                .one(connectPoint("one", 1))
+                .two(connectPoint("two", 2))
+                .build();
+
+        intent2 = TwoWayP2PIntent.builder()
+                .appId(APP_ID)
+                .priority(PRIORITY)
+                .selector(selector)
+                .treatment(treatment)
+                .one(connectPoint("two", 2))
+                .two(connectPoint("three", 2))
+                .build();
+    }
 
     /**
      * Checks that the TwoWayP2PIntent class is immutable.
@@ -32,4 +74,27 @@
         assertThatClassIsImmutable(TwoWayP2PIntent.class);
     }
 
+    /**
+     * Checks the operation of equals(), hashCode() and toString() methods.
+     */
+    @Test
+    public void testEquals() {
+        new EqualsTester()
+                .addEqualityGroup(intent1)
+                .addEqualityGroup(intent2)
+                .testEquals();
+    }
+
+    /**
+     * Checks that the optical path ntent objects are created correctly.
+     */
+    @Test
+    public void testContents() {
+        assertThat(intent1.appId(), equalTo(APP_ID));
+        assertThat(intent1.one(), Matchers.equalTo(connectPoint("one", 1)));
+        assertThat(intent1.two(), Matchers.equalTo(connectPoint("two", 2)));
+        assertThat(intent1.priority(), is(PRIORITY));
+        assertThat(intent1.selector(), is(selector));
+        assertThat(intent1.treatment(), is(treatment));
+    }
 }