栗原です。
> > …と続くわけですが、なんか自分の世界に浸っていると言う感じと、実際に
> > コンパイル、実行していないので、ちょっと続けるのがきついです。でも、
> > 太郎と花子と二つの頭で考えるのは悪くないような気がします。ただ、この
> > 会話形式でポストするのは面倒ですね。
>
> 要望だけで申しわけないんですが、読む時には、会話とコードがならんでいる
> ほうがよいのですが、コンパイル、実行するためには、最後にコードがまと
> まっているとうれしいです。
えっと、とりあえず今まで配信された分のコードをまとめてみました。
全てコンパイルが正常にとおり、テストが正しく行われることは確認済みです。
パッケージ名とかは、適当に決めてしまいました。
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