blob: d8a16903eca89292de17156cd4cfbe18a8618a46 [file] [log] [blame]
package net.onrc.onos.core.intent;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import java.util.HashSet;
import org.junit.Test;
/**
* Unit tests for Intent.
*/
public class IntentTest {
@Test
public void testCreateIntent() {
Intent intent = new Intent("id");
assertEquals("id", intent.getId());
assertEquals(Intent.IntentState.CREATED, intent.getState());
}
@Test
public void testCreateIntentWithState() {
Intent intent = new Intent("id", Intent.IntentState.INST_REQ);
assertEquals("id", intent.getId());
assertEquals(Intent.IntentState.INST_REQ, intent.getState());
}
@Test
public void testSetState() {
Intent intent = new Intent("id");
intent.setState(Intent.IntentState.INST_REQ);
assertEquals(Intent.IntentState.INST_REQ, intent.getState());
intent.setState(Intent.IntentState.DEL_REQ);
assertEquals(Intent.IntentState.DEL_REQ, intent.getState());
}
@Test
public void testEquals() {
Intent intent1 = new Intent("id1");
Intent intent2 = new Intent("id1");
Intent intent3 = new Intent("id2");
Intent intent4 = new Intent("id2");
assertEquals(intent1, intent2);
assertEquals(intent3, intent4);
assertFalse(intent1.equals(intent3));
assertFalse(intent3.equals(intent1));
intent1.setState(Intent.IntentState.INST_ACK);
intent2.setState(Intent.IntentState.INST_NACK);
assertEquals(intent1, intent2);
}
@Test
public void testHashCode() {
Intent intent1 = new Intent("id1");
intent1.setState(Intent.IntentState.INST_ACK);
Intent intent2 = new Intent("id1");
intent2.setState(Intent.IntentState.INST_NACK);
Intent intent3 = new Intent("id2");
Intent intent4 = new Intent("id2");
HashSet<Intent> intents = new HashSet<>();
intents.add(intent1);
intents.add(intent2);
intents.add(intent3);
intents.add(intent4);
assertEquals(2, intents.size());
assertTrue(intents.contains(intent1));
assertTrue(intents.contains(intent2));
assertTrue(intents.contains(intent3));
assertTrue(intents.contains(intent4));
}
}