Desync tools #159
Merged
Desync tools #159
GitHub Actions / Test Report
succeeded
Apr 15, 2026 in 1s
Test Report ✔️
✔️ tests/Backdash.Tests/TestResults/test_result.xml
408 tests were completed in 8s with 406 passed, 0 failed and 2 skipped.
✔️ Backdash.Tests.Specs.Integration.Network.PeerClientTests
✖️ ShouldProcessConcurrent
✔️ ShouldSend
✔️ ShouldSendAndReceive
✖️ ShouldSendReceiveBetween
✔️ Backdash.Tests.Specs.Unit.Core.MathITests
✔️ ShouldAvgArrayOfInt
✔️ ShouldRawSumArrayOfInt
✔️ ShouldRawSumArrayOfUInt
✔️ ShouldSumArrayOfInt
✔️ ShouldSumArrayOfUInt
✔️ Backdash.Tests.Specs.Unit.Data.ByteSizeJsonSerializationTests
✔️ ShouldDeserialize
✔️ ShouldSerialize
✔️ Backdash.Tests.Specs.Unit.Data.ChecksumJsonSerializationTests
✔️ ShouldDeserialize
✔️ ShouldSerialize
✔️ Backdash.Tests.Specs.Unit.Data.CircularBufferJsonSerializationTests
✔️ ShouldDeserialize
✔️ ShouldSerialize
✔️ Backdash.Tests.Specs.Unit.Data.CircularBufferTests
✔️ ShouldAddNewItemAfterGetResetSpan
✔️ ShouldAddOneItem
✔️ ShouldAddOneMultipleItems
✔️ ShouldAddTwoItems
✔️ ShouldAdvance
✔️ ShouldAdvanceLast
✔️ ShouldAdvanceMany
✔️ ShouldAdvanceManyLast
✔️ ShouldAdvanceNegative
✔️ ShouldAdvanceNegativeMany
✔️ ShouldBeEqualByValues
✔️ ShouldCopyToLargeSpan
✔️ ShouldCopyToSpan
✔️ ShouldCopyToThrowWhenShortSpan
✔️ ShouldDiscardAll
✔️ ShouldDiscardLastItems
✔️ ShouldDiscardMany
✔️ ShouldDropOneItem
✔️ ShouldGetSpanAfterDrop
✔️ ShouldGetSpanAfterFullReplace
✔️ ShouldGetSpanAfterFullReplacePlusOne
✔️ ShouldGetSpanAfterReplace
✔️ ShouldGetSpanAndResetValues
✔️ ShouldGetSpanAndResetZero
✔️ ShouldGetSpanLinearFull
✔️ ShouldGetSpanLinearWithSpace
✔️ ShouldHardClearBuffer
✔️ ShouldHaveSameHashCode
✔️ ShouldHaveToString
✔️ ShouldNotOverrideDrop
✔️ ShouldPeekLast
✔️ ShouldPushDropFirstItemWhenFull
✔️ ShouldPushDropFirstTwoItemsWhenFull
✔️ ShouldReplaceAllValuesWhenFull
✔️ ShouldReplaceAlmostAllValuesWhenFull
✔️ ShouldSoftClearBuffer
✔️ ShouldStartEmpty
✔️ ShouldThrownWhenPopEmptyBuffer
✔️ ShouldTryPopBuffer
✔️ ShouldTryPopEmptyBuffer
✔️ ShouldUnsafePeekLast
✔️ Backdash.Tests.Specs.Unit.Data.FrameJsonSerializationTests
✔️ ShouldDeserialize
✔️ ShouldSerialize
✔️ Backdash.Tests.Specs.Unit.Data.FrameRangeJsonSerializationTests
✔️ ShouldDeserialize
✔️ ShouldSerialize
✔️ Backdash.Tests.Specs.Unit.Data.FrameSpanJsonSerializationTests
✔️ ShouldDeserialize
✔️ ShouldSerialize
✔️ Backdash.Tests.Specs.Unit.Network.MessageSerializationTests
✔️ ConnectStatusSerialize
✔️ ConsistencyCheckFailSerialize
✔️ ConsistencyCheckReplySerialize
✔️ ConsistencyCheckRequestSerialize
✔️ HeaderSerialize
✔️ InputAckSerialize
✔️ InputMsgSerialize
✔️ QualityReplySerialize
✔️ QualityReportSerialize
✔️ SyncReplySerialize
✔️ SyncRequestSerialize
✔️ Backdash.Tests.Specs.Unit.Network.Protocol.ProtocolInputBufferTests
✔️ ShouldCompressMultipleBufferedInputs
✔️ ShouldHandleWhenMaxInputSizeReached
✔️ ShouldSendSingleInput
✔️ ShouldSkipAckedInputs
✔️ ValidateTestSampleSerialization
✔️ Backdash.Tests.Specs.Unit.Network.Protocol.ProtocolMessageTests
✔️ SerializationAndDeserialization
✔️ Backdash.Tests.Specs.Unit.Serialization.BinaryBufferReadWriteListTests
✔️ CircularBufferOfSerializableObjects
✔️ ListOfBooleans
✔️ ListOfByte
✔️ ListOfChars
✔️ ListOfDateOnly
✔️ ListOfDateTime
✔️ ListOfDateTimeOffset
✔️ ListOfFrame
✔️ ListOfGuids
✔️ ListOfInt
✔️ ListOfInt128
✔️ ListOfLong
✔️ ListOfSByte
✔️ ListOfSerializableClass
✔️ ListOfSerializableStruct
✔️ ListOfShort
✔️ ListOfTimeOnly
✔️ ListOfTimeSpans
✔️ ListOfUInt
✔️ ListOfUInt128
✔️ ListOfULong
✔️ ListOfUnmanagedStruct
✔️ ListOfUShort
✔️ ListOfUtf8Char
✔️ ShouldRentClassFromPoolWhenExpandEmptyList
✔️ ShouldRentedClassFromPoolWhenExpandInitializedList
✔️ ShouldReturnRentedClassFromPoolWhenExpandInitializedList
✔️ Backdash.Tests.Specs.Unit.Serialization.BinaryBufferReadWriteListTests+CastingAsTests
✔️ ListOfByte
✔️ ListOfInt128
✔️ ListOfInt16
✔️ ListOfInt32
✔️ ListOfInt64
✔️ ListOfSByte
✔️ ListOfUInt128
✔️ ListOfUInt16
✔️ ListOfUInt32
✔️ ListOfUInt64
✔️ Backdash.Tests.Specs.Unit.Serialization.BinaryBufferReadWriteNullableValues
✔️ SerializableValueType
✔️ TestBool
✔️ TestByte
✔️ TestChar
✔️ TestDateOnly
✔️ TestDateTime
✔️ TestDateTimeOffset
✔️ TestDouble
✔️ TestFloat
✔️ TestFrame
✔️ TestGuid
✔️ TestHalf
✔️ TestInt
✔️ TestInt128
✔️ TestIntU128
✔️ TestLong
✔️ TestQuaternion
✔️ TestSByte
✔️ TestShort
✔️ TestTimeOnly
✔️ TestTimeSpan
✔️ TestUInt
✔️ TestULong
✔️ TestUShort
✔️ TestVector2
✔️ TestVector3
✔️ TestVector4
✔️ UnmanagedStruct
✔️ Backdash.Tests.Specs.Unit.Serialization.BinaryBufferReadWriteNullableValues+BinaryIntegerTests
✔️ TestByte
✔️ TestInt
✔️ TestInt128
✔️ TestLong
✔️ TestSByte
✔️ TestShort
✔️ TestUInt
✔️ TestUInt128
✔️ TestULong
✔️ TestUShort
✔️ Backdash.Tests.Specs.Unit.Serialization.BinaryBufferReadWriteNullableValues+CastingAsTests
✔️ TestByte
✔️ TestInt128
✔️ TestInt16
✔️ TestInt32
✔️ TestInt64
✔️ TestSByte
✔️ TestUInt128
✔️ TestUInt16
✔️ TestUInt32
✔️ TestUInt64
✔️ Backdash.Tests.Specs.Unit.Serialization.BinaryBufferReadWriteNullableValues+NullableRefTests
✔️ TestBool
✔️ TestByte
✔️ TestChar
✔️ TestDateOnly
✔️ TestDateTime
✔️ TestDateTimeOffset
✔️ TestDouble
✔️ TestFloat
✔️ TestFrame
✔️ TestGuid
✔️ TestHalf
✔️ TestInt
✔️ TestInt128
✔️ TestIntU128
✔️ TestLong
✔️ TestQuaternion
✔️ TestSByte
✔️ TestShort
✔️ TestTimeOnly
✔️ TestTimeSpan
✔️ TestUInt
✔️ TestULong
✔️ TestUShort
✔️ TestVector2
✔️ TestVector3
✔️ TestVector4
✔️ UnmanagedStruct
✔️ Backdash.Tests.Specs.Unit.Serialization.BinaryBufferReadWriteSpanTests
✔️ SpanOfBooleans
✔️ SpanOfByte
✔️ SpanOfChars
✔️ SpanOfDateOnly
✔️ SpanOfDateTime
✔️ SpanOfDateTimeOffset
✔️ SpanOfDouble
✔️ SpanOfFloat
✔️ SpanOfFrame
✔️ SpanOfGuids
✔️ SpanOfHalf
✔️ SpanOfInt
✔️ SpanOfInt128
✔️ SpanOfLong
✔️ SpanOfSByte
✔️ SpanOfSerializableObjects
✔️ SpanOfShort
✔️ SpanOfTimeOnly
✔️ SpanOfTimeSpans
✔️ SpanOfUInt
✔️ SpanOfUInt128
✔️ SpanOfULong
✔️ SpanOfUnmanagedStruct
✔️ SpanOfUShort
✔️ SpanOfUtf8
✔️ SpanOfUtf8Bytes
✔️ String
✔️ StringBuilder
✔️ Backdash.Tests.Specs.Unit.Serialization.BinaryBufferReadWriteSpanTests+CastingAsTests
✔️ SpanOfByte
✔️ SpanOfInt128
✔️ SpanOfInt16
✔️ SpanOfInt32
✔️ SpanOfInt64
✔️ SpanOfSByte
✔️ SpanOfUInt128
✔️ SpanOfUInt16
✔️ SpanOfUInt32
✔️ SpanOfUInt64
✔️ Backdash.Tests.Specs.Unit.Serialization.BinaryBufferReadWriteValueTests
✔️ SerializableNullableObject
✔️ SerializableNullableObjectShouldUsePool
✔️ SerializableNullableObjectToNullRef
✔️ SerializableNullableObjectToObject
✔️ SerializableObject
✔️ SerializableValueType
✔️ TestBool
✔️ TestByte
✔️ TestChar
✔️ TestDateOnly
✔️ TestDateTime
✔️ TestDateTimeOffset
✔️ TestDouble
✔️ TestFloat
✔️ TestFrame
✔️ TestGuid
✔️ TestHalf
✔️ TestInt
✔️ TestInt128
✔️ TestIntU128
✔️ TestLong
✔️ TestQuaternion
✔️ TestQuaternionRef
✔️ TestSByte
✔️ TestShort
✔️ TestTimeOnly
✔️ TestTimeSpan
✔️ TestUInt
✔️ TestULong
✔️ TestUShort
✔️ TestVector2
✔️ TestVector2Ref
✔️ TestVector3
✔️ TestVector3Ref
✔️ TestVector4
✔️ TestVector4Ref
✔️ UnmanagedStruct
✔️ UnmanagedStructRef
✔️ Backdash.Tests.Specs.Unit.Serialization.BinaryBufferReadWriteValueTests+BinaryIntegerTests
✔️ TestByte
✔️ TestInt
✔️ TestInt128
✔️ TestLong
✔️ TestSByte
✔️ TestShort
✔️ TestUInt
✔️ TestUInt128
✔️ TestULong
✔️ TestUShort
✔️ Backdash.Tests.Specs.Unit.Serialization.BinaryBufferReadWriteValueTests+CastingAsTests
✔️ TestByte
✔️ TestInt128
✔️ TestInt16
✔️ TestInt32
✔️ TestInt64
✔️ TestSByte
✔️ TestUInt128
✔️ TestUInt16
✔️ TestUInt32
✔️ TestUInt64
✔️ Backdash.Tests.Specs.Unit.Serialization.BinarySpanReadWriteSpanTests
✔️ SpanOBooleans
✔️ SpanOfByte
✔️ SpanOfChars
✔️ SpanOfInt
✔️ SpanOfInt128
✔️ SpanOfLong
✔️ SpanOfSByte
✔️ SpanOfShort
✔️ SpanOfUInt
✔️ SpanOfUInt128
✔️ SpanOfULong
✔️ SpanOfUnmanagedStruct
✔️ SpanOfUShort
✔️ SpanOfUtf8
✔️ SpanOfUtf8Bytes
✔️ Backdash.Tests.Specs.Unit.Serialization.BinarySpanReadWriteValueTests
✔️ TestBool
✔️ TestByte
✔️ TestChar
✔️ TestDateOnly
✔️ TestDateTime
✔️ TestDateTimeOffset
✔️ TestDouble
✔️ TestFloat
✔️ TestFrame
✔️ TestGuid
✔️ TestHalf
✔️ TestInt
✔️ TestInt128
✔️ TestIntU128
✔️ TestLong
✔️ TestQuaternion
✔️ TestSByte
✔️ TestShort
✔️ TestTimeSpan
✔️ TestUInt
✔️ TestULong
✔️ TestUShort
✔️ TestVector2
✔️ TestVector3
✔️ TestVector4
✔️ UnmanagedStruct
✔️ Backdash.Tests.Specs.Unit.Serialization.BinarySpanReadWriteValueTests+ReadWriteBinaryIntegerTests
✔️ TestByte
✔️ TestInt
✔️ TestLong
✔️ TestSByte
✔️ TestShort
✔️ TestUInt
✔️ TestULong
✔️ TestUShort
✔️ Backdash.Tests.Specs.Unit.Serialization.CheckSumTests
✔️ ShouldCalculateOddBytesPaddingZero
✔️ TestOddByteArray
✔️ Backdash.Tests.Specs.Unit.Serialization.Encoding.DeltaXorRleTests
✔️ ShouldCompressAndDecompressSample
✔️ ShouldCompressedBeLessThenUncompressed
✔️ Backdash.Tests.Specs.Unit.Serialization.GeneratorTests
✔️ ShouldSerializeDeserialize
✔️ Backdash.Tests.Specs.Unit.Serialization.PadInputsSerializerTest
✔️ ShouldSerializeAndDeserialize
✔️ Backdash.Tests.Specs.Unit.Serialization.SerializersTests
✔️ AssertSerializerByte
✔️ AssertSerializerByteEnum
✔️ AssertSerializerInt
✔️ AssertSerializerInt128
✔️ AssertSerializerIntEnum
✔️ AssertSerializerLong
✔️ AssertSerializerLongEnum
✔️ AssertSerializerSByte
✔️ AssertSerializerSByteEnum
✔️ AssertSerializerShort
✔️ AssertSerializerShortEnum
✔️ AssertSerializerUInt
✔️ AssertSerializerUInt128
✔️ AssertSerializerUIntEnum
✔️ AssertSerializerULong
✔️ AssertSerializerULongEnum
✔️ AssertSerializerUShort
✔️ AssertSerializerUShortEnum
✔️ ShouldReturnCorrectSerializerForStruct
✔️ ShouldSerializeByteEnum
✔️ ShouldSerializeIntEnum
✔️ ShouldSerializeLongEnum
✔️ ShouldSerializeSByteEnum
✔️ ShouldSerializeShortEnum
✔️ ShouldSerializeSimpleStruct
✔️ ShouldSerializeUIntEnum
✔️ ShouldSerializeULongEnum
✔️ ShouldSerializeUShortEnum
✔️ Backdash.Tests.Specs.Unit.Serialization.SerializersTests+SerializeIntegerBigEndianTests
✔️ ShouldSerializeByte
✔️ ShouldSerializeInt
✔️ ShouldSerializeInt128
✔️ ShouldSerializeIntU128
✔️ ShouldSerializeLong
✔️ ShouldSerializeSByte
✔️ ShouldSerializeShort
✔️ ShouldSerializeUInt
✔️ ShouldSerializeULong
✔️ ShouldSerializeUShort
✔️ Backdash.Tests.Specs.Unit.Serialization.SerializersTests+SerializeIntegerLittleEndianTests
✔️ ShouldSerializeByte
✔️ ShouldSerializeInt
✔️ ShouldSerializeInt128
✔️ ShouldSerializeIntU128
✔️ ShouldSerializeLong
✔️ ShouldSerializeSByte
✔️ ShouldSerializeShort
✔️ ShouldSerializeUInt
✔️ ShouldSerializeULong
✔️ ShouldSerializeUShort
✔️ Backdash.Tests.Specs.Unit.Sync.Input.ConfirmedInputsTests
✔️ ShouldSerializeAndDeserializeGroupSamples
✔️ Backdash.Tests.Specs.Unit.Sync.Input.DeterministicRandomTests
✔️ ShouldBeDeterministic
✔️ ShouldBeReturnEqualValuesInOrder
✔️ ShouldExtraStateSeedChangeTheResult
✔️ Backdash.Tests.Specs.Unit.Sync.Input.InputEncoderTests
✔️ CompressEmpty
✔️ ShouldCompressAndDecompress
✔️ ShouldCompressAndDecompressSample
✔️ ShouldCompressAndDecompressSample2
✔️ ShouldCompressAndDecompressSampleSkippingFrames
✔️ Backdash.Tests.Specs.Unit.Sync.State.DefaultStateStoreTests
✔️ ShouldInitializeCorrectly
✔️ Backdash.Tests.Specs.Unit.Utils.JsonIPAddressConverterTests
✔️ ShouldParseIPv4
✔️ ShouldParseIPv6
✔️ ShouldSerializeIPv4
✔️ ShouldSerializeIPv6
✔️ Backdash.Tests.Specs.Unit.Utils.JsonIPEndpointConverterTests
✔️ ShouldParseIPv4
✔️ ShouldParseIPv6
✔️ ShouldSerializeIPv4
✔️ ShouldSerializeIPv6
Loading