TestUtil
This commit is contained in:
parent
fc246671e4
commit
f0839b314e
4 changed files with 80 additions and 5 deletions
|
@ -884,7 +884,38 @@ private:
|
|||
};
|
||||
|
||||
} else if (kind == FieldKind::STRUCT) {
|
||||
KJ_FAIL_REQUIRE("unimplemented");
|
||||
|
||||
return FieldText {
|
||||
kj::strTree(
|
||||
kj::mv(unionDiscrim.readerIsDecl),
|
||||
spaces(indent), " public boolean has", titleCase, "() {\n",
|
||||
spaces(indent), " return !_reader.getPointerField(", offset, ").isNull();\n",
|
||||
spaces(indent), " }\n",
|
||||
|
||||
spaces(indent), " public ", type, ".Reader",
|
||||
" get", titleCase, "() {\n",
|
||||
spaces(indent), " throw new Error();\n",
|
||||
spaces(indent), " }\n", "\n"),
|
||||
|
||||
kj::strTree(
|
||||
kj::mv(unionDiscrim.builderIsDecl),
|
||||
spaces(indent), " public final boolean has", titleCase, "() {\n",
|
||||
spaces(indent), " return !_builder.getPointerField(", offset, ").isNull();\n",
|
||||
spaces(indent), " }\n",
|
||||
spaces(indent), " public final ", type, ".Builder get", titleCase, "() {\n",
|
||||
spaces(indent), " throw new Error();\n",
|
||||
spaces(indent), " }\n",
|
||||
spaces(indent), " public final void set", titleCase, "(", type, ".Reader value) {\n",
|
||||
unionDiscrim.set,
|
||||
spaces(indent), " throw new Error();\n",
|
||||
spaces(indent), " }\n",
|
||||
spaces(indent), " public final ", type, ".Builder init", titleCase, "(int size) {\n",
|
||||
spaces(indent), " throw new Error();\n",
|
||||
spaces(indent), " }\n"),
|
||||
|
||||
kj::strTree(),
|
||||
kj::strTree()
|
||||
};
|
||||
|
||||
} else if (kind == FieldKind::BLOB) {
|
||||
|
||||
|
@ -920,7 +951,6 @@ private:
|
|||
spaces(indent), " }\n"),
|
||||
|
||||
kj::strTree(),
|
||||
|
||||
kj::strTree()
|
||||
};
|
||||
} else if (kind == FieldKind::LIST) {
|
||||
|
|
|
@ -6,12 +6,12 @@ import org.scalatest.FunSuite
|
|||
|
||||
|
||||
class EncodingSuite extends FunSuite {
|
||||
|
||||
test("AllTypes") {
|
||||
val message = new MessageBuilder();
|
||||
val allTypes = message.initRoot(TestAllTypes.Builder.factory);
|
||||
allTypes.setVoidField();
|
||||
allTypes.setBoolField(true);
|
||||
// ...
|
||||
TestUtil.initTestMessage(allTypes);
|
||||
TestUtil.checkTestMessage(allTypes);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
43
compiler/src/test/scala/org/capnproto/TestUtil.scala
Normal file
43
compiler/src/test/scala/org/capnproto/TestUtil.scala
Normal file
|
@ -0,0 +1,43 @@
|
|||
package org.capnproto;
|
||||
|
||||
import org.capnproto.test.Test._;
|
||||
|
||||
|
||||
|
||||
object TestUtil {
|
||||
def initTestMessage(builder : TestAllTypes.Builder) {
|
||||
builder.setVoidField();
|
||||
builder.setBoolField(true);
|
||||
builder.setInt8Field(-123);
|
||||
builder.setInt16Field(-12345);
|
||||
builder.setInt32Field(-12345678);
|
||||
builder.setInt64Field(-123456789012345L);
|
||||
builder.setUInt8Field(0xef.toByte);
|
||||
builder.setUInt16Field(0x4567);
|
||||
builder.setUInt32Field(0x34567890);
|
||||
builder.setUInt64Field(0x1234567890123456L);
|
||||
builder.setFloat32Field(1234.5f);
|
||||
builder.setFloat64Field(-123e45);
|
||||
builder.setTextField(new Text.Reader("foo"));
|
||||
// builder.setDataField(data("bar"));
|
||||
|
||||
}
|
||||
|
||||
|
||||
def checkTestMessage(builder : TestAllTypes.Builder) {
|
||||
builder.getVoidField();
|
||||
assert(builder.getBoolField() == true);
|
||||
assert(builder.getInt8Field() == -123);
|
||||
assert(builder.getInt16Field() == -12345);
|
||||
assert(builder.getInt32Field() == -12345678);
|
||||
assert(builder.getInt64Field() == -123456789012345L);
|
||||
assert(builder.getUInt8Field() == 0xef.toByte);
|
||||
assert(builder.getUInt16Field() == 0x4567);
|
||||
assert(builder.getUInt32Field() == 0x34567890);
|
||||
assert(builder.getUInt64Field() == 0x1234567890123456L);
|
||||
assert(builder.getFloat32Field() == 1234.5f);
|
||||
assert(builder.getFloat64Field() == -123e45);
|
||||
//assert(builder.getTextField().toString() == "foo");
|
||||
}
|
||||
|
||||
}
|
|
@ -30,6 +30,8 @@ struct TestAllTypes {
|
|||
float64Field @11 : Float64;
|
||||
textField @12 : Text;
|
||||
dataField @13 : Data;
|
||||
structField @14 : TestAllTypes;
|
||||
enumField @15 : TestEnum;
|
||||
# ...
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue