mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-28 23:30:01 +00:00
Ported some of the python fuzz tests to C#
* Refactored the test runner to use attribute based test discovery * Ported value and vtable/object fuzzing tests from python to C#
This commit is contained in:
@@ -18,9 +18,11 @@ using System;
|
||||
|
||||
namespace FlatBuffers.Test
|
||||
{
|
||||
[FlatBuffersTestClass]
|
||||
public class ByteBufferTests
|
||||
{
|
||||
|
||||
[FlatBuffersTestMethod]
|
||||
public void ByteBuffer_Length_MatchesBufferLength()
|
||||
{
|
||||
var buffer = new byte[1000];
|
||||
@@ -28,6 +30,7 @@ namespace FlatBuffers.Test
|
||||
Assert.AreEqual(buffer.Length, uut.Length);
|
||||
}
|
||||
|
||||
[FlatBuffersTestMethod]
|
||||
public void ByteBuffer_PutBytePopulatesBufferAtZeroOffset()
|
||||
{
|
||||
var buffer = new byte[1];
|
||||
@@ -37,6 +40,7 @@ namespace FlatBuffers.Test
|
||||
Assert.AreEqual((byte)99, buffer[0]);
|
||||
}
|
||||
|
||||
[FlatBuffersTestMethod]
|
||||
public void ByteBuffer_PutByteCannotPutAtOffsetPastLength()
|
||||
{
|
||||
var buffer = new byte[1];
|
||||
@@ -44,6 +48,7 @@ namespace FlatBuffers.Test
|
||||
Assert.Throws<ArgumentOutOfRangeException>(() => uut.PutByte(1, 99));
|
||||
}
|
||||
|
||||
[FlatBuffersTestMethod]
|
||||
public void ByteBuffer_PutShortPopulatesBufferCorrectly()
|
||||
{
|
||||
var buffer = new byte[2];
|
||||
@@ -55,6 +60,7 @@ namespace FlatBuffers.Test
|
||||
Assert.AreEqual((byte)0, buffer[1]);
|
||||
}
|
||||
|
||||
[FlatBuffersTestMethod]
|
||||
public void ByteBuffer_PutShortCannotPutAtOffsetPastLength()
|
||||
{
|
||||
var buffer = new byte[2];
|
||||
@@ -62,6 +68,7 @@ namespace FlatBuffers.Test
|
||||
Assert.Throws<ArgumentOutOfRangeException>(() => uut.PutShort(2, 99));
|
||||
}
|
||||
|
||||
[FlatBuffersTestMethod]
|
||||
public void ByteBuffer_PutShortChecksLength()
|
||||
{
|
||||
var buffer = new byte[1];
|
||||
@@ -69,6 +76,7 @@ namespace FlatBuffers.Test
|
||||
Assert.Throws<ArgumentOutOfRangeException>(() => uut.PutShort(0, 99));
|
||||
}
|
||||
|
||||
[FlatBuffersTestMethod]
|
||||
public void ByteBuffer_PutShortChecksLengthAndOffset()
|
||||
{
|
||||
var buffer = new byte[2];
|
||||
@@ -76,6 +84,7 @@ namespace FlatBuffers.Test
|
||||
Assert.Throws<ArgumentOutOfRangeException>(() => uut.PutShort(1, 99));
|
||||
}
|
||||
|
||||
[FlatBuffersTestMethod]
|
||||
public void ByteBuffer_PutIntPopulatesBufferCorrectly()
|
||||
{
|
||||
var buffer = new byte[4];
|
||||
@@ -89,6 +98,7 @@ namespace FlatBuffers.Test
|
||||
Assert.AreEqual(0x0A, buffer[3]);
|
||||
}
|
||||
|
||||
[FlatBuffersTestMethod]
|
||||
public void ByteBuffer_PutIntCannotPutAtOffsetPastLength()
|
||||
{
|
||||
var buffer = new byte[4];
|
||||
@@ -96,6 +106,7 @@ namespace FlatBuffers.Test
|
||||
Assert.Throws<ArgumentOutOfRangeException>(() => uut.PutInt(2, 0x0A0B0C0D));
|
||||
}
|
||||
|
||||
[FlatBuffersTestMethod]
|
||||
public void ByteBuffer_PutIntChecksLength()
|
||||
{
|
||||
var buffer = new byte[1];
|
||||
@@ -103,6 +114,7 @@ namespace FlatBuffers.Test
|
||||
Assert.Throws<ArgumentOutOfRangeException>(() => uut.PutInt(0, 0x0A0B0C0D));
|
||||
}
|
||||
|
||||
[FlatBuffersTestMethod]
|
||||
public void ByteBuffer_PutIntChecksLengthAndOffset()
|
||||
{
|
||||
var buffer = new byte[4];
|
||||
@@ -110,6 +122,7 @@ namespace FlatBuffers.Test
|
||||
Assert.Throws<ArgumentOutOfRangeException>(() => uut.PutInt(2, 0x0A0B0C0D));
|
||||
}
|
||||
|
||||
[FlatBuffersTestMethod]
|
||||
public void ByteBuffer_PutLongPopulatesBufferCorrectly()
|
||||
{
|
||||
var buffer = new byte[8];
|
||||
@@ -127,6 +140,7 @@ namespace FlatBuffers.Test
|
||||
Assert.AreEqual(0x01, buffer[7]);
|
||||
}
|
||||
|
||||
[FlatBuffersTestMethod]
|
||||
public void ByteBuffer_PutLongCannotPutAtOffsetPastLength()
|
||||
{
|
||||
var buffer = new byte[8];
|
||||
@@ -134,6 +148,7 @@ namespace FlatBuffers.Test
|
||||
Assert.Throws<ArgumentOutOfRangeException>(() => uut.PutLong(2, 0x010203040A0B0C0D));
|
||||
}
|
||||
|
||||
[FlatBuffersTestMethod]
|
||||
public void ByteBuffer_PutLongChecksLength()
|
||||
{
|
||||
var buffer = new byte[1];
|
||||
@@ -141,6 +156,7 @@ namespace FlatBuffers.Test
|
||||
Assert.Throws<ArgumentOutOfRangeException>(() => uut.PutLong(0, 0x010203040A0B0C0D));
|
||||
}
|
||||
|
||||
[FlatBuffersTestMethod]
|
||||
public void ByteBuffer_PutLongChecksLengthAndOffset()
|
||||
{
|
||||
var buffer = new byte[8];
|
||||
@@ -148,6 +164,7 @@ namespace FlatBuffers.Test
|
||||
Assert.Throws<ArgumentOutOfRangeException>(() => uut.PutLong(2, 0x010203040A0B0C0D));
|
||||
}
|
||||
|
||||
[FlatBuffersTestMethod]
|
||||
public void ByteBuffer_GetByteReturnsCorrectData()
|
||||
{
|
||||
var buffer = new byte[1];
|
||||
@@ -156,6 +173,7 @@ namespace FlatBuffers.Test
|
||||
Assert.AreEqual((byte)99, uut.Get(0));
|
||||
}
|
||||
|
||||
[FlatBuffersTestMethod]
|
||||
public void ByteBuffer_GetByteChecksOffset()
|
||||
{
|
||||
var buffer = new byte[1];
|
||||
@@ -163,6 +181,7 @@ namespace FlatBuffers.Test
|
||||
Assert.Throws<ArgumentOutOfRangeException>(()=>uut.Get(1));
|
||||
}
|
||||
|
||||
[FlatBuffersTestMethod]
|
||||
public void ByteBuffer_GetShortReturnsCorrectData()
|
||||
{
|
||||
var buffer = new byte[2];
|
||||
@@ -172,6 +191,7 @@ namespace FlatBuffers.Test
|
||||
Assert.AreEqual(1, uut.GetShort(0));
|
||||
}
|
||||
|
||||
[FlatBuffersTestMethod]
|
||||
public void ByteBuffer_GetShortChecksOffset()
|
||||
{
|
||||
var buffer = new byte[2];
|
||||
@@ -179,6 +199,7 @@ namespace FlatBuffers.Test
|
||||
Assert.Throws<ArgumentOutOfRangeException>(() => uut.GetShort(2));
|
||||
}
|
||||
|
||||
[FlatBuffersTestMethod]
|
||||
public void ByteBuffer_GetShortChecksLength()
|
||||
{
|
||||
var buffer = new byte[2];
|
||||
@@ -186,6 +207,7 @@ namespace FlatBuffers.Test
|
||||
Assert.Throws<ArgumentOutOfRangeException>(() => uut.GetShort(1));
|
||||
}
|
||||
|
||||
[FlatBuffersTestMethod]
|
||||
public void ByteBuffer_GetIntReturnsCorrectData()
|
||||
{
|
||||
var buffer = new byte[4];
|
||||
@@ -197,6 +219,7 @@ namespace FlatBuffers.Test
|
||||
Assert.AreEqual(0x0A0B0C0D, uut.GetInt(0));
|
||||
}
|
||||
|
||||
[FlatBuffersTestMethod]
|
||||
public void ByteBuffer_GetIntChecksOffset()
|
||||
{
|
||||
var buffer = new byte[4];
|
||||
@@ -204,6 +227,7 @@ namespace FlatBuffers.Test
|
||||
Assert.Throws<ArgumentOutOfRangeException>(() => uut.GetInt(4));
|
||||
}
|
||||
|
||||
[FlatBuffersTestMethod]
|
||||
public void ByteBuffer_GetIntChecksLength()
|
||||
{
|
||||
var buffer = new byte[2];
|
||||
@@ -211,6 +235,7 @@ namespace FlatBuffers.Test
|
||||
Assert.Throws<ArgumentOutOfRangeException>(() => uut.GetInt(0));
|
||||
}
|
||||
|
||||
[FlatBuffersTestMethod]
|
||||
public void ByteBuffer_GetLongReturnsCorrectData()
|
||||
{
|
||||
var buffer = new byte[8];
|
||||
@@ -226,6 +251,7 @@ namespace FlatBuffers.Test
|
||||
Assert.AreEqual(0x010203040A0B0C0D, uut.GetLong(0));
|
||||
}
|
||||
|
||||
[FlatBuffersTestMethod]
|
||||
public void ByteBuffer_GetLongChecksOffset()
|
||||
{
|
||||
var buffer = new byte[8];
|
||||
@@ -233,39 +259,44 @@ namespace FlatBuffers.Test
|
||||
Assert.Throws<ArgumentOutOfRangeException>(() => uut.GetLong(8));
|
||||
}
|
||||
|
||||
[FlatBuffersTestMethod]
|
||||
public void ByteBuffer_GetLongChecksLength()
|
||||
{
|
||||
var buffer = new byte[7];
|
||||
var uut = new ByteBuffer(buffer);
|
||||
Assert.Throws<ArgumentOutOfRangeException>(() => uut.GetLong(0));
|
||||
}
|
||||
|
||||
[FlatBuffersTestMethod]
|
||||
public void ByteBuffer_ReverseBytesUshort()
|
||||
{
|
||||
ushort original = (ushort)0x1234U;
|
||||
ushort reverse = ByteBuffer.ReverseBytes(original);
|
||||
const ushort original = (ushort)0x1234U;
|
||||
var reverse = ByteBuffer.ReverseBytes(original);
|
||||
Assert.AreEqual(0x3412U, reverse);
|
||||
|
||||
ushort rereverse = ByteBuffer.ReverseBytes(reverse);
|
||||
var rereverse = ByteBuffer.ReverseBytes(reverse);
|
||||
Assert.AreEqual(original, rereverse);
|
||||
}
|
||||
|
||||
[FlatBuffersTestMethod]
|
||||
public void ByteBuffer_ReverseBytesUint()
|
||||
{
|
||||
uint original = 0x12345678;
|
||||
uint reverse = ByteBuffer.ReverseBytes(original);
|
||||
const uint original = 0x12345678;
|
||||
var reverse = ByteBuffer.ReverseBytes(original);
|
||||
Assert.AreEqual(0x78563412U, reverse);
|
||||
|
||||
uint rereverse = ByteBuffer.ReverseBytes(reverse);
|
||||
var rereverse = ByteBuffer.ReverseBytes(reverse);
|
||||
Assert.AreEqual(original, rereverse);
|
||||
}
|
||||
|
||||
[FlatBuffersTestMethod]
|
||||
public void ByteBuffer_ReverseBytesUlong()
|
||||
{
|
||||
ulong original = 0x1234567890ABCDEFUL;
|
||||
ulong reverse = ByteBuffer.ReverseBytes(original);
|
||||
const ulong original = 0x1234567890ABCDEFUL;
|
||||
var reverse = ByteBuffer.ReverseBytes(original);
|
||||
Assert.AreEqual(0xEFCDAB9078563412UL, reverse);
|
||||
|
||||
ulong rereverse = ByteBuffer.ReverseBytes(reverse);
|
||||
var rereverse = ByteBuffer.ReverseBytes(reverse);
|
||||
Assert.AreEqual(original, rereverse);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user