// EXEC: cjc %import-path %L %l %f --test
// EXEC: ./main
import std.unittest.*
import std.unittest.testmacro.*
import std.io.*
import cbor4cj.*
@Test
public class MapBuilderTest2 {
@TestCase
public func testMapBuilder(): Unit {
var d = LanguageTaggedString("a", "t")
d.getLanguage()
d.getString()
}
@TestCase
public func shouldDecodeZero() {
var dataItems = [1];
var outputStream = ByteBuffer();
CborEncoder(outputStream).encode(CborBuilder().add(1234).build());
var data = ByteBuffer()
data.write(outputStream.bytes())
CborDecoder(data).decode(impleDataItemListener())
}
@TestCase
public func testDecoding() {
var items = CborBuilder()
.addTag(38)
.addArray().add("en").add("string").end().getOrThrow()
.build();
var baos = ByteBuffer();
var encoder = CborEncoder(baos);
encoder.encode(items);
var bais = ByteBuffer();
bais.write(baos.bytes())
var decoder = CborDecoder(bais);
var item = decoder.decodeNext();
@Assert(LanguageTaggedString(UnicodeString("en"), UnicodeString("string")), item);
}
@TestCase
public func decode() {
var byte = AdditionalInformation.DIRECT
byte.ordinal
byte.compare(AdditionalInformation.DIRECT)
byte.hashCode()
byte.toString()
byte==byte
byte!=byte
}
}
class impleDataItemListener <: DataItemListener {
public func onDataItem(dataItem: DataItem) {
@Assert(dataItem is UnsignedInteger)
}
}