package forklift.deployment;
import forklift.ForkliftTest;
import forklift.deployment.deploymentClasses.TestCoreService1;
import forklift.deployment.deploymentClasses.TestQueue1;
import forklift.deployment.deploymentClasses.TestQueue2;
import forklift.deployment.deploymentClasses.TestService1;
import forklift.deployment.deploymentClasses.TestTopic1;
import org.junit.Test;
import java.io.File;
import java.io.IOException;
import static org.junit.Assert.*;
public class ClassDeploymentTest {
@Test(expected = NullPointerException.class)
public void testNullDeployment() throws IOException {
new ClassDeployment(null);
}
@Test
public void testPartRetrieval() throws IOException {
File f = ForkliftTest.testMultiTQJar();
ClassDeployment d = new ClassDeployment(TestCoreService1.class, TestQueue1.class, TestQueue2.class, TestService1.class, TestTopic1.class);
assertNotNull(d);
assertEquals(2, d.getQueues().size());
assertEquals(1, d.getTopics().size());
assertEquals(1, d.getCoreServices().size());
assertEquals(1, d.getServices().size());
}
@Test
public void hashCodeEqualsTest(){
ClassDeployment d1 = new ClassDeployment(TestCoreService1.class, TestQueue1.class, TestQueue2.class, TestService1.class, TestTopic1.class);
ClassDeployment d2 = new ClassDeployment(TestCoreService1.class, TestQueue1.class, TestQueue2.class, TestService1.class, TestTopic1.class);
assertEquals(d1.hashCode(), d2.hashCode());
}
@Test
public void hashCodeNotEqualsTest(){
ClassDeployment d1 = new ClassDeployment(TestCoreService1.class, TestQueue1.class, TestQueue2.class, TestService1.class, TestTopic1.class);
ClassDeployment d2 = new ClassDeployment(TestCoreService1.class, TestQueue2.class, TestService1.class, TestTopic1.class);
assertNotEquals(d1.hashCode(), d2.hashCode());
}
@Test
public void equalsReflexiveTest(){
ClassDeployment d1 = new ClassDeployment(TestCoreService1.class, TestQueue1.class, TestQueue2.class, TestService1.class, TestTopic1.class);
assertTrue(d1.equals(d1));
}
@Test
public void equalsSymmetricTrueTest(){
ClassDeployment d1 = new ClassDeployment(TestCoreService1.class, TestQueue1.class, TestQueue2.class, TestService1.class, TestTopic1.class);
ClassDeployment d2 = new ClassDeployment(TestCoreService1.class, TestQueue1.class, TestQueue2.class, TestService1.class, TestTopic1.class);
assertTrue(d1.equals(d2));
assertTrue(d2.equals(d1));
}
@Test
public void equalsSymmetricFalseTest1(){
ClassDeployment d1 = new ClassDeployment(TestCoreService1.class, TestQueue1.class, TestQueue2.class, TestService1.class, TestTopic1.class);
ClassDeployment d2 = new ClassDeployment(TestCoreService1.class, TestQueue1.class, TestService1.class, TestTopic1.class);
assertFalse(d1.equals(d2));
assertFalse(d2.equals(d1));
}
@Test
public void equalsSymmetricFalseTest2(){
ClassDeployment d1 = new ClassDeployment(TestCoreService1.class, TestQueue1.class, TestQueue2.class, TestService1.class, TestTopic1.class);
ClassDeployment d2 = new ClassDeployment(TestCoreService1.class, TestQueue1.class, TestQueue2.class, TestTopic1.class, TestTopic1.class);
assertFalse(d1.equals(d2));
assertFalse(d2.equals(d1));
}
@Test
public void equalsTransitiveTest(){
ClassDeployment d1 = new ClassDeployment(TestCoreService1.class, TestQueue1.class, TestQueue2.class, TestService1.class, TestTopic1.class);
ClassDeployment d2 = new ClassDeployment(TestCoreService1.class, TestQueue1.class, TestQueue2.class, TestService1.class, TestTopic1.class);
ClassDeployment d3 = new ClassDeployment(TestCoreService1.class, TestQueue1.class, TestQueue2.class, TestService1.class, TestTopic1.class);
assertTrue(d1.equals(d2));
assertTrue(d2.equals(d3));
assertTrue(d1.equals(d3));
}
@Test
public void equalsNullReferenceTest(){
ClassDeployment d1 = new ClassDeployment(TestCoreService1.class, TestQueue1.class, TestQueue2.class, TestService1.class, TestTopic1.class);
assertFalse(d1.equals(null));
}
}