예제 #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
파일: Score.cs 프로젝트: SisyFox/sisycol
 public static void AddId(FlatBufferBuilder builder, uint id)
 {
     builder.AddUint(0, id, 0);
 }
예제 #3
0
 public static void AddTriggerTimeMs(FlatBufferBuilder builder, uint triggerTimeMs)
 {
     builder.AddUint(0, triggerTimeMs, 0);
 }
예제 #4
0
 public static void AddGroup(FlatBufferBuilder builder, uint group)
 {
     builder.AddUint(0, group, 0);
 }
예제 #5
0
 public static void AddWidth(FlatBufferBuilder builder, uint width)
 {
     builder.AddUint(9, width, 0);
 }
예제 #6
0
 public static void AddBandwidthThrottle(FlatBufferBuilder builder, uint bandwidthThrottle)
 {
     builder.AddUint(7, bandwidthThrottle, 0);
 }
예제 #7
0
 public static void AddPlayerCount(FlatBufferBuilder builder, uint playerCount)
 {
     builder.AddUint(8, playerCount, 0);
 }
예제 #8
0
 public static void AddTesthashu32Fnv1a(FlatBufferBuilder builder, uint testhashu32Fnv1a)
 {
     builder.AddUint(21, testhashu32Fnv1a, 0);
 }
 public static void AddVersion(FlatBufferBuilder builder, uint version)
 {
     builder.AddUint(3, version, 0);
 }
예제 #10
0
 public static void AddAltForm(FlatBufferBuilder builder, uint AltForm)
 {
     builder.AddUint(2, AltForm, 0);
 }
예제 #11
0
 public static void AddTesthashu32Fnv1(FlatBufferBuilder builder, uint testhashu32Fnv1)
 {
     builder.AddUint(17, testhashu32Fnv1, 0);
 }
예제 #12
0
 public static void AddSpecies(FlatBufferBuilder builder, uint Species)
 {
     builder.AddUint(1, Species, 0);
 }
예제 #13
0
 public static void AddEntryIndex(FlatBufferBuilder builder, uint EntryIndex)
 {
     builder.AddUint(0, EntryIndex, 0);
 }
예제 #14
0
 public static void AddRuleSettingId(FlatBufferBuilder builder, uint ruleSettingId)
 {
     builder.AddUint(2, ruleSettingId, 0);
 }
예제 #15
0
 public static void AddValue(FlatBufferBuilder builder, uint value)
 {
     builder.AddUint(1, value, 4294967295);
 }
예제 #16
0
 public static void AddRuleId(FlatBufferBuilder builder, uint ruleId)
 {
     builder.AddUint(3, ruleId, 0);
 }
예제 #17
0
 public static void AddCs(FlatBufferBuilder builder, uint cs)
 {
     builder.AddUint(5, cs, 0);
 }
예제 #18
0
 public static void AddSettingId(FlatBufferBuilder builder, uint settingId)
 {
     builder.AddUint(1, settingId, 0);
 }
예제 #19
0
 public static void AddTime(FlatBufferBuilder builder, uint time)
 {
     builder.AddUint(0, time, 0);
 }
예제 #20
0
 public static void AddChannelId(FlatBufferBuilder builder, uint channelId)
 {
     builder.AddUint(2, channelId, 0);
 }
예제 #21
0
 public static void AddSpectatorCount(FlatBufferBuilder builder, uint spectatorCount)
 {
     builder.AddUint(9, spectatorCount, 0);
 }
 internal static void AddSize(FlatBufferBuilder builder, uint size)
 {
     builder.AddUint(0, size, 0);
 }
예제 #23
0
 public static void AddZindex(FlatBufferBuilder builder, uint zindex)
 {
     builder.AddUint(3, zindex, 0);
 }
예제 #24
0
 public static void AddLatency(FlatBufferBuilder builder, uint latency)
 {
     builder.AddUint(1, latency, 0);
 }
예제 #25
0
 public static void AddHeight(FlatBufferBuilder builder, uint height)
 {
     builder.AddUint(10, height, 0);
 }
예제 #26
0
 public static void AddFps(FlatBufferBuilder builder, uint fps)
 {
     builder.AddUint(2, fps, 0);
 }
예제 #27
0
파일: Score.cs 프로젝트: SisyFox/sisycol
 public static void AddRank(FlatBufferBuilder builder, uint rank)
 {
     builder.AddUint(4, rank, 0);
 }
예제 #28
0
 public static void AddVps(FlatBufferBuilder builder, uint vps)
 {
     builder.AddUint(3, vps, 0);
 }
예제 #29
0
 public static void AddDeviceId(FlatBufferBuilder builder, uint deviceId)
 {
     builder.AddUint(0, deviceId, 0);
 }
예제 #30
0
 public static void AddUps(FlatBufferBuilder builder, uint ups)
 {
     builder.AddUint(4, ups, 0);
 }
예제 #31
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");
                    }

                }

            }
        }
예제 #32
0
 public static void AddKey(FlatBufferBuilder builder, uint key)
 {
     builder.AddUint(0, key, 0);
 }