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) {
|
} 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) {
|
} else if (kind == FieldKind::BLOB) {
|
||||||
|
|
||||||
|
@ -920,7 +951,6 @@ private:
|
||||||
spaces(indent), " }\n"),
|
spaces(indent), " }\n"),
|
||||||
|
|
||||||
kj::strTree(),
|
kj::strTree(),
|
||||||
|
|
||||||
kj::strTree()
|
kj::strTree()
|
||||||
};
|
};
|
||||||
} else if (kind == FieldKind::LIST) {
|
} else if (kind == FieldKind::LIST) {
|
||||||
|
|
|
@ -6,12 +6,12 @@ import org.scalatest.FunSuite
|
||||||
|
|
||||||
|
|
||||||
class EncodingSuite extends FunSuite {
|
class EncodingSuite extends FunSuite {
|
||||||
|
|
||||||
test("AllTypes") {
|
test("AllTypes") {
|
||||||
val message = new MessageBuilder();
|
val message = new MessageBuilder();
|
||||||
val allTypes = message.initRoot(TestAllTypes.Builder.factory);
|
val allTypes = message.initRoot(TestAllTypes.Builder.factory);
|
||||||
allTypes.setVoidField();
|
TestUtil.initTestMessage(allTypes);
|
||||||
allTypes.setBoolField(true);
|
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;
|
float64Field @11 : Float64;
|
||||||
textField @12 : Text;
|
textField @12 : Text;
|
||||||
dataField @13 : Data;
|
dataField @13 : Data;
|
||||||
|
structField @14 : TestAllTypes;
|
||||||
|
enumField @15 : TestEnum;
|
||||||
# ...
|
# ...
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue