Index: exampleparties/timedependentparty/src/test/java/geniusweb/exampleparties/timedependentparty/ExtendedUtilSpaceTest.java
===================================================================
--- exampleparties/timedependentparty/src/test/java/geniusweb/exampleparties/timedependentparty/ExtendedUtilSpaceTest.java	(revision 4)
+++ exampleparties/timedependentparty/src/test/java/geniusweb/exampleparties/timedependentparty/ExtendedUtilSpaceTest.java	(revision 4)
@@ -0,0 +1,63 @@
+package geniusweb.exampleparties.timedependentparty;
+
+import static org.junit.Assert.assertTrue;
+
+import java.io.IOException;
+import java.math.BigDecimal;
+import java.nio.file.Files;
+import java.nio.file.Paths;
+import java.util.Arrays;
+import java.util.Collection;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import geniusweb.profile.Profile;
+import geniusweb.profile.utilityspace.LinearAdditiveUtilitySpace;
+
+@RunWith(Parameterized.class)
+public class ExtendedUtilSpaceTest {
+	private final static ObjectMapper jackson = new ObjectMapper();
+	private final static BigDecimal SMALL = new BigDecimal("0.0001");
+
+	@Parameters
+	public static Collection<Object[]> data() {
+		return Arrays.asList(new Object[][] {
+				{ "src/test/resources/jobs/jobs1.json", 0.02 },
+				{ "src/test/resources/7issues/7issues1.json", 0.0055 },
+				{ "src/test/resources/9issues/9issues1.json", 0.0013 } });
+	}
+
+	private String filename;
+	private BigDecimal expectedTolerance;
+	private ExtendedUtilSpace space;
+
+	public ExtendedUtilSpaceTest(String filename, double expectedTolerance) {
+		this.filename = filename;
+		this.expectedTolerance = BigDecimal.valueOf(expectedTolerance);
+	}
+
+	@Before
+	public void before() throws IOException {
+		String file = new String(Files.readAllBytes(Paths.get(filename)));
+		LinearAdditiveUtilitySpace profile = (LinearAdditiveUtilitySpace) jackson
+				.readValue(file, Profile.class);
+		space = new ExtendedUtilSpace(profile);
+	}
+
+	@Test
+	public void smokeTest() {
+
+	}
+
+	@Test
+	public void testTolerance() {
+		assertTrue(space.computeTolerance().subtract(expectedTolerance).abs()
+				.compareTo(SMALL) < 0);
+	}
+}
Index: exampleparties/timedependentparty/src/test/resources/7issues/7issues1.json
===================================================================
--- exampleparties/timedependentparty/src/test/resources/7issues/7issues1.json	(revision 4)
+++ exampleparties/timedependentparty/src/test/resources/7issues/7issues1.json	(revision 4)
@@ -0,0 +1,105 @@
+{
+	"LinearAdditiveUtilitySpace": {
+		"name": "7issues1",
+		"issueUtilities": {
+			"i1": {
+				"numberutils": {
+					"lowValue": 0,
+					"lowUtility": 0.11,
+					"highValue": 9,
+					"highUtility": 0.99
+
+				}
+			},
+			"i2": {
+				"numberutils": {
+					"lowValue": 0,
+					"lowUtility": 0.12,
+					"highValue": 9,
+					"highUtility": 0.97
+
+				}
+			},
+			"i3": {
+				"numberutils": {
+					"lowValue": 0,
+					"lowUtility": 0.13,
+					"highValue": 9,
+					"highUtility": 0.96
+
+				}
+			},
+			"i4": {
+				"numberutils": {
+					"lowValue": 0,
+					"lowUtility": 0.14,
+					"highValue": 9,
+					"highUtility": 0.94
+
+				}
+			},
+			"i5": {
+				"numberutils": {
+					"lowValue": 0,
+					"lowUtility": 0.15,
+					"highValue": 9,
+					"highUtility": 0.93
+
+				}
+			},
+			"i6": {
+				"numberutils": {
+					"lowValue": 0,
+					"lowUtility": 0.16,
+					"highValue": 9,
+					"highUtility": 0.92
+
+				}
+			},
+			"i7": {
+				"numberutils": {
+					"lowValue": 0,
+					"lowUtility": 0.16,
+					"highValue": 9,
+					"highUtility": 0.91
+
+				}
+			}
+		},
+		"issueWeights": {
+			"i1": 0.07531677352656704,
+			"i2": 0.18148468268008364,
+			"i3": 0.13035193969082373,
+			"i4": 0.24649985443378972,
+			"i5": 0.16931694966873587,
+			"i6": 0.131353,
+			"i7": 0.0656768
+		},
+		"domain": {
+			"name": "7issues",
+			"issuesValues": {
+				"i1": {
+					"range": ["0", "9", "1"]
+				},
+				"i2": {
+					"range": ["0", "9", "1"]
+				},
+				"i3": {
+					"range": ["0", "9", "1"]
+				},
+				"i4": {
+					"range": ["0", "9", "1"]
+				},
+				"i5": {
+					"range": ["0", "9", "1"]
+				},
+				"i6": {
+					"range": ["0", "9", "1"]
+				},
+				"i7": {
+					"range": ["0", "9", "1"]
+				}
+			}
+		}
+	}
+}
Index: exampleparties/timedependentparty/src/test/resources/9issues/9issues1.json
===================================================================
--- exampleparties/timedependentparty/src/test/resources/9issues/9issues1.json	(revision 4)
+++ exampleparties/timedependentparty/src/test/resources/9issues/9issues1.json	(revision 4)
@@ -0,0 +1,134 @@
+{
+	"LinearAdditiveUtilitySpace": {
+		"name": "9issues1",
+		"issueUtilities": {
+			"i1": {
+				"numberutils": {
+					"lowValue": 0,
+					"lowUtility": 0.11,
+					"highValue": 9,
+					"highUtility": 0.99
+
+				}
+			},
+			"i2": {
+				"numberutils": {
+					"lowValue": 0,
+					"lowUtility": 0.12,
+					"highValue": 9,
+					"highUtility": 0.97
+
+				}
+			},
+			"i3": {
+				"numberutils": {
+					"lowValue": 0,
+					"lowUtility": 0.13,
+					"highValue": 9,
+					"highUtility": 0.96
+
+				}
+			},
+			"i4": {
+				"numberutils": {
+					"lowValue": 0,
+					"lowUtility": 0.14,
+					"highValue": 9,
+					"highUtility": 0.94
+
+				}
+			},
+			"i5": {
+				"numberutils": {
+					"lowValue": 0,
+					"lowUtility": 0.15,
+					"highValue": 9,
+					"highUtility": 0.93
+
+				}
+			},
+			"i6": {
+				"numberutils": {
+					"lowValue": 0,
+					"lowUtility": 0.16,
+					"highValue": 9,
+					"highUtility": 0.92
+
+				}
+			},
+			"i7": {
+				"numberutils": {
+					"lowValue": 0,
+					"lowUtility": 0.16,
+					"highValue": 9,
+					"highUtility": 0.91
+
+				}
+			},
+			"i8": {
+				"numberutils": {
+					"lowValue": 0,
+					"lowUtility": 0.7664,
+					"highValue": 9,
+					"highUtility": 0.183
+
+				}
+			},
+
+			"i9": {
+				"numberutils": {
+					"lowValue": 0,
+					"lowUtility": 0.191,
+					"highValue": 9,
+					"highUtility": 0.891
+
+				}
+			}
+
+		},
+		"issueWeights": {
+			"i1": 0.07531677352656704,
+			"i2": 0.18148468268008364,
+			"i3": 0.12035193969082373,
+			"i4": 0.21649985443378972,
+			"i5": 0.15621694966873587,
+			"i6": 0.111253,
+			"i7": 0.0656768,
+			"i8": 0.0201,
+			"i9": 0.0531
+		},
+		"domain": {
+			"name": "9issues",
+			"issuesValues": {
+				"i1": {
+					"range": ["0", "9", "1"]
+				},
+				"i2": {
+					"range": ["0", "9", "1"]
+				},
+				"i3": {
+					"range": ["0", "9", "1"]
+				},
+				"i4": {
+					"range": ["0", "9", "1"]
+				},
+				"i5": {
+					"range": ["0", "9", "1"]
+				},
+				"i6": {
+					"range": ["0", "9", "1"]
+				},
+				"i7": {
+					"range": ["0", "9", "1"]
+				},
+				"i8": {
+					"range": ["0", "9", "1"]
+				},
+				"i9": {
+					"range": ["0", "9", "1"]
+				}
+
+			}
+		}
+	}
+}
Index: exampleparties/timedependentparty/src/test/resources/jobs/jobs1.json
===================================================================
--- exampleparties/timedependentparty/src/test/resources/jobs/jobs1.json	(revision 4)
+++ exampleparties/timedependentparty/src/test/resources/jobs/jobs1.json	(revision 4)
@@ -0,0 +1,116 @@
+{
+	"LinearAdditiveUtilitySpace": {
+		"issueUtilities": {
+			"salary": {
+				"discreteutils": {
+					"valueUtilities": {
+						"2000": 0,
+						"2500": 0.25,
+						"3000": 0.3,
+						"3500": 0.75,
+						"4000": 1.0
+					}
+				}
+			},
+			"fte": {
+				"discreteutils": {
+					"valueUtilities": {
+						"0.6": 0.25,
+						"0.8": 0.5,
+						"1.0": 0.75
+					}
+				}
+			},
+			"work from home": {
+				"discreteutils": {
+					"valueUtilities": {
+						"0": 0.333333333,
+						"1": 0.5,
+						"2": 0.666666666666
+					}
+				}
+			},
+			"lease car": {
+				"discreteutils": {
+					"valueUtilities": {
+						"yes":1,
+						"no":0
+					}
+				}
+			},
+			"permanent contract": {
+				"discreteutils": {
+					"valueUtilities": {
+						"yes":1,
+						"no":0
+					}
+				}
+			},
+			"career development opportunities": {
+				"discreteutils": {
+					"valueUtilities": {
+						"low":0,
+						"medium":0.5,
+						"high":1
+					}
+				}
+			}
+		},
+		"issueWeights": {
+			"salary": 0.24,
+			"fte": 0.32,
+			"work from home": 0.18,
+			"lease car": 0.06,
+			"permanent contract": 0.16,
+			"career development opportunities": 0.04
+		},
+		"domain": {
+			"name": "jobs",
+			"issuesValues": {
+				"salary": {
+					"values": [
+						"2000",
+						"2500",
+						"3000",
+						"3500",
+						"4000"
+					]
+				},
+				"fte": {
+					"values": [
+						"0.6",
+						"0.8",
+						"1.0"
+					]
+				},
+				"work from home": {
+					"values": [
+						"0",
+						"1",
+						"2"
+					]
+				},
+				"lease car": {
+					"values": [
+						"yes",
+						"no"
+					]
+				},
+				"permanent contract": {
+					"values": [
+						"yes",
+						"no"
+					]
+				},
+				"career development opportunities": {
+					"values": [
+						"low",
+						"medium",
+						"high"
+					]
+				}
+			}
+		},
+		"name": "jobs1"
+	}
+}
