@Test
@Transactional
public void multipleRelationshipsOfSameTypeBetweenTwoEntities() {
Person michael = persistedPerson("Michael", 35);
Person david = persistedPerson("David", 25);
Friendship friendship1 = neo4jTemplate.createRelationshipBetween(michael, david, Friendship.class, "knows", true);
friendship1.setYears(1);
Friendship friendship2 = neo4jTemplate.createRelationshipBetween(michael, david, Friendship.class, "knows", true);
friendship2.setYears(2);
assertTrue("two different relationships", friendship1 != friendship2);
assertTrue("two different relationships", getRelationshipState(friendship1) != getRelationshipState(friendship2));
assertEquals(1, friendship1.getYears());
assertEquals(2,friendship2.getYears());
final Collection<Relationship> friends = IteratorUtil.asCollection(getNodeState(michael).getRelationships(Direction.OUTGOING, DynamicRelationshipType.withName("knows")));
assertEquals(2,friends.size());
assertTrue(friends.contains(getRelationshipState(friendship1)));
assertTrue(friends.contains(getRelationshipState(friendship2)));
}