예제 #1
0
        public void TestVector_2xUInt16()
        {
            var builder = new FlatBufferBuilder(1);

            builder.StartVector(sizeof(ushort), 2, 1);
            Assert.ArrayEqual(new byte[] { 0, 0, 0, 0, 0, 0, 0, 0 }, builder.DataBuffer.ToFullArray());
            builder.AddUshort(0xABCD);
            Assert.ArrayEqual(new byte[] { 0, 0, 0, 0, 0, 0, 0xCD, 0xAB }, builder.DataBuffer.ToFullArray());
            builder.AddUshort(0xDCBA);
            Assert.ArrayEqual(new byte[] { 0, 0, 0, 0, 0xBA, 0xDC, 0xCD, 0xAB }, builder.DataBuffer.ToFullArray());
            builder.EndVector();
            Assert.ArrayEqual(new byte[] { 2, 0, 0, 0, 0xBA, 0xDC, 0xCD, 0xAB }, builder.DataBuffer.ToFullArray());
        }
예제 #2
0
 public static int CreateDepthDataVector(FlatBufferBuilder builder, ushort[] data)
 {
     builder.StartVector(2, data.Length, 2); for (int i = data.Length - 1; i >= 0; i--)
     {
         builder.AddUshort(data[i]);
     }
     return(builder.EndVector());
 }
예제 #3
0
 public static VectorOffset CreateEndpointsVector(FlatBufferBuilder builder, Endpoint[] data)
 {
     builder.StartVector(2, data.Length, 2); for (int i = data.Length - 1; i >= 0; i--)
     {
         builder.AddUshort((ushort)data[i]);
     }
     return(builder.EndVector());
 }
예제 #4
0
 public static VectorOffset CreateAdjacenciesVector(FlatBufferBuilder builder, ushort[] data)
 {
     builder.StartVector(2, data.Length, 2);
     for (int num = data.Length - 1; num >= 0; num--)
     {
         builder.AddUshort(data[num]);
     }
     return(builder.EndVector());
 }
예제 #5
0
        public void TestVector_1xUInt16()
        {
            var builder = new FlatBufferBuilder(1);

            builder.StartVector(sizeof(ushort), 1, 1);
            Assert.ArrayEqual(new byte[] { 0, 0, 0, 0, 0, 0, 0, 0 }, builder.DataBuffer.ToFullArray());
            builder.AddUshort(1);
            Assert.ArrayEqual(new byte[] { 0, 0, 0, 0, 1, 0, 0, 0 }, builder.DataBuffer.ToFullArray());
            builder.EndVector();
            Assert.ArrayEqual(new byte[] { 1, 0, 0, 0, 1, 0, 0, 0 }, builder.DataBuffer.ToFullArray());
        }
예제 #6
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
 }
예제 #7
0
        public void TestNumbers()
        {
            var builder = new FlatBufferBuilder(1);

            Assert.ArrayEqual(new byte[] { 0 }, builder.DataBuffer.ToFullArray());
            builder.AddBool(true);
            Assert.ArrayEqual(new byte[] { 1 }, builder.DataBuffer.ToFullArray());
            builder.AddSbyte(-127);
            Assert.ArrayEqual(new byte[] { 129, 1 }, builder.DataBuffer.ToFullArray());
            builder.AddByte(255);
            Assert.ArrayEqual(new byte[] { 0, 255, 129, 1 }, builder.DataBuffer.ToFullArray());                                                                     // First pad
            builder.AddShort(-32222);
            Assert.ArrayEqual(new byte[] { 0, 0, 0x22, 0x82, 0, 255, 129, 1 }, builder.DataBuffer.ToFullArray());                                                   // Second pad
            builder.AddUshort(0xFEEE);
            Assert.ArrayEqual(new byte[] { 0xEE, 0xFE, 0x22, 0x82, 0, 255, 129, 1 }, builder.DataBuffer.ToFullArray());                                             // 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.ToFullArray());             // 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.ToFullArray()); // no pad
        }
예제 #8
0
 public static void AddType(FlatBufferBuilder builder, ushort type)
 {
     builder.AddUshort(4, type, 0);
 }
예제 #9
0
 public static void AddVersion(FlatBufferBuilder builder, ushort version)
 {
     builder.AddUshort(3, version, 0);
 }
예제 #10
0
 public static void AddId(FlatBufferBuilder builder, ushort id)
 {
     builder.AddUshort(2, id, 0);
 }
예제 #11
0
 public static void AddUShort(FlatBufferBuilder builder, ushort UShort)
 {
     builder.AddUshort(1, UShort, 0);
 }
예제 #12
0
 public void TestVector_1xUInt16()
 {
     var builder = new FlatBufferBuilder(1);
     builder.StartVector(sizeof(ushort), 1, 1);
     Assert.ArrayEqual(new byte[] { 0, 0, 0, 0, 0, 0, 0, 0 }, builder.DataBuffer.Data);
     builder.AddUshort(1);
     Assert.ArrayEqual(new byte[] { 0, 0, 0, 0, 1, 0, 0, 0 }, builder.DataBuffer.Data);
     builder.EndVector();
     Assert.ArrayEqual(new byte[] { 1, 0, 0, 0, 1, 0, 0, 0 }, builder.DataBuffer.Data);
 }
예제 #13
0
 public static void AddGil(FlatBufferBuilder builder, ushort gil)
 {
     builder.AddUshort(2, gil, 0);
 }
예제 #14
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");
                    }
                }
            }
        }
 public static void AddPathEnd(FlatBufferBuilder builder, ushort pathEnd)
 {
     builder.AddUshort(5, pathEnd, 0);
 }
예제 #16
0
 public static void AddKind(FlatBufferBuilder builder, FfiResponses.ResponseKind kind)
 {
     builder.AddUshort(0, (ushort)kind, 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 AddMessageType(FlatBufferBuilder builder, ButtplugFFI.MessageAttributeType messageType)
 {
     builder.AddUshort(0, (ushort)messageType, 0);
 }
 public static void AddU16(FlatBufferBuilder builder, ushort u16)
 {
     builder.AddUshort(3, u16, 0);
 }
예제 #20
0
 public static void AddCount(FlatBufferBuilder builder, ushort count)
 {
     builder.AddUshort(2, count, 0);
 }
예제 #21
0
 public static void AddHp(FlatBufferBuilder builder, ushort hp)
 {
     builder.AddUshort(3, hp, 0);
 }
예제 #22
0
 public void TestVector_2xUInt16()
 {
     var builder = new FlatBufferBuilder(1);
     builder.StartVector(sizeof(ushort), 2, 1);
     Assert.ArrayEqual(new byte[] { 0, 0, 0, 0, 0, 0, 0, 0 }, builder.DataBuffer.Data);
     builder.AddUshort(0xABCD);
     Assert.ArrayEqual(new byte[] { 0, 0, 0, 0, 0, 0, 0xCD, 0xAB }, builder.DataBuffer.Data);
     builder.AddUshort(0xDCBA);
     Assert.ArrayEqual(new byte[] { 0, 0, 0, 0, 0xBA, 0xDC, 0xCD, 0xAB }, builder.DataBuffer.Data);
     builder.EndVector();
     Assert.ArrayEqual(new byte[] { 2, 0, 0, 0, 0xBA, 0xDC, 0xCD, 0xAB }, builder.DataBuffer.Data);
 }
 public static void AddProfileEnd(FlatBufferBuilder builder, ushort profileEnd)
 {
     builder.AddUshort(16, profileEnd, 0);
 }
예제 #24
0
 public static void AddPlugin(FlatBufferBuilder builder, ushort plugin)
 {
     builder.AddUshort(7, plugin, 0);
 }
예제 #25
0
 public static void AddIndexNodeSize(FlatBufferBuilder builder, ushort indexNodeSize)
 {
     builder.AddUshort(7, indexNodeSize, 16);
 }
예제 #26
0
 public static void AddExperience(FlatBufferBuilder builder, ushort experience)
 {
     builder.AddUshort(1, experience, 0);
 }
 public static void AddPathBegin(FlatBufferBuilder builder, ushort pathBegin)
 {
     builder.AddUshort(3, pathBegin, 0);
 }
예제 #28
0
 public static void AddJustU16(FlatBufferBuilder builder, ushort justU16)
 {
     builder.AddUshort(9, justU16, 0);
 }
 public static void AddProfileBegin(FlatBufferBuilder builder, ushort profileBegin)
 {
     builder.AddUshort(15, profileBegin, 0);
 }
예제 #30
0
 public static void AddMaybeU16(FlatBufferBuilder builder, ushort?maybeU16)
 {
     builder.AddUshort(10, maybeU16);
 }
 public static void AddProfileHollow(FlatBufferBuilder builder, ushort profileHollow)
 {
     builder.AddUshort(17, profileHollow, 0);
 }
예제 #32
0
 public static void AddDefaultU16(FlatBufferBuilder builder, ushort defaultU16)
 {
     builder.AddUshort(11, defaultU16, 42);
 }
 public static void AddDynamaxLevel(FlatBufferBuilder builder, ushort DynamaxLevel)
 {
     builder.AddUshort(4, DynamaxLevel, 0);
 }
예제 #34
0
 public static void AddIndex(FlatBufferBuilder builder, ushort index)
 {
     builder.AddUshort(0, index, 0);
 }