Index: [Article Count Order] [Thread]

Date:  Mon, 4 Sep 2000 19:25:58 +0900
From:  tetsuya@....jp
Subject:  [XP-jp:00808] Re: Member, MemberList, MemberAuthorization
To:  extremeprogramming-jp@....jp (extremeprogramming-jp ML)
Message-Id:  <50158B900247D411B8120090CC01C0EC1E059D@....jp>
Posted:  Mon, 4 Sep 2000 19:22:42 +0900 
X-Mail-Count: 00808

栗原です。

> > …と続くわけですが、なんか自分の世界に浸っていると言う感じと、実際に
> > コンパイル、実行していないので、ちょっと続けるのがきついです。でも、
> > 太郎と花子と二つの頭で考えるのは悪くないような気がします。ただ、この
> > 会話形式でポストするのは面倒ですね。
> 
> 要望だけで申しわけないんですが、読む時には、会話とコードがならんでいる
> ほうがよいのですが、コンパイル、実行するためには、最後にコードがまと
> まっているとうれしいです。

えっと、とりあえず今まで配信された分のコードをまとめてみました。
全てコンパイルが正常にとおり、テストが正しく行われることは確認済みです。
パッケージ名とかは、適当に決めてしまいました。
CVS を取り入れると決まった段階で詳細を決定すればよいと思います。
# CVS は全く分かってなかったりしますが、、、、

えーと、以下コードですが、ちょっと長いです。ファイル添付よりはましかと思
いますが、これもサーバにアップする形式になれば解決すると思いますし、とり
あえず今回は勘弁してください。
AllTests クラスも追加しておきました。


/*
 * @(#)AllTests.java
 */
package jp.co.esm.wiki.xp;

import junit.framework.*;

public class AllTests {
    public static void main (String[] args) {
        junit.textui.TestRunner.run(suite());
    }
    public static Test suite() {
        TestSuite suite= new TestSuite("All Tests");
        suite.addTest(new TestSuite(jp.co.esm.wiki.xp.MemberTest.class));
        suite.addTest(new
TestSuite(jp.co.esm.wiki.xp.MemberListTest.class));
        return suite;
    }
}

/*
 * @(#)Member.java
 */
package jp.co.esm.wiki.xp;

public class Member {
    public Member(String aMailAddress) {
        mailAddress = aMailAddress;
    }
    public String getMailAddress() {
        return mailAddress;
    }

    private String mailAddress;
}

/*
 * @(#)MemberTest.java
 */
package jp.co.esm.wiki.xp;

import junit.framework.*;

public class MemberTest extends TestCase {
    public MemberTest(String name) {
        super(name);
    }
    public static void main(String[] args) {
        junit.textui.TestRunner.run(MemberTest.class);
    }
    public void testNewMember() {
        String mailAddress = "aaa@....ccc";
        Member member = new Member(mailAddress);
        assertEquals(member.getMailAddress(), mailAddress);
    }
}

/*
 * @(#)MemberList.java
 */
package jp.co.esm.wiki.xp;

import java.util.*;

public class MemberList {
    public void add(Member aMember) {
        members.add(aMember);
    }
    public int getSize() {
        return members.size();
    }
    public Member get(int index) {
        return (Member)members.get(index);
    }

    private List members = new ArrayList();
}

/*
 * @(#)MemberListTest.java
 */
package jp.co.esm.wiki.xp;

import junit.framework.*;

public class MemberListTest extends TestCase {
    public MemberListTest(String name) {
        super(name);
    }
    public static void main(String[] args) {
        junit.textui.TestRunner.run(MemberListTest.class);
    }
    public void testNewMemberList() {
        MemberList memberList = new MemberList();
        assertEquals(memberList.getSize(), 0);
    }
    public void testOneMemberList() {
        MemberList memberList = new MemberList();
        Member member = new Member("aaa@....ccc");
        memberList.add(member);
        assertEquals(memberList.getSize(), 1);
    }
    public void testTwoMemberList() {
        MemberList memberList = new MemberList();
        Member firstMember = new Member("aaa@....ccc");
        Member secondMember = new Member("ddd@....fff");
        memberList.add(firstMember);
        memberList.add(secondMember);
        assertEquals(memberList.getSize(), 2);
    }
    public void testGet0() {
        MemberList memberList = new MemberList();
        Member member = new Member("aaa@....ccc");
        memberList.add(member);
        assertEquals(member, memberList.get(0));
    }
    public void testGet1() {
        MemberList memberList = new MemberList();
        Member firstMember = new Member("aaa@....ccc");
        Member secondMember = new Member("ddd@....fff");
        memberList.add(firstMember);
        memberList.add(secondMember);
        assertEquals(secondMember, memberList.get(1));
    }
    public void testEmptyGet() {
        boolean exceptionThrown = false;
        MemberList memberList = new MemberList();
        try {
            Member member = memberList.get(0);
        } catch (IndexOutOfBoundsException e) {
            exceptionThrown = true;
        }
        assert(exceptionThrown);
    }
    public void testOutOfRangeGet() {
        boolean exceptionThrown = false;
        MemberList memberList = new MemberList();
        Member member = new Member("aaa@....ccc");
        memberList.add(member);
        try {
            member = memberList.get(1);
        } catch (IndexOutOfBoundsException e) {
            exceptionThrown = true;
        }
        assert(exceptionThrown);
    }
}

---
Tetsuya Kurihara
tetsuya@....jp