ClassImportTest.java 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. package de.tu_darmstadt.tk.shNetSimTests.control;
  2. import java.io.File;
  3. import org.junit.After;
  4. import org.junit.Assert;
  5. import org.junit.Before;
  6. import org.junit.Test;
  7. import de.tu_darmstadt.tk.SmartHomeNetworkSim.control.ClassImportException;
  8. import de.tu_darmstadt.tk.SmartHomeNetworkSim.control.ImportController;
  9. /**
  10. * Tests Import Functionalities of the
  11. *
  12. *
  13. * @author Andreas T. Meyer-Berg
  14. */
  15. public class ClassImportTest {
  16. String pathToRessources = "src/test/resources/control/testCompilation/";
  17. File compileTest = new File(pathToRessources + "project1/MQTT_protocolProject1.javaTest");
  18. File compileTestJava = new File(pathToRessources + "project1/MQTT_protocolProject1.java");
  19. File compileInvalid = new File(pathToRessources + "project1/MQTT_invalidPackage.javaTest");
  20. File compileInvalidJava = new File(pathToRessources + "project1/MQTT_invalidPackage.java");
  21. File compilePackage = new File(pathToRessources + "packageTest/MQTT_protocolPackageTest.javaTest");
  22. File compilePackageJava = new File(pathToRessources + "packageTest/MQTT_protocolPackageTest.java");
  23. File compileDeepPackage = new File(pathToRessources + "packageTest/deepPackage/reallyDeepPackage/MQTT_protocolDeepPackageTest.javaTest");
  24. File compileDeepPackageJava = new File(pathToRessources + "packageTest/deepPackage/reallyDeepPackage/MQTT_protocolDeepPackageTest.java");
  25. @Before
  26. public void renameJavaFilesBefore(){
  27. compileTest.renameTo(compileTestJava);
  28. compileInvalid.renameTo(compileInvalidJava);
  29. compilePackage.renameTo(compilePackageJava);
  30. compileDeepPackage.renameTo(compileDeepPackageJava);
  31. }
  32. @Test
  33. public void javaPackageName() {
  34. Assert.assertEquals("packageTest.deepPackage.reallyDeepPackage", ImportController.getJavaPackageName(compileDeepPackageJava));
  35. }
  36. @Test
  37. public void javaDefaultPackage(){
  38. Assert.assertEquals("", ImportController.getJavaPackageName(compileTestJava));
  39. }
  40. @Test
  41. public void javaPackageNameError(){
  42. //File does not exist
  43. Assert.assertNull(ImportController.getJavaPackageName(new File(pathToRessources + "control/testCompilation/invalid.java")));
  44. }
  45. @Test
  46. public void compileFile(){
  47. Class<?> test = null;
  48. try {
  49. test = ImportController.importJavaClass(compileTestJava);
  50. throw new ClassImportException("EclEmmaCoverage");
  51. } catch (ClassImportException e) {
  52. }
  53. Assert.assertNotNull(test);
  54. }
  55. @Test
  56. public void compileFilePackage(){
  57. Class<?> test = null;
  58. try {
  59. test = ImportController.importJavaClass(compilePackageJava);
  60. throw new ClassImportException("EclEmmaCoverage");
  61. } catch (ClassImportException e) {
  62. }
  63. Assert.assertNotNull(test);
  64. }
  65. @Test
  66. public void compileFileDeepPackage(){
  67. Class<?> test = null;
  68. try {
  69. test = ImportController.importJavaClass(compileDeepPackageJava);
  70. throw new ClassImportException("EclEmmaCoverage");
  71. } catch (ClassImportException e) {
  72. }
  73. Assert.assertNotNull(test);
  74. }
  75. @Test(expected = ClassImportException.class)
  76. public void compileInvalidPackage() throws ClassImportException{
  77. ImportController.importJavaClass(compileInvalidJava);
  78. }
  79. @Test
  80. public void accessFile(){
  81. Assert.assertTrue(compileTestJava.exists());
  82. }
  83. @After
  84. public void renameJavaFilesAfter(){
  85. compileTestJava.renameTo(compileTest);
  86. compileInvalidJava.renameTo(compileInvalid);
  87. compilePackageJava.renameTo(compilePackage);
  88. compileDeepPackageJava.renameTo(compileDeepPackage);
  89. }
  90. }