00001
00005 package edu.mit.csail.sdg.squander.examples.list;
00006
00007 import org.junit.Assert;
00008 import org.junit.Before;
00009 import org.junit.Test;
00010
00011 import edu.mit.csail.sdg.squander.examples.func.Utils;
00012 import edu.mit.csail.sdg.squander.examples.list.LinkedList;
00013 import edu.mit.csail.sdg.squander.examples.list.LinkedList.Node;
00014 import edu.mit.csail.sdg.squander.spec.SqFunc;
00015
00016
00017 public class LinkedListTest {
00018
00019 private LinkedList lst;
00020
00021 @Before
00022 public void setUp() {
00023 lst = new LinkedList();
00024 lst.add(new Node(1));
00025 Node n2 = new Node(2);
00026 n2.setNext(new Node(3));
00027 lst.add(n2);
00028 lst.add(new Node(4));
00029 }
00030
00031 @Test
00032 public void testFold() {
00033 int expected = 0;
00034 for (Node n : lst.nodes())
00035 expected += n.getValue();
00036 int sum = Utils.fold(lst, 0, SqFunc.mkFunc("return = @arg(0) + @arg(1).value"));
00037 Assert.assertEquals(expected, sum);
00038 }
00039
00040 }