public void testCurveBuildingBlockBundle() {
final LinkedHashMap<String, Pair<Integer, Integer>> data1 = new LinkedHashMap<>();
data1.put("A", Pair.of(Integer.valueOf(3), Integer.valueOf(4)));
data1.put("B", Pair.of(Integer.valueOf(6), Integer.valueOf(8)));
data1.put("C", Pair.of(Integer.valueOf(34), Integer.valueOf(536)));
final CurveBuildingBlock block1 = new CurveBuildingBlock(data1);
final LinkedHashMap<String, Pair<Integer, Integer>> data2 = new LinkedHashMap<>();
data2.put("A", Pair.of(Integer.valueOf(13), Integer.valueOf(14)));
data2.put("B", Pair.of(Integer.valueOf(16), Integer.valueOf(18)));
data2.put("C", Pair.of(Integer.valueOf(134), Integer.valueOf(1536)));
final CurveBuildingBlock block2 = new CurveBuildingBlock(data2);
final LinkedHashMap<String, Pair<Integer, Integer>> data3 = new LinkedHashMap<>();
data3.put("A", Pair.of(Integer.valueOf(23), Integer.valueOf(24)));
data3.put("B", Pair.of(Integer.valueOf(26), Integer.valueOf(28)));
data3.put("C", Pair.of(Integer.valueOf(234), Integer.valueOf(2536)));
final CurveBuildingBlock block3 = new CurveBuildingBlock(data3);
final LinkedHashMap<String, Pair<CurveBuildingBlock, DoubleMatrix2D>> data = new LinkedHashMap<>();
data.put("Q", Pair.of(block1, new DoubleMatrix2D(new double[][] {new double[] {2, 4}, new double[] {5, 6}})));
data.put("W", Pair.of(block2, new DoubleMatrix2D(new double[][] {new double[] {12, 14}, new double[] {15, 16}})));
data.put("E", Pair.of(block3, new DoubleMatrix2D(new double[][] {new double[] {22, 24}, new double[] {25, 26}})));
final CurveBuildingBlockBundle bundle = new CurveBuildingBlockBundle(data);