테스트의 시나리오는 다음과 같습니다.

멤버1 = 기선, 멤버2 = 승택님, 멤버3 = 물개 선생님
그룹1 = Agile Java Network, 그룹2 = OpenSeed

이들의 관계는 다음 그림과 같습니다.
bm205.bmp위와 같은 멤버의 그룹정보를 세팅하고 맞게 들어갔는지 각 멤버가 소속된 그룹의 갯수를 확인하여 봅시다.

테스트 코드 보기
[#M_ more.. | less.. |     public void testRelation(){
        KMember keesun = KMemberFixture.getAMember("기선", "keesun@email.com");
        KMember paradozz = KMemberFixture.getAMember("승택님", "paradozz@email.com");
        KMember seal = KMemberFixture.getAMember("선생님", "seal@email.com");
        kMemberDao.add(keesun);
        kMemberDao.add(paradozz);
        kMemberDao.add(seal);
        kMemberDao.flush();

        KGroup agileJavaNetwork = KGroupFixture.getAGroup("Agile Java Network");
        KGroup openSeed = KGroupFixture.getAGroup("OpenSeed");
        kGroupDao.add(agileJavaNetwork);
        kGroupDao.add(openSeed);
        kGroupDao.flush();

        KMemberGroup memberGroupOfKeesun1 = KMemberGroupFixture.getAKMemberGroup();
        keesun.addMemberGroup(memberGroupOfKeesun1);
        agileJavaNetwork.addMemberGroup(memberGroupOfKeesun1);

        KMemberGroup memberGroupOfKeesun2 = KMemberGroupFixture.getAKMemberGroup();
        keesun.addMemberGroup(memberGroupOfKeesun2);
        openSeed.addMemberGroup(memberGroupOfKeesun2);

        KMemberGroup memberGroupOfParadozz = KMemberGroupFixture.getAKMemberGroup();
        paradozz.addMemberGroup(memberGroupOfParadozz);
        openSeed.addMemberGroup(memberGroupOfParadozz);

        KMemberGroup memberGroupOfSeal = KMemberGroupFixture.getAKMemberGroup();
        seal.addMemberGroup(memberGroupOfSeal);
        openSeed.addMemberGroup(memberGroupOfSeal);

        assertEquals(2, keesun.getMemberGroups().size());
        assertEquals(1, paradozz.getMemberGroups().size());
        assertEquals(1, seal.getMemberGroups().size());
    }
_M#]
하늘색 부분이
        keesun.join(agileJavaNetwork, "운영 요원");
        keesun.join(openSeed, "일반 회원");
        paradozz.join(openSeed, "일반 회원");
        seal.join(openSeed, "운영자");
이런 식으로 처리가 되면 좋겠다는 생각을 해봅니다.