package com.digitalpetri.enip;
import java.util.function.BiConsumer;
import java.util.function.Function;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
import io.netty.util.ReferenceCountUtil;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
public abstract class SerializationTest<T> {
protected ByteBuf buffer;
@BeforeMethod
public void setUp() {
buffer = Unpooled.buffer();
}
@AfterMethod
public void tearDown() {
ReferenceCountUtil.release(buffer);
}
protected T encodeDecode(T toEncode,
BiConsumer<T, ByteBuf> encoder,
Function<ByteBuf, T> decoder) {
encoder.accept(toEncode, buffer);
return decoder.apply(buffer);
}
}