### Question:
CoapTcpCSM { public static CoapTcpCSM min(CoapTcpCSM cap1, CoapTcpCSM cap2) { return new CoapTcpCSM( Math.min(cap1.getMaxMessageSizeInt(), cap2.getMaxMessageSizeInt()), cap1.blockwiseTransfer && cap2.blockwiseTransfer ); } CoapTcpCSM(long maxMessageSize, boolean blockwiseTransfer); static CoapTcpCSM min(CoapTcpCSM cap1, CoapTcpCSM cap2); CoapTcpCSM withNewOptions(Long maxMessageSize, Boolean blockwiseTransfer); boolean isBlockTransferEnabled(); boolean useBlockTransfer(byte[] payload); long getMaxMessageSize(); int getMaxMessageSizeInt(); boolean isBERTEnabled(); BlockSize getBlockSize(); int getMaxOutboundPayloadSize(); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString(); static final CoapTcpCSM BASE; }### Answer:
@Test public void min() { assertEquals(new CoapTcpCSM(16, true), CoapTcpCSM.min(new CoapTcpCSM(16, true), new CoapTcpCSM(16, true))); assertEquals(new CoapTcpCSM(16, false), CoapTcpCSM.min(new CoapTcpCSM(20, false), new CoapTcpCSM(16, true))); assertEquals(new CoapTcpCSM(10, false), CoapTcpCSM.min(new CoapTcpCSM(10, true), new CoapTcpCSM(16, false))); assertEquals(new CoapTcpCSM(16, true), CoapTcpCSM.min(new CoapTcpCSM(20, true), new CoapTcpCSM(16, true))); }