2016-07-05 8 views
1

Ich habe ein Problem. In meinem JUnit-Test möchte ich die Einfügung von Hibernate in meine db testen. Ich habe eine Entity, die eine Setlist hat und ich möchte sehen, ob die eingefügte Liste gleich der Liste ist, die ich gesetzt habe.Hibernate Vergleich PersistentSet mit HashSet

assertEquals(listDerogationLinux, derogation.getListDerogationLinux()); 

Das Problem ist, dass Hibernate PersistentSet und ich verwende HashMap so, wenn ich versuche, sie zu vergleichen bekam ich eine AassertionError:

java.lang.AssertionError: expected: java.util.HashSet<[...]> but was: org.hibernate.collection.internal.PersistentSet<[...]> 

ich ein Los die Dinge ausprobiert haben, aber das einzige, was Arbeit ist ein neues Hashset mit dem PersistentSet zu machen, aber es ist wirklich hässlich ...

assertTrue(new HashSet<DerogationLinux>(derogation.getListDerogationLinux()).equals(listDerogationLinux)); 

gibt es einen besseren Weg?

Antwort

1

Versuchen Sie, Equals auf PersistentSet anstelle von HashSet aufzurufen. Es sollte funktionieren.

persistentSet.equals(hashSet)

+0

Thx Mann! Es funktioniert :) – Antoine

+0

Funktioniert für mich genau andersherum ... Das ist komisch. –