Exemple #1
0
        public static void InitTestMessage(Test.TestAllTypes.Builder builder)
        {
            builder.SetVoidField(Void.VOID);
            builder.SetBoolField(true);
            builder.SetInt8Field(-123);
            builder.SetInt16Field(-12345);
            builder.SetInt32Field(-12345678);
            builder.SetInt64Field(-123456789012345L);
            builder.SetUInt8Field(0xea);
            builder.SetUInt16Field(0x4567);
            builder.SetUInt32Field(0x34567890);
            builder.SetUInt64Field(0x1234567890123456L);
            builder.SetFloat32Field(1234.5f);
            builder.SetFloat64Field(-123e45);
            builder.SetTextField("foo");
            builder.SetDataField(Data("bar"));

            {
                var subBuilder = builder.InitStructField();
                subBuilder.SetVoidField(Void.VOID);
                subBuilder.SetBoolField(true);
                subBuilder.SetInt8Field(-12);
                subBuilder.SetInt16Field(3456);
                subBuilder.SetInt32Field(-78901234);
                subBuilder.SetInt64Field(56789012345678L);
                subBuilder.SetUInt8Field(90);
                subBuilder.SetUInt16Field(1234);
                subBuilder.SetUInt32Field(56789012);
                subBuilder.SetUInt64Field(345678901234567890L);
                subBuilder.SetFloat32Field(-1.25e-10f);
                subBuilder.SetFloat64Field(345);
                subBuilder.SetTextField(new Text.Reader("baz"));
                subBuilder.SetDataField(Data("qux"));

                {
                    var subSubBuilder = subBuilder.InitStructField();
                    subSubBuilder.SetTextField(new Text.Reader("nested"));
                    subSubBuilder.InitStructField().SetTextField(new Text.Reader("really nested"));
                }

                subBuilder.SetEnumField(Test.TestEnum.Baz);

                var boolList = subBuilder.InitBoolList(5);
                boolList.Set(0, false);
                boolList.Set(1, true);
                boolList.Set(2, false);
                boolList.Set(3, true);
                boolList.Set(4, true);
            }

            {
                builder.SetEnumField(Test.TestEnum.Corge);
                builder.InitVoidList(6);

                var boolList = builder.InitBoolList(4);
                boolList.Set(0, true);
                boolList.Set(1, false);
                boolList.Set(2, false);
                boolList.Set(3, true);

                var float64List = builder.InitFloat64List(4);
                float64List.Set(0, 7777.75);
                float64List.Set(1, System.Double.PositiveInfinity);
                float64List.Set(2, System.Double.NegativeInfinity);
                float64List.Set(3, System.Double.NaN);

                var textList = builder.InitTextList(3);
                textList.Set(0, new Text.Reader("plugh"));
                textList.Set(1, new Text.Reader("xyzzy"));
                textList.Set(2, new Text.Reader("thud"));

                var structList = builder.InitStructList(3);
                structList[0].SetTextField(new Text.Reader("structlist 1"));
                structList[1].SetTextField(new Text.Reader("structlist 2"));
                structList[2].SetTextField(new Text.Reader("structlist 3"));

                var enumList = builder.InitEnumList(2);
                enumList.Set(0, Test.TestEnum.Foo);
                enumList.Set(1, Test.TestEnum.Garply);
            }
        }
Exemple #2
0
        public static void CheckTestMessage(Test.TestAllTypes.Builder builder)
        {
            builder.GetVoidField();
            Assert.AreEqual(builder.GetBoolField(), true);
            Assert.AreEqual(builder.GetInt8Field(), -123);
            Assert.AreEqual(builder.GetInt16Field(), -12345);
            Assert.AreEqual(builder.GetInt32Field(), -12345678);
            Assert.AreEqual(builder.GetInt64Field(), -123456789012345L);
            Assert.AreEqual(builder.GetUInt8Field(), 0xea);
            Assert.AreEqual(builder.GetUInt16Field(), 0x4567);
            Assert.AreEqual(builder.GetUInt32Field(), 0x34567890);
            Assert.AreEqual(builder.GetUInt64Field(), 0x1234567890123456L);
            Assert.AreEqual(builder.GetFloat32Field(), 1234.5f);
            Assert.AreEqual(builder.GetFloat64Field(), -123e45);
            Assert.AreEqual(builder.GetTextField().ToString(), "foo");

            {
                var subBuilder = builder.GetStructField();
                subBuilder.GetVoidField();
                Assert.AreEqual(subBuilder.GetBoolField(), true);
                Assert.AreEqual(subBuilder.GetInt8Field(), -12);
                Assert.AreEqual(subBuilder.GetInt16Field(), 3456);
                Assert.AreEqual(subBuilder.GetInt32Field(), -78901234);
                Assert.AreEqual(subBuilder.GetInt64Field(), 56789012345678L);
                Assert.AreEqual(subBuilder.GetUInt8Field(), 90);
                Assert.AreEqual(subBuilder.GetUInt16Field(), 1234);
                Assert.AreEqual(subBuilder.GetUInt32Field(), 56789012);
                Assert.AreEqual(subBuilder.GetUInt64Field(), 345678901234567890L);
                Assert.AreEqual(subBuilder.GetFloat32Field(), -1.25e-10f);
                Assert.AreEqual(subBuilder.GetFloat64Field(), 345);

                {
                    var subSubBuilder = subBuilder.GetStructField();
                    Assert.AreEqual(subSubBuilder.GetTextField().ToString(), "nested");
                }

                Assert.AreEqual(subBuilder.GetEnumField(), Test.TestEnum.Baz);

                var boolList = subBuilder.GetBoolList();
                Assert.AreEqual(boolList[0], false);
                Assert.AreEqual(boolList[1], true);
                Assert.AreEqual(boolList[2], false);
                Assert.AreEqual(boolList[3], true);
                Assert.AreEqual(boolList[4], true);
            }
            {
                Assert.AreEqual(builder.GetEnumField(), Test.TestEnum.Corge);

                Assert.AreEqual(builder.GetVoidList().Length, 6);

                var boolList = builder.GetBoolList();
                Assert.AreEqual(boolList[0], true);
                Assert.AreEqual(boolList[1], false);
                Assert.AreEqual(boolList[2], false);
                Assert.AreEqual(boolList[3], true);

                var float64List = builder.GetFloat64List();
                Assert.AreEqual(float64List[0], 7777.75);
                Assert.AreEqual(float64List[1], System.Double.PositiveInfinity);
                Assert.AreEqual(float64List[2], System.Double.NegativeInfinity);
                Assert.AreEqual(float64List[3], System.Double.NaN);

                var textList = builder.GetTextList();
                Assert.AreEqual(textList.Length, 3);
                Assert.AreEqual(textList[0].ToString(), "plugh");
                Assert.AreEqual(textList[1].ToString(), "xyzzy");
                Assert.AreEqual(textList[2].ToString(), "thud");

                var structList = builder.GetStructList();
                Assert.AreEqual(structList.Length, 3);
                Assert.AreEqual(structList[0].GetTextField().ToString(), "structlist 1");
                Assert.AreEqual(structList[1].GetTextField().ToString(), "structlist 2");
                Assert.AreEqual(structList[2].GetTextField().ToString(), "structlist 3");

                var enumList = builder.GetEnumList();
                Assert.AreEqual(enumList[0], Test.TestEnum.Foo);
                Assert.AreEqual(enumList[1], Test.TestEnum.Garply);
            }
        }