1*890232f2SAndroid Build Coastguard Worker /* 2*890232f2SAndroid Build Coastguard Worker * Copyright 2016 Google Inc. All rights reserved. 3*890232f2SAndroid Build Coastguard Worker * 4*890232f2SAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License"); 5*890232f2SAndroid Build Coastguard Worker * you may not use this file except in compliance with the License. 6*890232f2SAndroid Build Coastguard Worker * You may obtain a copy of the License at 7*890232f2SAndroid Build Coastguard Worker * 8*890232f2SAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0 9*890232f2SAndroid Build Coastguard Worker * 10*890232f2SAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software 11*890232f2SAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS, 12*890232f2SAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*890232f2SAndroid Build Coastguard Worker * See the License for the specific language governing permissions and 14*890232f2SAndroid Build Coastguard Worker * limitations under the License. 15*890232f2SAndroid Build Coastguard Worker */ 16*890232f2SAndroid Build Coastguard Worker 17*890232f2SAndroid Build Coastguard Worker using System; 18*890232f2SAndroid Build Coastguard Worker 19*890232f2SAndroid Build Coastguard Worker namespace FlatBuffers.Test 20*890232f2SAndroid Build Coastguard Worker { 21*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestClass] 22*890232f2SAndroid Build Coastguard Worker public class FlatBufferBuilderTests 23*890232f2SAndroid Build Coastguard Worker { CreateBuffer(bool forceDefaults = true)24*890232f2SAndroid Build Coastguard Worker private FlatBufferBuilder CreateBuffer(bool forceDefaults = true) 25*890232f2SAndroid Build Coastguard Worker { 26*890232f2SAndroid Build Coastguard Worker var fbb = new FlatBufferBuilder(16) {ForceDefaults = forceDefaults}; 27*890232f2SAndroid Build Coastguard Worker fbb.StartTable(1); 28*890232f2SAndroid Build Coastguard Worker return fbb; 29*890232f2SAndroid Build Coastguard Worker } 30*890232f2SAndroid Build Coastguard Worker 31*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_WithForceDefaults_WhenAddBool_AndDefaultValue_OffsetIncreasesBySize()32*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_WithForceDefaults_WhenAddBool_AndDefaultValue_OffsetIncreasesBySize() 33*890232f2SAndroid Build Coastguard Worker { 34*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(); 35*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 36*890232f2SAndroid Build Coastguard Worker fbb.AddBool(0, false, false); 37*890232f2SAndroid Build Coastguard Worker var endOffset = fbb.Offset; 38*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(sizeof(bool), endOffset-storedOffset); 39*890232f2SAndroid Build Coastguard Worker } 40*890232f2SAndroid Build Coastguard Worker 41*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_WithForceDefaults_WhenAddSByte_AndDefaultValue_OffsetIncreasesBySize()42*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_WithForceDefaults_WhenAddSByte_AndDefaultValue_OffsetIncreasesBySize() 43*890232f2SAndroid Build Coastguard Worker { 44*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(); 45*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 46*890232f2SAndroid Build Coastguard Worker fbb.AddSbyte(0, 0, 0); 47*890232f2SAndroid Build Coastguard Worker var endOffset = fbb.Offset; 48*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(sizeof(sbyte), endOffset - storedOffset); 49*890232f2SAndroid Build Coastguard Worker } 50*890232f2SAndroid Build Coastguard Worker 51*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_WithForceDefaults_WhenAddByte_AndDefaultValue_OffsetIncreasesBySize()52*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_WithForceDefaults_WhenAddByte_AndDefaultValue_OffsetIncreasesBySize() 53*890232f2SAndroid Build Coastguard Worker { 54*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(); 55*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 56*890232f2SAndroid Build Coastguard Worker fbb.AddByte(0, 0, 0); 57*890232f2SAndroid Build Coastguard Worker var endOffset = fbb.Offset; 58*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(sizeof(byte), endOffset - storedOffset); 59*890232f2SAndroid Build Coastguard Worker } 60*890232f2SAndroid Build Coastguard Worker 61*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_WithForceDefaults_WhenAddShort_AndDefaultValue_OffsetIncreasesBySize()62*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_WithForceDefaults_WhenAddShort_AndDefaultValue_OffsetIncreasesBySize() 63*890232f2SAndroid Build Coastguard Worker { 64*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(); 65*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 66*890232f2SAndroid Build Coastguard Worker fbb.AddShort(0, 0, 0); 67*890232f2SAndroid Build Coastguard Worker var endOffset = fbb.Offset; 68*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(sizeof(short), endOffset - storedOffset); 69*890232f2SAndroid Build Coastguard Worker } 70*890232f2SAndroid Build Coastguard Worker 71*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_WithForceDefaults_WhenAddUShort_AndDefaultValue_OffsetIncreasesBySize()72*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_WithForceDefaults_WhenAddUShort_AndDefaultValue_OffsetIncreasesBySize() 73*890232f2SAndroid Build Coastguard Worker { 74*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(); 75*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 76*890232f2SAndroid Build Coastguard Worker fbb.AddUshort(0, 0, 0); 77*890232f2SAndroid Build Coastguard Worker var endOffset = fbb.Offset; 78*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(sizeof(ushort), endOffset - storedOffset); 79*890232f2SAndroid Build Coastguard Worker } 80*890232f2SAndroid Build Coastguard Worker 81*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_WithForceDefaults_WhenAddInt_AndDefaultValue_OffsetIncreasesBySize()82*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_WithForceDefaults_WhenAddInt_AndDefaultValue_OffsetIncreasesBySize() 83*890232f2SAndroid Build Coastguard Worker { 84*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(); 85*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 86*890232f2SAndroid Build Coastguard Worker fbb.AddInt(0, 0, 0); 87*890232f2SAndroid Build Coastguard Worker var endOffset = fbb.Offset; 88*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(sizeof(int), endOffset - storedOffset); 89*890232f2SAndroid Build Coastguard Worker } 90*890232f2SAndroid Build Coastguard Worker 91*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_WithForceDefaults_WhenAddUInt_AndDefaultValue_OffsetIncreasesBySize()92*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_WithForceDefaults_WhenAddUInt_AndDefaultValue_OffsetIncreasesBySize() 93*890232f2SAndroid Build Coastguard Worker { 94*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(); 95*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 96*890232f2SAndroid Build Coastguard Worker fbb.AddUint(0, 0, 0); 97*890232f2SAndroid Build Coastguard Worker var endOffset = fbb.Offset; 98*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(sizeof(uint), endOffset - storedOffset); 99*890232f2SAndroid Build Coastguard Worker } 100*890232f2SAndroid Build Coastguard Worker 101*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_WithForceDefaults_WhenAddLong_AndDefaultValue_OffsetIncreasesBySize()102*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_WithForceDefaults_WhenAddLong_AndDefaultValue_OffsetIncreasesBySize() 103*890232f2SAndroid Build Coastguard Worker { 104*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(); 105*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 106*890232f2SAndroid Build Coastguard Worker fbb.AddLong(0, 0, 0); 107*890232f2SAndroid Build Coastguard Worker var endOffset = fbb.Offset; 108*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(sizeof(long), endOffset - storedOffset); 109*890232f2SAndroid Build Coastguard Worker } 110*890232f2SAndroid Build Coastguard Worker 111*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_WithForceDefaults_WhenAddULong_AndDefaultValue_OffsetIncreasesBySize()112*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_WithForceDefaults_WhenAddULong_AndDefaultValue_OffsetIncreasesBySize() 113*890232f2SAndroid Build Coastguard Worker { 114*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(); 115*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 116*890232f2SAndroid Build Coastguard Worker fbb.AddUlong(0, 0, 0); 117*890232f2SAndroid Build Coastguard Worker var endOffset = fbb.Offset; 118*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(sizeof(ulong), endOffset - storedOffset); 119*890232f2SAndroid Build Coastguard Worker } 120*890232f2SAndroid Build Coastguard Worker 121*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_WithForceDefaults_WhenAddFloat_AndDefaultValue_OffsetIncreasesBySize()122*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_WithForceDefaults_WhenAddFloat_AndDefaultValue_OffsetIncreasesBySize() 123*890232f2SAndroid Build Coastguard Worker { 124*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(); 125*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 126*890232f2SAndroid Build Coastguard Worker fbb.AddFloat(0, 0, 0); 127*890232f2SAndroid Build Coastguard Worker var endOffset = fbb.Offset; 128*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(sizeof(float), endOffset - storedOffset); 129*890232f2SAndroid Build Coastguard Worker } 130*890232f2SAndroid Build Coastguard Worker 131*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_WithForceDefaults_WhenAddDouble_AndDefaultValue_OffsetIncreasesBySize()132*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_WithForceDefaults_WhenAddDouble_AndDefaultValue_OffsetIncreasesBySize() 133*890232f2SAndroid Build Coastguard Worker { 134*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(); 135*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 136*890232f2SAndroid Build Coastguard Worker fbb.AddDouble(0, 0, 0); 137*890232f2SAndroid Build Coastguard Worker var endOffset = fbb.Offset; 138*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(sizeof(double), endOffset - storedOffset); 139*890232f2SAndroid Build Coastguard Worker } 140*890232f2SAndroid Build Coastguard Worker 141*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_WhenAddBool_AndDefaultValue_OffsetIsUnchanged()142*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_WhenAddBool_AndDefaultValue_OffsetIsUnchanged() 143*890232f2SAndroid Build Coastguard Worker { 144*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(false); 145*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 146*890232f2SAndroid Build Coastguard Worker fbb.AddBool(0, false, false); 147*890232f2SAndroid Build Coastguard Worker var endOffset = fbb.Offset; 148*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(endOffset, storedOffset); 149*890232f2SAndroid Build Coastguard Worker } 150*890232f2SAndroid Build Coastguard Worker 151*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_WhenAddSByte_AndDefaultValue_OffsetIsUnchanged()152*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_WhenAddSByte_AndDefaultValue_OffsetIsUnchanged() 153*890232f2SAndroid Build Coastguard Worker { 154*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(false); 155*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 156*890232f2SAndroid Build Coastguard Worker fbb.AddSbyte(0, 0, 0); 157*890232f2SAndroid Build Coastguard Worker var endOffset = fbb.Offset; 158*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(endOffset, storedOffset); 159*890232f2SAndroid Build Coastguard Worker } 160*890232f2SAndroid Build Coastguard Worker 161*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_WhenAddByte_AndDefaultValue_OffsetIsUnchanged()162*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_WhenAddByte_AndDefaultValue_OffsetIsUnchanged() 163*890232f2SAndroid Build Coastguard Worker { 164*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(false); 165*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 166*890232f2SAndroid Build Coastguard Worker fbb.AddByte(0, 0, 0); 167*890232f2SAndroid Build Coastguard Worker var endOffset = fbb.Offset; 168*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(endOffset, storedOffset); 169*890232f2SAndroid Build Coastguard Worker } 170*890232f2SAndroid Build Coastguard Worker 171*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_WhenAddShort_AndDefaultValue_OffsetIsUnchanged()172*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_WhenAddShort_AndDefaultValue_OffsetIsUnchanged() 173*890232f2SAndroid Build Coastguard Worker { 174*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(false); 175*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 176*890232f2SAndroid Build Coastguard Worker fbb.AddShort(0, 0, 0); 177*890232f2SAndroid Build Coastguard Worker var endOffset = fbb.Offset; 178*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(endOffset, storedOffset); 179*890232f2SAndroid Build Coastguard Worker } 180*890232f2SAndroid Build Coastguard Worker 181*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_WhenAddUShort_AndDefaultValue_OffsetIsUnchanged()182*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_WhenAddUShort_AndDefaultValue_OffsetIsUnchanged() 183*890232f2SAndroid Build Coastguard Worker { 184*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(false); 185*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 186*890232f2SAndroid Build Coastguard Worker fbb.AddUshort(0, 0, 0); 187*890232f2SAndroid Build Coastguard Worker var endOffset = fbb.Offset; 188*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(endOffset, storedOffset); 189*890232f2SAndroid Build Coastguard Worker } 190*890232f2SAndroid Build Coastguard Worker 191*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_WhenAddInt_AndDefaultValue_OffsetIsUnchanged()192*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_WhenAddInt_AndDefaultValue_OffsetIsUnchanged() 193*890232f2SAndroid Build Coastguard Worker { 194*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(false); 195*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 196*890232f2SAndroid Build Coastguard Worker fbb.AddInt(0, 0, 0); 197*890232f2SAndroid Build Coastguard Worker var endOffset = fbb.Offset; 198*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(endOffset, storedOffset); 199*890232f2SAndroid Build Coastguard Worker } 200*890232f2SAndroid Build Coastguard Worker 201*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_WhenAddUInt_AndDefaultValue_OffsetIsUnchanged()202*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_WhenAddUInt_AndDefaultValue_OffsetIsUnchanged() 203*890232f2SAndroid Build Coastguard Worker { 204*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(false); 205*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 206*890232f2SAndroid Build Coastguard Worker fbb.AddUint(0, 0, 0); 207*890232f2SAndroid Build Coastguard Worker var endOffset = fbb.Offset; 208*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(endOffset, storedOffset); 209*890232f2SAndroid Build Coastguard Worker } 210*890232f2SAndroid Build Coastguard Worker 211*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_WhenAddLong_AndDefaultValue_OffsetIsUnchanged()212*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_WhenAddLong_AndDefaultValue_OffsetIsUnchanged() 213*890232f2SAndroid Build Coastguard Worker { 214*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(false); 215*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 216*890232f2SAndroid Build Coastguard Worker fbb.AddLong(0, 0, 0); 217*890232f2SAndroid Build Coastguard Worker var endOffset = fbb.Offset; 218*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(endOffset, storedOffset); 219*890232f2SAndroid Build Coastguard Worker } 220*890232f2SAndroid Build Coastguard Worker 221*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_WhenAddULong_AndDefaultValue_OffsetIsUnchanged()222*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_WhenAddULong_AndDefaultValue_OffsetIsUnchanged() 223*890232f2SAndroid Build Coastguard Worker { 224*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(false); 225*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 226*890232f2SAndroid Build Coastguard Worker fbb.AddUlong(0, 0, 0); 227*890232f2SAndroid Build Coastguard Worker var endOffset = fbb.Offset; 228*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(endOffset, storedOffset); 229*890232f2SAndroid Build Coastguard Worker } 230*890232f2SAndroid Build Coastguard Worker 231*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_WhenAddFloat_AndDefaultValue_OffsetIsUnchanged()232*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_WhenAddFloat_AndDefaultValue_OffsetIsUnchanged() 233*890232f2SAndroid Build Coastguard Worker { 234*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(false); 235*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 236*890232f2SAndroid Build Coastguard Worker fbb.AddFloat(0, 0, 0); 237*890232f2SAndroid Build Coastguard Worker var endOffset = fbb.Offset; 238*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(endOffset, storedOffset); 239*890232f2SAndroid Build Coastguard Worker } 240*890232f2SAndroid Build Coastguard Worker 241*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_WhenAddDouble_AndDefaultValue_OffsetIsUnchanged()242*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_WhenAddDouble_AndDefaultValue_OffsetIsUnchanged() 243*890232f2SAndroid Build Coastguard Worker { 244*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(false); 245*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 246*890232f2SAndroid Build Coastguard Worker fbb.AddDouble(0, 0, 0); 247*890232f2SAndroid Build Coastguard Worker var endOffset = fbb.Offset; 248*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(endOffset, storedOffset); 249*890232f2SAndroid Build Coastguard Worker } 250*890232f2SAndroid Build Coastguard Worker 251*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_WhenAddNullableBool_OffsetIsUnchanged()252*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_WhenAddNullableBool_OffsetIsUnchanged() 253*890232f2SAndroid Build Coastguard Worker { 254*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(false); 255*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 256*890232f2SAndroid Build Coastguard Worker fbb.AddBool(0, null); 257*890232f2SAndroid Build Coastguard Worker var endOffset = fbb.Offset; 258*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(endOffset, storedOffset); 259*890232f2SAndroid Build Coastguard Worker } 260*890232f2SAndroid Build Coastguard Worker 261*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_WhenAddNullableSbyte_OffsetIsUnchanged()262*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_WhenAddNullableSbyte_OffsetIsUnchanged() 263*890232f2SAndroid Build Coastguard Worker { 264*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(false); 265*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 266*890232f2SAndroid Build Coastguard Worker fbb.AddSbyte(0, null); 267*890232f2SAndroid Build Coastguard Worker var endOffset = fbb.Offset; 268*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(endOffset, storedOffset); 269*890232f2SAndroid Build Coastguard Worker } 270*890232f2SAndroid Build Coastguard Worker 271*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_WhenAddNullableByte_OffsetIsUnchanged()272*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_WhenAddNullableByte_OffsetIsUnchanged() 273*890232f2SAndroid Build Coastguard Worker { 274*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(false); 275*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 276*890232f2SAndroid Build Coastguard Worker fbb.AddByte(0, null); 277*890232f2SAndroid Build Coastguard Worker var endOffset = fbb.Offset; 278*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(endOffset, storedOffset); 279*890232f2SAndroid Build Coastguard Worker } 280*890232f2SAndroid Build Coastguard Worker 281*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_WhenAddNullableShort_OffsetIsUnchanged()282*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_WhenAddNullableShort_OffsetIsUnchanged() 283*890232f2SAndroid Build Coastguard Worker { 284*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(false); 285*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 286*890232f2SAndroid Build Coastguard Worker fbb.AddShort(0, null); 287*890232f2SAndroid Build Coastguard Worker var endOffset = fbb.Offset; 288*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(endOffset, storedOffset); 289*890232f2SAndroid Build Coastguard Worker } 290*890232f2SAndroid Build Coastguard Worker 291*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_WhenAddNullableUShort_OffsetIsUnchanged()292*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_WhenAddNullableUShort_OffsetIsUnchanged() 293*890232f2SAndroid Build Coastguard Worker { 294*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(false); 295*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 296*890232f2SAndroid Build Coastguard Worker fbb.AddUshort(0, null); 297*890232f2SAndroid Build Coastguard Worker var endOffset = fbb.Offset; 298*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(endOffset, storedOffset); 299*890232f2SAndroid Build Coastguard Worker } 300*890232f2SAndroid Build Coastguard Worker 301*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_WhenAddNullableInt_OffsetIsUnchanged()302*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_WhenAddNullableInt_OffsetIsUnchanged() 303*890232f2SAndroid Build Coastguard Worker { 304*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(false); 305*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 306*890232f2SAndroid Build Coastguard Worker fbb.AddInt(0, null); 307*890232f2SAndroid Build Coastguard Worker var endOffset = fbb.Offset; 308*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(endOffset, storedOffset); 309*890232f2SAndroid Build Coastguard Worker } 310*890232f2SAndroid Build Coastguard Worker 311*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_WhenAddNullableUInt_OffsetIsUnchanged()312*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_WhenAddNullableUInt_OffsetIsUnchanged() 313*890232f2SAndroid Build Coastguard Worker { 314*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(false); 315*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 316*890232f2SAndroid Build Coastguard Worker fbb.AddUint(0, null); 317*890232f2SAndroid Build Coastguard Worker var endOffset = fbb.Offset; 318*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(endOffset, storedOffset); 319*890232f2SAndroid Build Coastguard Worker } 320*890232f2SAndroid Build Coastguard Worker 321*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_WhenAddNullableLong_OffsetIsUnchanged()322*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_WhenAddNullableLong_OffsetIsUnchanged() 323*890232f2SAndroid Build Coastguard Worker { 324*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(false); 325*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 326*890232f2SAndroid Build Coastguard Worker fbb.AddLong(0, null); 327*890232f2SAndroid Build Coastguard Worker var endOffset = fbb.Offset; 328*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(endOffset, storedOffset); 329*890232f2SAndroid Build Coastguard Worker } 330*890232f2SAndroid Build Coastguard Worker 331*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_WhenAddNullableULong_OffsetIsUnchanged()332*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_WhenAddNullableULong_OffsetIsUnchanged() 333*890232f2SAndroid Build Coastguard Worker { 334*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(false); 335*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 336*890232f2SAndroid Build Coastguard Worker fbb.AddUlong(0, null); 337*890232f2SAndroid Build Coastguard Worker var endOffset = fbb.Offset; 338*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(endOffset, storedOffset); 339*890232f2SAndroid Build Coastguard Worker } 340*890232f2SAndroid Build Coastguard Worker 341*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_WhenAddNullableFloat_OffsetIsUnchanged()342*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_WhenAddNullableFloat_OffsetIsUnchanged() 343*890232f2SAndroid Build Coastguard Worker { 344*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(false); 345*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 346*890232f2SAndroid Build Coastguard Worker fbb.AddFloat(0, null); 347*890232f2SAndroid Build Coastguard Worker var endOffset = fbb.Offset; 348*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(endOffset, storedOffset); 349*890232f2SAndroid Build Coastguard Worker } 350*890232f2SAndroid Build Coastguard Worker 351*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_WhenAddNullableDouble_OffsetIsUnchanged()352*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_WhenAddNullableDouble_OffsetIsUnchanged() 353*890232f2SAndroid Build Coastguard Worker { 354*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(false); 355*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 356*890232f2SAndroid Build Coastguard Worker fbb.AddDouble(0, null); 357*890232f2SAndroid Build Coastguard Worker var endOffset = fbb.Offset; 358*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(endOffset, storedOffset); 359*890232f2SAndroid Build Coastguard Worker } 360*890232f2SAndroid Build Coastguard Worker 361*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_WhenAddNullableBool_OffsetIsChangedBySize()362*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_WhenAddNullableBool_OffsetIsChangedBySize() 363*890232f2SAndroid Build Coastguard Worker { 364*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(false); 365*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 366*890232f2SAndroid Build Coastguard Worker fbb.AddBool(0, true); 367*890232f2SAndroid Build Coastguard Worker var endOffset = fbb.Offset; 368*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(sizeof(bool), endOffset - storedOffset); 369*890232f2SAndroid Build Coastguard Worker } 370*890232f2SAndroid Build Coastguard Worker 371*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_WhenAddNullableSbyte_OffsetIsChangedBySize()372*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_WhenAddNullableSbyte_OffsetIsChangedBySize() 373*890232f2SAndroid Build Coastguard Worker { 374*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(false); 375*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 376*890232f2SAndroid Build Coastguard Worker fbb.AddSbyte(0, 1); 377*890232f2SAndroid Build Coastguard Worker var endOffset = fbb.Offset; 378*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(sizeof(sbyte), endOffset - storedOffset); 379*890232f2SAndroid Build Coastguard Worker } 380*890232f2SAndroid Build Coastguard Worker 381*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_WhenAddNullableByte_OffsetIsChangedBySize()382*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_WhenAddNullableByte_OffsetIsChangedBySize() 383*890232f2SAndroid Build Coastguard Worker { 384*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(false); 385*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 386*890232f2SAndroid Build Coastguard Worker fbb.AddByte(0, 1); 387*890232f2SAndroid Build Coastguard Worker var endOffset = fbb.Offset; 388*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(sizeof(byte), endOffset - storedOffset); 389*890232f2SAndroid Build Coastguard Worker } 390*890232f2SAndroid Build Coastguard Worker 391*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_WhenAddNullableShort_OffsetIsChangedBySize()392*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_WhenAddNullableShort_OffsetIsChangedBySize() 393*890232f2SAndroid Build Coastguard Worker { 394*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(false); 395*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 396*890232f2SAndroid Build Coastguard Worker fbb.AddShort(0, 1); 397*890232f2SAndroid Build Coastguard Worker var endOffset = fbb.Offset; 398*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(sizeof(short), endOffset - storedOffset); 399*890232f2SAndroid Build Coastguard Worker } 400*890232f2SAndroid Build Coastguard Worker 401*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_WhenAddNullableUShort_OffsetIsChangedBySize()402*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_WhenAddNullableUShort_OffsetIsChangedBySize() 403*890232f2SAndroid Build Coastguard Worker { 404*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(false); 405*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 406*890232f2SAndroid Build Coastguard Worker fbb.AddUshort(0, 1); 407*890232f2SAndroid Build Coastguard Worker var endOffset = fbb.Offset; 408*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(sizeof(ushort), endOffset - storedOffset); 409*890232f2SAndroid Build Coastguard Worker } 410*890232f2SAndroid Build Coastguard Worker 411*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_WhenAddNullableInt_OffsetIsChangedBySize()412*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_WhenAddNullableInt_OffsetIsChangedBySize() 413*890232f2SAndroid Build Coastguard Worker { 414*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(false); 415*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 416*890232f2SAndroid Build Coastguard Worker fbb.AddInt(0, 1); 417*890232f2SAndroid Build Coastguard Worker var endOffset = fbb.Offset; 418*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(sizeof(int), endOffset - storedOffset); 419*890232f2SAndroid Build Coastguard Worker } 420*890232f2SAndroid Build Coastguard Worker 421*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_WhenAddNullableUInt_OffsetIsChangedBySize()422*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_WhenAddNullableUInt_OffsetIsChangedBySize() 423*890232f2SAndroid Build Coastguard Worker { 424*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(false); 425*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 426*890232f2SAndroid Build Coastguard Worker fbb.AddUint(0, 1); 427*890232f2SAndroid Build Coastguard Worker var endOffset = fbb.Offset; 428*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(sizeof(uint), endOffset - storedOffset); 429*890232f2SAndroid Build Coastguard Worker } 430*890232f2SAndroid Build Coastguard Worker 431*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_WhenAddNullableLong_OffsetIsChangedBySize()432*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_WhenAddNullableLong_OffsetIsChangedBySize() 433*890232f2SAndroid Build Coastguard Worker { 434*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(false); 435*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 436*890232f2SAndroid Build Coastguard Worker fbb.AddLong(0, 1); 437*890232f2SAndroid Build Coastguard Worker var endOffset = fbb.Offset; 438*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(sizeof(long), endOffset - storedOffset); 439*890232f2SAndroid Build Coastguard Worker } 440*890232f2SAndroid Build Coastguard Worker 441*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_WhenAddNullableULong_OffsetIsChangedBySize()442*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_WhenAddNullableULong_OffsetIsChangedBySize() 443*890232f2SAndroid Build Coastguard Worker { 444*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(false); 445*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 446*890232f2SAndroid Build Coastguard Worker fbb.AddUlong(0, 1); 447*890232f2SAndroid Build Coastguard Worker var endOffset = fbb.Offset; 448*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(sizeof(ulong), endOffset - storedOffset); 449*890232f2SAndroid Build Coastguard Worker } 450*890232f2SAndroid Build Coastguard Worker 451*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_WhenAddNullableFloat_OffsetIsChangedBySize()452*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_WhenAddNullableFloat_OffsetIsChangedBySize() 453*890232f2SAndroid Build Coastguard Worker { 454*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(false); 455*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 456*890232f2SAndroid Build Coastguard Worker fbb.AddFloat(0, 1.0F); 457*890232f2SAndroid Build Coastguard Worker var endOffset = fbb.Offset; 458*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(sizeof(float), endOffset - storedOffset); 459*890232f2SAndroid Build Coastguard Worker } 460*890232f2SAndroid Build Coastguard Worker 461*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_WhenAddNullableDouble_OffsetIsChangedBySize()462*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_WhenAddNullableDouble_OffsetIsChangedBySize() 463*890232f2SAndroid Build Coastguard Worker { 464*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(false); 465*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 466*890232f2SAndroid Build Coastguard Worker fbb.AddDouble(0, 1.0); 467*890232f2SAndroid Build Coastguard Worker var endOffset = fbb.Offset; 468*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(sizeof(double), endOffset - storedOffset); 469*890232f2SAndroid Build Coastguard Worker } 470*890232f2SAndroid Build Coastguard Worker 471*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_Add_Array_Float()472*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_Add_Array_Float() 473*890232f2SAndroid Build Coastguard Worker { 474*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(false); 475*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 476*890232f2SAndroid Build Coastguard Worker 477*890232f2SAndroid Build Coastguard Worker const int len = 9; 478*890232f2SAndroid Build Coastguard Worker 479*890232f2SAndroid Build Coastguard Worker // Construct the data array 480*890232f2SAndroid Build Coastguard Worker var data = new float[len]; 481*890232f2SAndroid Build Coastguard Worker data[0] = 1.0079F; 482*890232f2SAndroid Build Coastguard Worker data[1] = 4.0026F; 483*890232f2SAndroid Build Coastguard Worker data[2] = 6.941F; 484*890232f2SAndroid Build Coastguard Worker data[3] = 9.0122F; 485*890232f2SAndroid Build Coastguard Worker data[4] = 10.811F; 486*890232f2SAndroid Build Coastguard Worker data[5] = 12.0107F; 487*890232f2SAndroid Build Coastguard Worker data[6] = 14.0067F; 488*890232f2SAndroid Build Coastguard Worker data[7] = 15.9994F; 489*890232f2SAndroid Build Coastguard Worker data[8] = 18.9984F; 490*890232f2SAndroid Build Coastguard Worker 491*890232f2SAndroid Build Coastguard Worker fbb.Add(data); 492*890232f2SAndroid Build Coastguard Worker var endOffset = fbb.Offset; 493*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(endOffset, storedOffset + sizeof(float) * data.Length); 494*890232f2SAndroid Build Coastguard Worker } 495*890232f2SAndroid Build Coastguard Worker 496*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_Add_Array_Bool()497*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_Add_Array_Bool() 498*890232f2SAndroid Build Coastguard Worker { 499*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(false); 500*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 501*890232f2SAndroid Build Coastguard Worker 502*890232f2SAndroid Build Coastguard Worker const int len = 9; 503*890232f2SAndroid Build Coastguard Worker 504*890232f2SAndroid Build Coastguard Worker // Construct the data array 505*890232f2SAndroid Build Coastguard Worker var data = new bool[len]; 506*890232f2SAndroid Build Coastguard Worker data[0] = true; 507*890232f2SAndroid Build Coastguard Worker data[1] = true; 508*890232f2SAndroid Build Coastguard Worker data[2] = false; 509*890232f2SAndroid Build Coastguard Worker data[3] = true; 510*890232f2SAndroid Build Coastguard Worker data[4] = false; 511*890232f2SAndroid Build Coastguard Worker data[5] = true; 512*890232f2SAndroid Build Coastguard Worker data[6] = true; 513*890232f2SAndroid Build Coastguard Worker data[7] = true; 514*890232f2SAndroid Build Coastguard Worker data[8] = false; 515*890232f2SAndroid Build Coastguard Worker 516*890232f2SAndroid Build Coastguard Worker fbb.Add(data); 517*890232f2SAndroid Build Coastguard Worker var endOffset = fbb.Offset; 518*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(endOffset, storedOffset + sizeof(bool) * data.Length); 519*890232f2SAndroid Build Coastguard Worker } 520*890232f2SAndroid Build Coastguard Worker 521*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_Add_Array_Double()522*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_Add_Array_Double() 523*890232f2SAndroid Build Coastguard Worker { 524*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(false); 525*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 526*890232f2SAndroid Build Coastguard Worker 527*890232f2SAndroid Build Coastguard Worker const int len = 9; 528*890232f2SAndroid Build Coastguard Worker 529*890232f2SAndroid Build Coastguard Worker // Construct the data array 530*890232f2SAndroid Build Coastguard Worker var data = new double[len]; 531*890232f2SAndroid Build Coastguard Worker data[0] = 1.0079; 532*890232f2SAndroid Build Coastguard Worker data[1] = 4.0026; 533*890232f2SAndroid Build Coastguard Worker data[2] = 6.941; 534*890232f2SAndroid Build Coastguard Worker data[3] = 9.0122; 535*890232f2SAndroid Build Coastguard Worker data[4] = 10.811; 536*890232f2SAndroid Build Coastguard Worker data[5] = 12.0107; 537*890232f2SAndroid Build Coastguard Worker data[6] = 14.0067; 538*890232f2SAndroid Build Coastguard Worker data[7] = 15.9994; 539*890232f2SAndroid Build Coastguard Worker data[8] = 18.9984; 540*890232f2SAndroid Build Coastguard Worker 541*890232f2SAndroid Build Coastguard Worker fbb.Add(data); 542*890232f2SAndroid Build Coastguard Worker var endOffset = fbb.Offset; 543*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(endOffset, storedOffset + sizeof(double) * data.Length); 544*890232f2SAndroid Build Coastguard Worker } 545*890232f2SAndroid Build Coastguard Worker 546*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_Add_Array_Null_Throws()547*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_Add_Array_Null_Throws() 548*890232f2SAndroid Build Coastguard Worker { 549*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(false); 550*890232f2SAndroid Build Coastguard Worker 551*890232f2SAndroid Build Coastguard Worker // Construct the data array 552*890232f2SAndroid Build Coastguard Worker float[] data = null; 553*890232f2SAndroid Build Coastguard Worker 554*890232f2SAndroid Build Coastguard Worker Assert.Throws<ArgumentNullException>(() => fbb.Add(data)); 555*890232f2SAndroid Build Coastguard Worker } 556*890232f2SAndroid Build Coastguard Worker 557*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_Add_Array_UnsupportedType_Throws()558*890232f2SAndroid Build Coastguard Worker public unsafe void FlatBufferBuilder_Add_Array_UnsupportedType_Throws() 559*890232f2SAndroid Build Coastguard Worker { 560*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(false); 561*890232f2SAndroid Build Coastguard Worker 562*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 563*890232f2SAndroid Build Coastguard Worker 564*890232f2SAndroid Build Coastguard Worker // Construct the data array 565*890232f2SAndroid Build Coastguard Worker var data = new DummyStruct[10]; 566*890232f2SAndroid Build Coastguard Worker Assert.Throws<ArgumentException>(() => fbb.Add(data)); 567*890232f2SAndroid Build Coastguard Worker } 568*890232f2SAndroid Build Coastguard Worker 569*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_Add_Array_Empty_Noop()570*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_Add_Array_Empty_Noop() 571*890232f2SAndroid Build Coastguard Worker { 572*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(false); 573*890232f2SAndroid Build Coastguard Worker 574*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 575*890232f2SAndroid Build Coastguard Worker 576*890232f2SAndroid Build Coastguard Worker // Construct an empty data array 577*890232f2SAndroid Build Coastguard Worker float[] data = new float[0]; 578*890232f2SAndroid Build Coastguard Worker fbb.Add(data); 579*890232f2SAndroid Build Coastguard Worker 580*890232f2SAndroid Build Coastguard Worker // Make sure the offset didn't change since nothing 581*890232f2SAndroid Build Coastguard Worker // was really added 582*890232f2SAndroid Build Coastguard Worker var endOffset = fbb.Offset; 583*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(endOffset, storedOffset); 584*890232f2SAndroid Build Coastguard Worker } 585*890232f2SAndroid Build Coastguard Worker 586*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_Add_ArraySegment_Default_Throws()587*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_Add_ArraySegment_Default_Throws() 588*890232f2SAndroid Build Coastguard Worker { 589*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(false); 590*890232f2SAndroid Build Coastguard Worker 591*890232f2SAndroid Build Coastguard Worker // Construct the data array 592*890232f2SAndroid Build Coastguard Worker ArraySegment<float> data = default; 593*890232f2SAndroid Build Coastguard Worker 594*890232f2SAndroid Build Coastguard Worker Assert.Throws<ArgumentNullException>(() => fbb.Add(data)); 595*890232f2SAndroid Build Coastguard Worker } 596*890232f2SAndroid Build Coastguard Worker 597*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_Add_ArraySegment_UnsupportedType_Throws()598*890232f2SAndroid Build Coastguard Worker public unsafe void FlatBufferBuilder_Add_ArraySegment_UnsupportedType_Throws() 599*890232f2SAndroid Build Coastguard Worker { 600*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(false); 601*890232f2SAndroid Build Coastguard Worker 602*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 603*890232f2SAndroid Build Coastguard Worker 604*890232f2SAndroid Build Coastguard Worker // Construct the data array 605*890232f2SAndroid Build Coastguard Worker var array = new DummyStruct[10]; 606*890232f2SAndroid Build Coastguard Worker var data = new ArraySegment<DummyStruct>(array); 607*890232f2SAndroid Build Coastguard Worker Assert.Throws<ArgumentException>(() => fbb.Add(data)); 608*890232f2SAndroid Build Coastguard Worker } 609*890232f2SAndroid Build Coastguard Worker 610*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_Add_ArraySegment_Empty_Noop()611*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_Add_ArraySegment_Empty_Noop() 612*890232f2SAndroid Build Coastguard Worker { 613*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(false); 614*890232f2SAndroid Build Coastguard Worker 615*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 616*890232f2SAndroid Build Coastguard Worker 617*890232f2SAndroid Build Coastguard Worker // Construct the data array 618*890232f2SAndroid Build Coastguard Worker var array = new float[10]; 619*890232f2SAndroid Build Coastguard Worker var data = new ArraySegment<float>(array, 5, 0); 620*890232f2SAndroid Build Coastguard Worker fbb.Add(data); 621*890232f2SAndroid Build Coastguard Worker 622*890232f2SAndroid Build Coastguard Worker // Make sure the offset didn't change since nothing 623*890232f2SAndroid Build Coastguard Worker // was really added 624*890232f2SAndroid Build Coastguard Worker var endOffset = fbb.Offset; 625*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(endOffset, storedOffset); 626*890232f2SAndroid Build Coastguard Worker } 627*890232f2SAndroid Build Coastguard Worker 628*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_Add_IntPtr_Zero_Throws()629*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_Add_IntPtr_Zero_Throws() 630*890232f2SAndroid Build Coastguard Worker { 631*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(false); 632*890232f2SAndroid Build Coastguard Worker 633*890232f2SAndroid Build Coastguard Worker // Construct the data array 634*890232f2SAndroid Build Coastguard Worker var data = IntPtr.Zero; 635*890232f2SAndroid Build Coastguard Worker var length = 100; 636*890232f2SAndroid Build Coastguard Worker 637*890232f2SAndroid Build Coastguard Worker Assert.Throws<ArgumentNullException>(() => fbb.Add<float>(data, length)); 638*890232f2SAndroid Build Coastguard Worker } 639*890232f2SAndroid Build Coastguard Worker 640*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_Add_IntPtr_SizeNegative_Throws()641*890232f2SAndroid Build Coastguard Worker public unsafe void FlatBufferBuilder_Add_IntPtr_SizeNegative_Throws() 642*890232f2SAndroid Build Coastguard Worker { 643*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(false); 644*890232f2SAndroid Build Coastguard Worker 645*890232f2SAndroid Build Coastguard Worker // Construct the data array 646*890232f2SAndroid Build Coastguard Worker var array = new float[10]; 647*890232f2SAndroid Build Coastguard Worker fixed(float* ptr = array) 648*890232f2SAndroid Build Coastguard Worker { 649*890232f2SAndroid Build Coastguard Worker var data = (IntPtr)ptr; 650*890232f2SAndroid Build Coastguard Worker var length = -1; 651*890232f2SAndroid Build Coastguard Worker Assert.Throws<ArgumentOutOfRangeException>(() => fbb.Add<float>(data, length)); 652*890232f2SAndroid Build Coastguard Worker } 653*890232f2SAndroid Build Coastguard Worker } 654*890232f2SAndroid Build Coastguard Worker 655*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_Add_IntPtr_Zero_Empty_Noop()656*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_Add_IntPtr_Zero_Empty_Noop() 657*890232f2SAndroid Build Coastguard Worker { 658*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(false); 659*890232f2SAndroid Build Coastguard Worker 660*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 661*890232f2SAndroid Build Coastguard Worker 662*890232f2SAndroid Build Coastguard Worker // Construct the data array 663*890232f2SAndroid Build Coastguard Worker var data = IntPtr.Zero; 664*890232f2SAndroid Build Coastguard Worker var length = 0; 665*890232f2SAndroid Build Coastguard Worker 666*890232f2SAndroid Build Coastguard Worker fbb.Add<float>(data, length); 667*890232f2SAndroid Build Coastguard Worker 668*890232f2SAndroid Build Coastguard Worker // make sure that a length of 0 doesn't throw also if ptr is Zero as well 669*890232f2SAndroid Build Coastguard Worker // and that nothing was really added 670*890232f2SAndroid Build Coastguard Worker var endOffset = fbb.Offset; 671*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(endOffset, storedOffset); 672*890232f2SAndroid Build Coastguard Worker } 673*890232f2SAndroid Build Coastguard Worker 674*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_Add_IntPtr_Empty_Noop()675*890232f2SAndroid Build Coastguard Worker public unsafe void FlatBufferBuilder_Add_IntPtr_Empty_Noop() 676*890232f2SAndroid Build Coastguard Worker { 677*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(false); 678*890232f2SAndroid Build Coastguard Worker 679*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 680*890232f2SAndroid Build Coastguard Worker 681*890232f2SAndroid Build Coastguard Worker // Construct the data array 682*890232f2SAndroid Build Coastguard Worker var array = new float[10]; 683*890232f2SAndroid Build Coastguard Worker fixed(float* ptr = array) 684*890232f2SAndroid Build Coastguard Worker { 685*890232f2SAndroid Build Coastguard Worker var data = (IntPtr)ptr; 686*890232f2SAndroid Build Coastguard Worker var length = 0; 687*890232f2SAndroid Build Coastguard Worker fbb.Add<float>(data, length); 688*890232f2SAndroid Build Coastguard Worker } 689*890232f2SAndroid Build Coastguard Worker 690*890232f2SAndroid Build Coastguard Worker // Make sure the offset didn't change since nothing 691*890232f2SAndroid Build Coastguard Worker // was really added 692*890232f2SAndroid Build Coastguard Worker var endOffset = fbb.Offset; 693*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(endOffset, storedOffset); 694*890232f2SAndroid Build Coastguard Worker } 695*890232f2SAndroid Build Coastguard Worker 696*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_Add_IntPtr_SizeInBytesNotMatchingDataType_Throws()697*890232f2SAndroid Build Coastguard Worker public unsafe void FlatBufferBuilder_Add_IntPtr_SizeInBytesNotMatchingDataType_Throws() 698*890232f2SAndroid Build Coastguard Worker { 699*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(false); 700*890232f2SAndroid Build Coastguard Worker 701*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 702*890232f2SAndroid Build Coastguard Worker 703*890232f2SAndroid Build Coastguard Worker // Construct the data array 704*890232f2SAndroid Build Coastguard Worker var array = new float[10]; 705*890232f2SAndroid Build Coastguard Worker fixed(float* ptr = array) 706*890232f2SAndroid Build Coastguard Worker { 707*890232f2SAndroid Build Coastguard Worker const int invalidBytes = 1; 708*890232f2SAndroid Build Coastguard Worker var data = (IntPtr)ptr; 709*890232f2SAndroid Build Coastguard Worker // add some invalid bytes to the length 710*890232f2SAndroid Build Coastguard Worker var length = 2 * sizeof(float) + invalidBytes; 711*890232f2SAndroid Build Coastguard Worker 712*890232f2SAndroid Build Coastguard Worker Assert.Throws<ArgumentException>(() => fbb.Add<float>(data, length)); 713*890232f2SAndroid Build Coastguard Worker } 714*890232f2SAndroid Build Coastguard Worker } 715*890232f2SAndroid Build Coastguard Worker 716*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_Add_IntPtr_UnsupportedType_Throws()717*890232f2SAndroid Build Coastguard Worker public unsafe void FlatBufferBuilder_Add_IntPtr_UnsupportedType_Throws() 718*890232f2SAndroid Build Coastguard Worker { 719*890232f2SAndroid Build Coastguard Worker var fbb = CreateBuffer(false); 720*890232f2SAndroid Build Coastguard Worker 721*890232f2SAndroid Build Coastguard Worker var storedOffset = fbb.Offset; 722*890232f2SAndroid Build Coastguard Worker 723*890232f2SAndroid Build Coastguard Worker // Construct the data array 724*890232f2SAndroid Build Coastguard Worker var array = new DummyStruct[10]; 725*890232f2SAndroid Build Coastguard Worker fixed(DummyStruct* ptr = array) 726*890232f2SAndroid Build Coastguard Worker { 727*890232f2SAndroid Build Coastguard Worker var data = (IntPtr)ptr; 728*890232f2SAndroid Build Coastguard Worker var length = 10 * sizeof(DummyStruct); 729*890232f2SAndroid Build Coastguard Worker 730*890232f2SAndroid Build Coastguard Worker Assert.Throws<ArgumentException>(() => fbb.Add<DummyStruct>(data, length)); 731*890232f2SAndroid Build Coastguard Worker } 732*890232f2SAndroid Build Coastguard Worker } 733*890232f2SAndroid Build Coastguard Worker 734*890232f2SAndroid Build Coastguard Worker private struct DummyStruct 735*890232f2SAndroid Build Coastguard Worker { 736*890232f2SAndroid Build Coastguard Worker int value; 737*890232f2SAndroid Build Coastguard Worker } 738*890232f2SAndroid Build Coastguard Worker 739*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_Add_null_String()740*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_Add_null_String() 741*890232f2SAndroid Build Coastguard Worker { 742*890232f2SAndroid Build Coastguard Worker var fbb = new FlatBufferBuilder(16); 743*890232f2SAndroid Build Coastguard Worker string s = null; 744*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(fbb.CreateSharedString(s).Value, 0); 745*890232f2SAndroid Build Coastguard Worker Assert.AreEqual(fbb.CreateString(s).Value, 0); 746*890232f2SAndroid Build Coastguard Worker } 747*890232f2SAndroid Build Coastguard Worker 748*890232f2SAndroid Build Coastguard Worker [FlatBuffersTestMethod] FlatBufferBuilder_Empty_Builder()749*890232f2SAndroid Build Coastguard Worker public void FlatBufferBuilder_Empty_Builder() 750*890232f2SAndroid Build Coastguard Worker { 751*890232f2SAndroid Build Coastguard Worker var fbb = new FlatBufferBuilder(16); 752*890232f2SAndroid Build Coastguard Worker var str = "Hello"; 753*890232f2SAndroid Build Coastguard Worker var flatbuffer = "Flatbuffers!"; 754*890232f2SAndroid Build Coastguard Worker var strOffset = fbb.CreateSharedString(str); 755*890232f2SAndroid Build Coastguard Worker var flatbufferOffset = fbb.CreateSharedString(flatbuffer); 756*890232f2SAndroid Build Coastguard Worker fbb.Clear(); 757*890232f2SAndroid Build Coastguard Worker var flatbufferOffset2 = fbb.CreateSharedString(flatbuffer); 758*890232f2SAndroid Build Coastguard Worker var strOffset2 = fbb.CreateSharedString(str); 759*890232f2SAndroid Build Coastguard Worker Assert.IsFalse(strOffset.Value == strOffset2.Value); 760*890232f2SAndroid Build Coastguard Worker Assert.IsFalse(flatbufferOffset.Value == flatbufferOffset2.Value); 761*890232f2SAndroid Build Coastguard Worker } 762*890232f2SAndroid Build Coastguard Worker } 763*890232f2SAndroid Build Coastguard Worker } 764