00001
00005 package edu.mit.csail.sdg.squander.examples.javacol;
00006
00007 import java.util.ArrayList;
00008 import java.util.Arrays;
00009 import java.util.List;
00010
00011 import org.junit.Assert;
00012 import org.junit.Before;
00013 import org.junit.Test;
00014
00015 import static edu.mit.csail.sdg.squander.examples.javacol.Collections.*;
00016
00017 public class ListTest {
00018
00019 private final String[] elems = new String[] { "str1", "str2", "str1", "str3", "str2" };
00020
00021 private List<String> lst;
00022 private List<String> sqLst;
00023
00024 @Before
00025 public void setUp() {
00026 lst = new ArrayList<String>(elems.length);
00027 sqLst = new ArrayList<String>(elems.length);
00028 for (String str : elems) {
00029 lst.add(str);
00030 sqLst.add(str);
00031 }
00032 }
00033
00034 @Test
00035 public void testGet() {
00036 for (int i = 0; i < lst.size(); i++) {
00037 Assert.assertEquals(lst.get(i), get(sqLst, i));
00038 }
00039 }
00040
00041 @Test
00042 public void testSet() {
00043 for (int i = 0; i < elems.length; i++) {
00044 lst.set(i, "asdf");
00045 set(sqLst, i, "asdf");
00046 Assert.assertEquals(lst, sqLst);
00047 }
00048 }
00049
00050 @Test
00051 public void testAdd() {
00052 lst = new ArrayList<String>(elems.length);
00053 sqLst = new ArrayList<String>(elems.length);
00054 for (String s : elems) {
00055 lst.add(s);
00056 add(sqLst, s);
00057 Assert.assertEquals(lst, sqLst);
00058 }
00059 }
00060
00061 @Test
00062 public void testPrevNext() {
00063 lst = Arrays.asList(new String[] { "sadf", "dfas", "oer", "23" });
00064 for (int i = 0; i < lst.size(); i++) {
00065 String e = lst.get(i);
00066 String prev = i > 0 ? lst.get(i - 1) : null;
00067 String sqPrev = prev(lst, e);
00068 Assert.assertEquals(prev, sqPrev);
00069 }
00070 for (int i = 0; i < lst.size(); i++) {
00071 String e = lst.get(i);
00072 String next = i < lst.size() - 1 ? lst.get(i + 1) : null;
00073 String sqPrev = next(lst, e);
00074 Assert.assertEquals(next, sqPrev);
00075 }
00076 }
00077
00078 @Test
00079 public void testRemove() {
00080 for (int i = 0; i < elems.length; i++) {
00081 String s1 = lst.remove(0);
00082 String s2 = remove(sqLst, 0);
00083 Assert.assertEquals(s1, s2);
00084 Assert.assertEquals(lst, sqLst);
00085 }
00086 }
00087
00088 }