@Test
public void serialize() throws IOException {

	final Operation<Double> object = new Operation<>(
		"some operation name",
		2,
		(Function<Double[], Double> & Serializable)v -> v[0] + v[1]
	);
	final byte[] data = IO.object.toByteArray(object);
	@SuppressWarnings("unchecked")
	final Operation<Double> op = (Operation<Double>)IO.object.fromByteArray(data);
	Assert.assertEquals(IO.object.fromByteArray(data), object);
	Assert.assertEquals(
		op.apply(new Double[]{1.0, 2.0}).doubleValue(),
		3.0
	);
}