コード例 #1
0
 public void TestNumbers()
 {
     var builder = new FlatBufferBuilder(1);
     Assert.ArrayEqual(new byte[] { 0 }, builder.DataBuffer.Data);
     builder.AddBool(true);
     Assert.ArrayEqual(new byte[] { 1 }, builder.DataBuffer.Data);
     builder.AddSbyte(-127);
     Assert.ArrayEqual(new byte[] { 129, 1 }, builder.DataBuffer.Data);
     builder.AddByte(255);
     Assert.ArrayEqual(new byte[] { 0, 255, 129, 1 }, builder.DataBuffer.Data); // First pad
     builder.AddShort(-32222);
     Assert.ArrayEqual(new byte[] { 0, 0, 0x22, 0x82, 0, 255, 129, 1 }, builder.DataBuffer.Data); // Second pad
     builder.AddUshort(0xFEEE);
     Assert.ArrayEqual(new byte[] { 0xEE, 0xFE, 0x22, 0x82, 0, 255, 129, 1 }, builder.DataBuffer.Data); // no pad
     builder.AddInt(-53687092);
     Assert.ArrayEqual(new byte[] { 0, 0, 0, 0, 204, 204, 204, 252, 0xEE, 0xFE, 0x22, 0x82, 0, 255, 129, 1 }, builder.DataBuffer.Data); // third pad
     builder.AddUint(0x98765432);
     Assert.ArrayEqual(new byte[] { 0x32, 0x54, 0x76, 0x98, 204, 204, 204, 252, 0xEE, 0xFE, 0x22, 0x82, 0, 255, 129, 1 }, builder.DataBuffer.Data); // no pad
 }
コード例 #2
0
 public static void AddFruit(FlatBufferBuilder builder, short fruit)
 {
     builder.AddShort(2, fruit, 0);
 }
コード例 #3
0
ファイル: TypeAliases.cs プロジェクト: xtrm0/flatbuffers
 public static void AddI16(FlatBufferBuilder builder, short i16)
 {
     builder.AddShort(2, i16, 0);
 }
コード例 #4
0
ファイル: ScPlayerBasic.cs プロジェクト: floatyears/CodeX
 public static void AddShort_(FlatBufferBuilder builder, short short_)
 {
     builder.AddShort(6, short_, 12);
 }
コード例 #5
0
 public static void AddDepth(FlatBufferBuilder builder, short depth)
 {
     builder.AddShort(4, depth, 0);
 }
コード例 #6
0
 public static void AddShort(FlatBufferBuilder builder, short Short)
 {
     builder.AddShort(2, Short, 0);
 }
コード例 #7
0
 public void TestVTableWithAStruct_of_int8_int16_int32()
 {
     var builder = new FlatBufferBuilder(1);
     builder.StartObject(1);
     builder.Prep(4+4+4, 0);
     builder.AddSbyte(55);
     builder.Pad(3);
     builder.AddShort(0x1234);
     builder.Pad(2);
     builder.AddInt(0x12345678);
     var structStart = builder.Offset;
     builder.AddStruct(0, structStart, 0);
     builder.EndObject();
     Assert.ArrayEqual(new byte[]
     {
         0, 0, 0, 0,
         0, 0, 0, 0,
         0, 0, // Padding to 32 bytes
         6, 0, // vtable bytes
         16, 0, // object length
         4, 0,     // start of struct from here
         6, 0, 0, 0, // int32 offset for start of vtable
         0x78, 0x56, 0x34, 0x12,  // struct value 2
         0x00, 0x00, 0x34, 0x12, // struct value 1
         0x00, 0x00, 0x00, 55, // struct value 0
     },
         builder.DataBuffer.Data);
 }
コード例 #8
0
 internal static void AddNetwork(FlatBufferBuilder builder, short network)
 {
     builder.AddShort(2, network, 0);
 }
コード例 #9
0
        public void TestVTableWith_1xInt16_and_Vector_or_2xInt16()
        {
            var builder = new FlatBufferBuilder(1);
            builder.StartVector(sizeof(short), 2, 1);
            builder.AddShort(0x1234);
            builder.AddShort(0x5678);
            var vecEnd = builder.EndVector();

            builder.StartObject(2);
            builder.AddOffset(1, vecEnd.Value, 0);
            builder.AddShort(0, 55, 0);
            builder.EndObject();
            Assert.ArrayEqual(new byte[]
            {
                0, 0, 0, 0, // Padding to 32 bytes
                8, 0, // vtable bytes
                12, 0, // object length
                6, 0,     // start of value 0 from end of vtable
                8, 0,     // start of value 1 from end of buffer
                8, 0, 0, 0, // int32 offset for start of vtable
                0, 0, 55, 0,    // padding + value 0
                4, 0, 0, 0, // position of vector from here
                2, 0, 0, 0, // length of vector
                0x78, 0x56,       // vector value 0
                0x34, 0x12,       // vector value 1
            },
                builder.DataBuffer.Data);
        }
コード例 #10
0
 public void TestVTableWithTwoInt16()
 {
     var builder = new FlatBufferBuilder(1);
     builder.StartObject(2);
     Assert.ArrayEqual(new byte[] { 0 }, builder.DataBuffer.Data);
     builder.AddShort(0, 0x3456, 0);
     builder.AddShort(1, 0x789A, 0);
     builder.EndObject();
     Assert.ArrayEqual(new byte[]
     {
         8, 0, // vtable bytes
         8, 0, // object length inc vtable offset
         6, 0, // start of int16 value 0
         4, 0, // start of int16 value 1
         8, 0, 0, 0, // int32 offset for start of vtable
         0x9A, 0x78, // value 1
         0x56, 0x34, // value 0
     },
         builder.DataBuffer.Data);
 }
コード例 #11
0
        public void TestVTableWithSomeElements()
        {
            var builder = new FlatBufferBuilder(1);
            builder.StartObject(2);
            builder.AddByte(0, 33, 0);
            builder.AddShort(1, 66, 0);
            var off = builder.EndObject();
            builder.Finish(off);

            Assert.ArrayEqual(new byte[]
            {
                0, 0, 0, 0,
                0, 0, 0, 0,
                0, 0, 0, 0, //Padding to 32 bytes
                12, 0, 0, 0,     // root of table, pointing to vtable offset
                8, 0, // vtable bytes
                8, 0, // object length
                7, 0, // start of value 0
                4, 0, // start of value 1
                8, 0, 0, 0, // int32 offset for start of vtable
                66, 0, // value 1
                0, 33, // value 0

            },
                builder.DataBuffer.Data);
        }
コード例 #12
0
 public void TestVTableWithOneInt16()
 {
     var builder = new FlatBufferBuilder(1);
     builder.StartObject(1);
     Assert.ArrayEqual(new byte[] { 0 }, builder.DataBuffer.Data);
     builder.AddShort(0, 0x789A, 0);
     builder.EndObject();
     Assert.ArrayEqual(new byte[]
     {
         0, 0, // padding to 16 bytes
         6, 0, // vtable bytes
         8, 0, // object length inc vtable offset
         6, 0, // start of int16 value
         6, 0, 0, 0, // int32 offset for start of vtable
         0, 0, // padding
         0x9A, 0x78, //value 0
     },
         builder.DataBuffer.Data);
 }
コード例 #13
0
 public void TestVTableWithInt16AndBool()
 {
     var builder = new FlatBufferBuilder(1);
     builder.StartObject(2);
     Assert.ArrayEqual(new byte[] { 0 }, builder.DataBuffer.Data);
     builder.AddShort(0, 0x3456, 0);
     builder.AddBool(1, true, false);
     builder.EndObject();
     Assert.ArrayEqual(new byte[]
     {
         8, 0, // vtable bytes
         8, 0, // object length inc vtable offset
         6, 0, // start of int16 value 0
         5, 0, // start of bool value 1
         8, 0, 0, 0, // int32 offset for start of vtable
         0, 1, // padding + value 1
         0x56, 0x34, // value 0
     },
         builder.DataBuffer.Data);
 }
コード例 #14
0
        public void TestVTableWithEmptyVectorAndScalars()
        {
            var builder = new FlatBufferBuilder(1);
            builder.StartVector(sizeof(byte), 0, 1);
            var vecEnd = builder.EndVector();

            builder.StartObject(2);
            builder.AddShort(0, 55, 0);
            builder.AddOffset(1, vecEnd.Value, 0);
            builder.EndObject();
            Assert.ArrayEqual(new byte[]
            {
                0, 0, 0, 0,
                0, 0, 0, 0, // Padding to 32 bytes
                8, 0, // vtable bytes
                12, 0, // object length inc vtable offset
                10, 0,     // offset to int16 value 0
                4, 0, // start of vector offset value 1
                8, 0, 0, 0, // int32 offset for start of vtable
                8, 0, 0, 0, // value 1
                0, 0, 55, 0, // value 0
                0, 0, 0, 0, // length of vector (not in sctruc)
            },
                builder.DataBuffer.Data);
        }
コード例 #15
0
 public static void AddDamage(FlatBufferBuilder builder, short damage)
 {
     builder.AddShort(1, damage, 0);
 }
コード例 #16
0
 public static void AddVersion(FlatBufferBuilder builder, MetadataVersion version)
 {
     builder.AddShort(0, (short)version, 0);
 }
コード例 #17
0
        private void CheckObjects(int fieldCount, int objectCount)
        {
            _lcg.Reset();

            const int testValuesMax = 11;

            var builder = new FlatBufferBuilder(1);

            var objects = new int[objectCount];

            for (var i = 0; i < objectCount; ++i)
            {
                builder.StartObject(fieldCount);

                for (var j = 0; j < fieldCount; ++j)
                {
                    var fieldType = _lcg.Next()%testValuesMax;

                    switch (fieldType)
                    {
                        case 0:
                        {
                            builder.AddBool(j, FuzzTestData.BoolValue, false);
                            break;
                        }
                        case 1:
                        {
                            builder.AddSbyte(j, FuzzTestData.Int8Value, 0);
                            break;
                        }
                        case 2:
                        {
                            builder.AddByte(j, FuzzTestData.UInt8Value, 0);
                            break;
                        }
                        case 3:
                        {
                            builder.AddShort(j, FuzzTestData.Int16Value, 0);
                            break;
                        }
                        case 4:
                        {
                            builder.AddUshort(j, FuzzTestData.UInt16Value, 0);
                            break;
                        }
                        case 5:
                        {
                            builder.AddInt(j, FuzzTestData.Int32Value, 0);
                            break;
                        }
                        case 6:
                        {
                            builder.AddUint(j, FuzzTestData.UInt32Value, 0);
                            break;
                        }
                        case 7:
                        {
                            builder.AddLong(j, FuzzTestData.Int64Value, 0);
                            break;
                        }
                        case 8:
                        {
                            builder.AddUlong(j, FuzzTestData.UInt64Value, 0);
                            break;
                        }
                        case 9:
                        {
                            builder.AddFloat(j, FuzzTestData.Float32Value, 0);
                            break;
                        }
                        case 10:
                        {
                            builder.AddDouble(j, FuzzTestData.Float64Value, 0);
                            break;
                        }
                        default:
                            throw new Exception("Unreachable");
                    }

                }

                var offset = builder.EndObject();

                // Store the object offset
                objects[i] = offset;
            }

            _lcg.Reset();

            // Test all objects are readable and return expected values...
            for (var i = 0; i < objectCount; ++i)
            {
                var table = new TestTable(builder.DataBuffer, builder.DataBuffer.Length - objects[i]);

                for (var j = 0; j < fieldCount; ++j)
                {
                    var fieldType = _lcg.Next() % testValuesMax;
                    var fc = 2 + j; // 2 == VtableMetadataFields
                    var f = fc * 2;

                    switch (fieldType)
                    {
                        case 0:
                        {
                            Assert.AreEqual(FuzzTestData.BoolValue, table.GetSlot(f, false));
                            break;
                        }
                        case 1:
                        {
                            Assert.AreEqual(FuzzTestData.Int8Value, table.GetSlot(f, (sbyte)0));
                            break;
                        }
                        case 2:
                        {
                            Assert.AreEqual(FuzzTestData.UInt8Value, table.GetSlot(f, (byte)0));
                            break;
                        }
                        case 3:
                        {
                            Assert.AreEqual(FuzzTestData.Int16Value, table.GetSlot(f, (short)0));
                            break;
                        }
                        case 4:
                        {
                            Assert.AreEqual(FuzzTestData.UInt16Value, table.GetSlot(f, (ushort)0));
                            break;
                        }
                        case 5:
                        {
                            Assert.AreEqual(FuzzTestData.Int32Value, table.GetSlot(f, (int)0));
                            break;
                        }
                        case 6:
                        {
                            Assert.AreEqual(FuzzTestData.UInt32Value, table.GetSlot(f, (uint)0));
                            break;
                        }
                        case 7:
                        {
                            Assert.AreEqual(FuzzTestData.Int64Value, table.GetSlot(f, (long)0));
                            break;
                        }
                        case 8:
                        {
                            Assert.AreEqual(FuzzTestData.UInt64Value, table.GetSlot(f, (ulong)0));
                            break;
                        }
                        case 9:
                        {
                            Assert.AreEqual(FuzzTestData.Float32Value, table.GetSlot(f, (float)0));
                            break;
                        }
                        case 10:
                        {
                            Assert.AreEqual(FuzzTestData.Float64Value, table.GetSlot(f, (double)0));
                            break;
                        }
                        default:
                            throw new Exception("Unreachable");
                    }

                }

            }
        }
コード例 #18
0
 public static void AddOpcode(FlatBufferBuilder builder, short opcode)
 {
     builder.AddShort(0, opcode, 23);
 }
コード例 #19
0
ファイル: Controllers.cs プロジェクト: blockspacer/FrankE
 public static void AddMouseBtn(FlatBufferBuilder builder, MouseBottonID mouseBtn)
 {
     builder.AddShort(3, (short)mouseBtn, 0);
 }
コード例 #20
0
 public static void AddShortValue(FlatBufferBuilder builder, short shortValue)
 {
     builder.AddShort(4, shortValue, 0);
 }
コード例 #21
0
ファイル: Controllers.cs プロジェクト: blockspacer/FrankE
 public static void AddMWheel(FlatBufferBuilder builder, MouseWheelEvent mWheel)
 {
     builder.AddShort(4, (short)mWheel, 0);
 }
コード例 #22
0
 public static void AddFeedType(FlatBufferBuilder builder, ReactiveMarkets.PlatformApi.FeedType feedType)
 {
     builder.AddShort(2, (short)feedType, 0);
 }
コード例 #23
0
ファイル: Controllers.cs プロジェクト: blockspacer/FrankE
 public static void AddJoyBtn(FlatBufferBuilder builder, short joyBtn)
 {
     builder.AddShort(6, joyBtn, -1);
 }
コード例 #24
0
 public static void AddFrequency(FlatBufferBuilder builder, short frequency)
 {
     builder.AddShort(5, frequency, 0);
 }
コード例 #25
0
ファイル: PokecampTable.cs プロジェクト: yretenai/Dragapult
 public static void AddUnknown1(FlatBufferBuilder builder, short Unknown1)
 {
     builder.AddShort(2, Unknown1, 0);
 }
コード例 #26
0
 public static void AddSpeed(FlatBufferBuilder builder, short speed)
 {
     builder.AddShort(3, speed, 0);
 }
コード例 #27
0
ファイル: PokecampTable.cs プロジェクト: yretenai/Dragapult
 public static void AddUnknown2(FlatBufferBuilder builder, short Unknown2)
 {
     builder.AddShort(3, Unknown2, 0);
 }
コード例 #28
0
ファイル: Schema.cs プロジェクト: tpeplow/parquet-dotnet-old
 public static void AddEndianness(FlatBufferBuilder builder, Endianness endianness)
 {
     builder.AddShort(0, (short)endianness, 0);
 }
コード例 #29
0
ファイル: SaveSchema.cs プロジェクト: blockspacer/HazelTest
 public static void AddDistance(FlatBufferBuilder builder, short distance)
 {
     builder.AddShort(1, distance, 5);
 }
コード例 #30
0
 public static void AddUnit(FlatBufferBuilder builder, TimeUnit unit)
 {
     builder.AddShort(0, (short)unit, 1);
 }
コード例 #31
0
ファイル: SaveSchema.cs プロジェクト: blockspacer/HazelTest
 public static void AddReloadspeed(FlatBufferBuilder builder, short reloadspeed)
 {
     builder.AddShort(1, reloadspeed, 2);
 }
コード例 #32
0
        private void CheckObjects(int fieldCount, int objectCount)
        {
            _lcg.Reset();

            const int testValuesMax = 11;

            var builder = new FlatBufferBuilder(1);

            var objects = new int[objectCount];

            for (var i = 0; i < objectCount; ++i)
            {
                builder.StartObject(fieldCount);

                for (var j = 0; j < fieldCount; ++j)
                {
                    var fieldType = _lcg.Next() % testValuesMax;

                    switch (fieldType)
                    {
                    case 0:
                    {
                        builder.AddBool(j, FuzzTestData.BoolValue, false);
                        break;
                    }

                    case 1:
                    {
                        builder.AddSbyte(j, FuzzTestData.Int8Value, 0);
                        break;
                    }

                    case 2:
                    {
                        builder.AddByte(j, FuzzTestData.UInt8Value, 0);
                        break;
                    }

                    case 3:
                    {
                        builder.AddShort(j, FuzzTestData.Int16Value, 0);
                        break;
                    }

                    case 4:
                    {
                        builder.AddUshort(j, FuzzTestData.UInt16Value, 0);
                        break;
                    }

                    case 5:
                    {
                        builder.AddInt(j, FuzzTestData.Int32Value, 0);
                        break;
                    }

                    case 6:
                    {
                        builder.AddUint(j, FuzzTestData.UInt32Value, 0);
                        break;
                    }

                    case 7:
                    {
                        builder.AddLong(j, FuzzTestData.Int64Value, 0);
                        break;
                    }

                    case 8:
                    {
                        builder.AddUlong(j, FuzzTestData.UInt64Value, 0);
                        break;
                    }

                    case 9:
                    {
                        builder.AddFloat(j, FuzzTestData.Float32Value, 0);
                        break;
                    }

                    case 10:
                    {
                        builder.AddDouble(j, FuzzTestData.Float64Value, 0);
                        break;
                    }

                    default:
                        throw new Exception("Unreachable");
                    }
                }

                var offset = builder.EndObject();

                // Store the object offset
                objects[i] = offset;
            }

            _lcg.Reset();

            // Test all objects are readable and return expected values...
            for (var i = 0; i < objectCount; ++i)
            {
                var table = new TestTable(builder.DataBuffer, builder.DataBuffer.Length - objects[i]);

                for (var j = 0; j < fieldCount; ++j)
                {
                    var fieldType = _lcg.Next() % testValuesMax;
                    var fc        = 2 + j; // 2 == VtableMetadataFields
                    var f         = fc * 2;

                    switch (fieldType)
                    {
                    case 0:
                    {
                        Assert.AreEqual(FuzzTestData.BoolValue, table.GetSlot(f, false));
                        break;
                    }

                    case 1:
                    {
                        Assert.AreEqual(FuzzTestData.Int8Value, table.GetSlot(f, (sbyte)0));
                        break;
                    }

                    case 2:
                    {
                        Assert.AreEqual(FuzzTestData.UInt8Value, table.GetSlot(f, (byte)0));
                        break;
                    }

                    case 3:
                    {
                        Assert.AreEqual(FuzzTestData.Int16Value, table.GetSlot(f, (short)0));
                        break;
                    }

                    case 4:
                    {
                        Assert.AreEqual(FuzzTestData.UInt16Value, table.GetSlot(f, (ushort)0));
                        break;
                    }

                    case 5:
                    {
                        Assert.AreEqual(FuzzTestData.Int32Value, table.GetSlot(f, (int)0));
                        break;
                    }

                    case 6:
                    {
                        Assert.AreEqual(FuzzTestData.UInt32Value, table.GetSlot(f, (uint)0));
                        break;
                    }

                    case 7:
                    {
                        Assert.AreEqual(FuzzTestData.Int64Value, table.GetSlot(f, (long)0));
                        break;
                    }

                    case 8:
                    {
                        Assert.AreEqual(FuzzTestData.UInt64Value, table.GetSlot(f, (ulong)0));
                        break;
                    }

                    case 9:
                    {
                        Assert.AreEqual(FuzzTestData.Float32Value, table.GetSlot(f, (float)0));
                        break;
                    }

                    case 10:
                    {
                        Assert.AreEqual(FuzzTestData.Float64Value, table.GetSlot(f, (double)0));
                        break;
                    }

                    default:
                        throw new Exception("Unreachable");
                    }
                }
            }
        }
コード例 #33
0
 public static void AddServerVersionCode(FlatBufferBuilder builder, short serverVersionCode)
 {
     builder.AddShort(5, serverVersionCode, 0);
 }
コード例 #34
0
 internal static void AddVersion(FlatBufferBuilder builder, short version)
 {
     builder.AddShort(1, version, 0);
 }
コード例 #35
0
 public static void AddValue(FlatBufferBuilder builder, short value)
 {
     builder.AddShort(1, value, 0);
 }
コード例 #36
0
 public static void AddHp(FlatBufferBuilder builder, short hp)
 {
     builder.AddShort(2, hp, 100);
 }
コード例 #37
0
 public static void AddShortProp(FlatBufferBuilder builder, short ShortProp)
 {
     builder.AddShort(1, ShortProp, 0);
 }
コード例 #38
0
 public static void AddMana(FlatBufferBuilder builder, short mana)
 {
     builder.AddShort(1, mana, 150);
 }
コード例 #39
0
 public static void AddVariableId(FlatBufferBuilder builder, short variableId)
 {
     builder.AddShort(6, variableId, 0);
 }