Monday, June 29, 2009

well this is something new, a very strange behavior in one of my tests cases:


List result = this.getEntityManager().createQuery("from " + LoggingEntityBean.class.getName() + " b").getResultList();
assertTrue(result.isEmpty() == false);

int size = result.size();
int exspected = testSize * addres.length;

logger.info(size);
logger.info(exspected);
assertTrue(size == exspected);


now why do I get this error message...

[17:37:02,007] [INFO ] [main] [LoggingServiceTest] [400]
[17:37:02,008] [INFO ] [main] [LoggingServiceTest] [200]

junit.framework.AssertionFailedError: null
at edu.ucdavis.genomics.metabolomics.binbase.logging.server.LoggingServiceTest.setUp(LoggingServiceTest.java:73)
at org.jmock.core.VerifyingTestCase.runBare(Unknown Source)
at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:81)
at com.intellij.rt.junit4.Junit4ClassSuite.run(Junit4ClassSuite.java:99)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:40)



error in this line:

assertTrue(size == exspected);

ok it's supposed to fail because 200 isn't 400, but not with a NullPointer exception...

now I have been working with intellij for a bit over a week and it have to say it has it's highs and it's lows.

  • refactoring is just great
  • override/implment function works good
  • I hate the code completion, it's just strange behavior wise
  • the junit plugin is nice, but a bit strange
  • the grails/groovy support is exceptional good
  • the performance is good if I work on a single project, if I work on my average 40 projects at once it's impossible to work with
  • nice support for for python, works quite well
  • uml support is great
  • ant based build are a nightmare, but we want to use maven anyway whenever, where ever
  • maven plugin is great in therorie, but with complex pom's it's extremely slow.
conclusions:
  • python development will be in intellij
  • groovy development will be in intellij
  • scala development will be in intellij
  • java development will be in eclipse
  • pom writing will be in intillij and I generate the project directly via 'mvn idea:idea eclipse:eclipse' instead of using the pom as project file