From 65dbb7a31a7223bae091ac57504f5655e4a4ea95 Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Mon, 27 Oct 2025 16:18:45 -0400 Subject: [PATCH] Add Arithmetic Binary Operators tests --- SabreTools.IO.Test/Numerics/BothInt16Tests.cs | 32 +++++++++++++++++++ SabreTools.IO.Test/Numerics/BothInt32Tests.cs | 32 +++++++++++++++++++ SabreTools.IO.Test/Numerics/BothInt64Tests.cs | 32 +++++++++++++++++++ SabreTools.IO.Test/Numerics/BothInt8Tests.cs | 32 +++++++++++++++++++ .../Numerics/BothUInt16Tests.cs | 32 +++++++++++++++++++ .../Numerics/BothUInt32Tests.cs | 32 +++++++++++++++++++ .../Numerics/BothUInt64Tests.cs | 32 +++++++++++++++++++ SabreTools.IO.Test/Numerics/BothUInt8Tests.cs | 32 +++++++++++++++++++ 8 files changed, 256 insertions(+) diff --git a/SabreTools.IO.Test/Numerics/BothInt16Tests.cs b/SabreTools.IO.Test/Numerics/BothInt16Tests.cs index a887d38..517d490 100644 --- a/SabreTools.IO.Test/Numerics/BothInt16Tests.cs +++ b/SabreTools.IO.Test/Numerics/BothInt16Tests.cs @@ -159,6 +159,38 @@ namespace SabreTools.IO.Test.Numerics Assert.Equal(expected, actual.BigEndian); } + [Fact] + public void ArithmeticBinaryOperatorsTest() + { + var valA = new BothInt16(3, 3); + var valB = new BothInt16(2, 2); + + short expected = 6; + BothInt16 actual = valA * valB; + Assert.Equal(expected, actual.LittleEndian); + Assert.Equal(expected, actual.BigEndian); + + expected = 1; + actual = valA / valB; + Assert.Equal(expected, actual.LittleEndian); + Assert.Equal(expected, actual.BigEndian); + + expected = 1; + actual = valA % valB; + Assert.Equal(expected, actual.LittleEndian); + Assert.Equal(expected, actual.BigEndian); + + expected = 5; + actual = valA + valB; + Assert.Equal(expected, actual.LittleEndian); + Assert.Equal(expected, actual.BigEndian); + + expected = 1; + actual = valA - valB; + Assert.Equal(expected, actual.LittleEndian); + Assert.Equal(expected, actual.BigEndian); + } + [Fact] public void OperatorsTest() { diff --git a/SabreTools.IO.Test/Numerics/BothInt32Tests.cs b/SabreTools.IO.Test/Numerics/BothInt32Tests.cs index 2858585..af91a62 100644 --- a/SabreTools.IO.Test/Numerics/BothInt32Tests.cs +++ b/SabreTools.IO.Test/Numerics/BothInt32Tests.cs @@ -159,6 +159,38 @@ namespace SabreTools.IO.Test.Numerics Assert.Equal(expected, actual.BigEndian); } + [Fact] + public void ArithmeticBinaryOperatorsTest() + { + var valA = new BothInt32(3, 3); + var valB = new BothInt32(2, 2); + + int expected = 6; + BothInt32 actual = valA * valB; + Assert.Equal(expected, actual.LittleEndian); + Assert.Equal(expected, actual.BigEndian); + + expected = 1; + actual = valA / valB; + Assert.Equal(expected, actual.LittleEndian); + Assert.Equal(expected, actual.BigEndian); + + expected = 1; + actual = valA % valB; + Assert.Equal(expected, actual.LittleEndian); + Assert.Equal(expected, actual.BigEndian); + + expected = 5; + actual = valA + valB; + Assert.Equal(expected, actual.LittleEndian); + Assert.Equal(expected, actual.BigEndian); + + expected = 1; + actual = valA - valB; + Assert.Equal(expected, actual.LittleEndian); + Assert.Equal(expected, actual.BigEndian); + } + [Fact] public void OperatorsTest() { diff --git a/SabreTools.IO.Test/Numerics/BothInt64Tests.cs b/SabreTools.IO.Test/Numerics/BothInt64Tests.cs index 83a9cb7..09122b9 100644 --- a/SabreTools.IO.Test/Numerics/BothInt64Tests.cs +++ b/SabreTools.IO.Test/Numerics/BothInt64Tests.cs @@ -159,6 +159,38 @@ namespace SabreTools.IO.Test.Numerics Assert.Equal(expected, actual.BigEndian); } + [Fact] + public void ArithmeticBinaryOperatorsTest() + { + var valA = new BothInt64(3, 3); + var valB = new BothInt64(2, 2); + + long expected = 6; + BothInt64 actual = valA * valB; + Assert.Equal(expected, actual.LittleEndian); + Assert.Equal(expected, actual.BigEndian); + + expected = 1; + actual = valA / valB; + Assert.Equal(expected, actual.LittleEndian); + Assert.Equal(expected, actual.BigEndian); + + expected = 1; + actual = valA % valB; + Assert.Equal(expected, actual.LittleEndian); + Assert.Equal(expected, actual.BigEndian); + + expected = 5; + actual = valA + valB; + Assert.Equal(expected, actual.LittleEndian); + Assert.Equal(expected, actual.BigEndian); + + expected = 1; + actual = valA - valB; + Assert.Equal(expected, actual.LittleEndian); + Assert.Equal(expected, actual.BigEndian); + } + [Fact] public void OperatorsTest() { diff --git a/SabreTools.IO.Test/Numerics/BothInt8Tests.cs b/SabreTools.IO.Test/Numerics/BothInt8Tests.cs index 39d9483..9e6437f 100644 --- a/SabreTools.IO.Test/Numerics/BothInt8Tests.cs +++ b/SabreTools.IO.Test/Numerics/BothInt8Tests.cs @@ -159,6 +159,38 @@ namespace SabreTools.IO.Test.Numerics Assert.Equal(expected, actual.BigEndian); } + [Fact] + public void ArithmeticBinaryOperatorsTest() + { + var valA = new BothInt8(3, 3); + var valB = new BothInt8(2, 2); + + sbyte expected = 6; + BothInt8 actual = valA * valB; + Assert.Equal(expected, actual.LittleEndian); + Assert.Equal(expected, actual.BigEndian); + + expected = 1; + actual = valA / valB; + Assert.Equal(expected, actual.LittleEndian); + Assert.Equal(expected, actual.BigEndian); + + expected = 1; + actual = valA % valB; + Assert.Equal(expected, actual.LittleEndian); + Assert.Equal(expected, actual.BigEndian); + + expected = 5; + actual = valA + valB; + Assert.Equal(expected, actual.LittleEndian); + Assert.Equal(expected, actual.BigEndian); + + expected = 1; + actual = valA - valB; + Assert.Equal(expected, actual.LittleEndian); + Assert.Equal(expected, actual.BigEndian); + } + [Fact] public void OperatorsTest() { diff --git a/SabreTools.IO.Test/Numerics/BothUInt16Tests.cs b/SabreTools.IO.Test/Numerics/BothUInt16Tests.cs index de59249..c3296d1 100644 --- a/SabreTools.IO.Test/Numerics/BothUInt16Tests.cs +++ b/SabreTools.IO.Test/Numerics/BothUInt16Tests.cs @@ -149,6 +149,38 @@ namespace SabreTools.IO.Test.Numerics Assert.Equal(expected, actual.BigEndian); } + [Fact] + public void ArithmeticBinaryOperatorsTest() + { + var valA = new BothUInt16(3, 3); + var valB = new BothUInt16(2, 2); + + ushort expected = 6; + BothUInt16 actual = valA * valB; + Assert.Equal(expected, actual.LittleEndian); + Assert.Equal(expected, actual.BigEndian); + + expected = 1; + actual = valA / valB; + Assert.Equal(expected, actual.LittleEndian); + Assert.Equal(expected, actual.BigEndian); + + expected = 1; + actual = valA % valB; + Assert.Equal(expected, actual.LittleEndian); + Assert.Equal(expected, actual.BigEndian); + + expected = 5; + actual = valA + valB; + Assert.Equal(expected, actual.LittleEndian); + Assert.Equal(expected, actual.BigEndian); + + expected = 1; + actual = valA - valB; + Assert.Equal(expected, actual.LittleEndian); + Assert.Equal(expected, actual.BigEndian); + } + [Fact] public void OperatorsTest() { diff --git a/SabreTools.IO.Test/Numerics/BothUInt32Tests.cs b/SabreTools.IO.Test/Numerics/BothUInt32Tests.cs index c83b48f..d3834a3 100644 --- a/SabreTools.IO.Test/Numerics/BothUInt32Tests.cs +++ b/SabreTools.IO.Test/Numerics/BothUInt32Tests.cs @@ -149,6 +149,38 @@ namespace SabreTools.IO.Test.Numerics Assert.Equal(expected, actual.BigEndian); } + [Fact] + public void ArithmeticBinaryOperatorsTest() + { + var valA = new BothUInt32(3, 3); + var valB = new BothUInt32(2, 2); + + uint expected = 6; + BothUInt32 actual = valA * valB; + Assert.Equal(expected, actual.LittleEndian); + Assert.Equal(expected, actual.BigEndian); + + expected = 1; + actual = valA / valB; + Assert.Equal(expected, actual.LittleEndian); + Assert.Equal(expected, actual.BigEndian); + + expected = 1; + actual = valA % valB; + Assert.Equal(expected, actual.LittleEndian); + Assert.Equal(expected, actual.BigEndian); + + expected = 5; + actual = valA + valB; + Assert.Equal(expected, actual.LittleEndian); + Assert.Equal(expected, actual.BigEndian); + + expected = 1; + actual = valA - valB; + Assert.Equal(expected, actual.LittleEndian); + Assert.Equal(expected, actual.BigEndian); + } + [Fact] public void OperatorsTest() { diff --git a/SabreTools.IO.Test/Numerics/BothUInt64Tests.cs b/SabreTools.IO.Test/Numerics/BothUInt64Tests.cs index c11cda6..16ebde9 100644 --- a/SabreTools.IO.Test/Numerics/BothUInt64Tests.cs +++ b/SabreTools.IO.Test/Numerics/BothUInt64Tests.cs @@ -149,6 +149,38 @@ namespace SabreTools.IO.Test.Numerics Assert.Equal(expected, actual.BigEndian); } + [Fact] + public void ArithmeticBinaryOperatorsTest() + { + var valA = new BothUInt64(3, 3); + var valB = new BothUInt64(2, 2); + + ulong expected = 6; + BothUInt64 actual = valA * valB; + Assert.Equal(expected, actual.LittleEndian); + Assert.Equal(expected, actual.BigEndian); + + expected = 1; + actual = valA / valB; + Assert.Equal(expected, actual.LittleEndian); + Assert.Equal(expected, actual.BigEndian); + + expected = 1; + actual = valA % valB; + Assert.Equal(expected, actual.LittleEndian); + Assert.Equal(expected, actual.BigEndian); + + expected = 5; + actual = valA + valB; + Assert.Equal(expected, actual.LittleEndian); + Assert.Equal(expected, actual.BigEndian); + + expected = 1; + actual = valA - valB; + Assert.Equal(expected, actual.LittleEndian); + Assert.Equal(expected, actual.BigEndian); + } + [Fact] public void OperatorsTest() { diff --git a/SabreTools.IO.Test/Numerics/BothUInt8Tests.cs b/SabreTools.IO.Test/Numerics/BothUInt8Tests.cs index 09a1940..6e510bf 100644 --- a/SabreTools.IO.Test/Numerics/BothUInt8Tests.cs +++ b/SabreTools.IO.Test/Numerics/BothUInt8Tests.cs @@ -149,6 +149,38 @@ namespace SabreTools.IO.Test.Numerics Assert.Equal(expected, actual.BigEndian); } + [Fact] + public void ArithmeticBinaryOperatorsTest() + { + var valA = new BothUInt8(3, 3); + var valB = new BothUInt8(2, 2); + + byte expected = 6; + BothUInt8 actual = valA * valB; + Assert.Equal(expected, actual.LittleEndian); + Assert.Equal(expected, actual.BigEndian); + + expected = 1; + actual = valA / valB; + Assert.Equal(expected, actual.LittleEndian); + Assert.Equal(expected, actual.BigEndian); + + expected = 1; + actual = valA % valB; + Assert.Equal(expected, actual.LittleEndian); + Assert.Equal(expected, actual.BigEndian); + + expected = 5; + actual = valA + valB; + Assert.Equal(expected, actual.LittleEndian); + Assert.Equal(expected, actual.BigEndian); + + expected = 1; + actual = valA - valB; + Assert.Equal(expected, actual.LittleEndian); + Assert.Equal(expected, actual.BigEndian); + } + [Fact] public void OperatorsTest() {