diff --git a/build.xml b/build.xml
index 3a76ec66..e93bf33f 100644
--- a/build.xml
+++ b/build.xml
@@ -3,30 +3,28 @@
-
+
-
-
-
-
+
+
+
+
-
-
-
-
-
+
-
-
-
-
-
+
+
+
+
+
+
-
-
+
+
+
-
+
@@ -34,57 +32,99 @@
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
+
+
+
+
+
+
+
+
-
-
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
diff --git a/lib/junit-4.4.jar b/lib/junit-4.4.jar
new file mode 100644
index 00000000..649b0b32
Binary files /dev/null and b/lib/junit-4.4.jar differ
diff --git a/test/net/sourceforge/tuned/FunctionIteratorTest.java b/test/net/sourceforge/tuned/FunctionIteratorTest.java
new file mode 100644
index 00000000..45c5318a
--- /dev/null
+++ b/test/net/sourceforge/tuned/FunctionIteratorTest.java
@@ -0,0 +1,120 @@
+
+package net.sourceforge.tuned;
+
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+import java.util.NoSuchElementException;
+
+import net.sourceforge.tuned.FunctionIterator.Function;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+
+
+@RunWith(Parameterized.class)
+public class FunctionIteratorTest {
+
+ @Parameters
+ public static Collection