Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
10 changes: 5 additions & 5 deletions Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -8,20 +8,20 @@
<PackageVersion Include="BouncyCastle.Cryptography" Version="2.3.1" />
<PackageVersion Include="Enums.NET" Version="4.0.1" />
<PackageVersion Include="ExtendedNumerics.BigDecimal" Version="2025.1001.2.129" />
<PackageVersion Include="GitHubActionsTestLogger" Version="2.3.3" />
<PackageVersion Include="GitHubActionsTestLogger" Version="2.4.1" />
<PackageVersion Include="ICSharpCode.TextEditor" Version="3.2.1.6466" />
<PackageVersion Include="MathNet.Numerics.Signed" Version="5.0.0" />
<PackageVersion Include="Microsoft.IO.RecyclableMemoryStream" Version="3.0.0" />
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.9.0" />
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.13.0" />
<PackageVersion Include="Microsoft.SourceLink.GitHub" Version="8.0.0" />
<PackageVersion Include="NSubstitute" Version="5.1.0" />
<PackageVersion Include="NuGetizer" Version="1.1.0" />
<PackageVersion Include="NUnit" Version="3.14.0" />
<PackageVersion Include="NUnit3TestAdapter" Version="4.5.0" />
<PackageVersion Include="NUnit" Version="4.3.2" />
<PackageVersion Include="NUnit3TestAdapter" Version="5.0.0" />
<PackageVersion Include="SharpZipLib" Version="1.4.2" />
<PackageVersion Include="SixLabors.Fonts" Version="1.0.1" />
<PackageVersion Include="SixLabors.ImageSharp" Version="2.1.10" />
<PackageVersion Include="System.Configuration.ConfigurationManager" Version="6.0.0" />
<PackageVersion Include="System.Configuration.ConfigurationManager" Version="8.0.1" />
<PackageVersion Include="System.Formats.Asn1" Version="8.0.1" />
<PackageVersion Include="System.Security.Cryptography.Pkcs" Version="8.0.1" />
<PackageVersion Include="System.Security.Cryptography.Xml" Version="8.0.2" />
Expand Down
34 changes: 17 additions & 17 deletions testcases/main/CellReferenceParserTest.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
using System;
using NPOI;
using NPOI.SS.Util;
using NUnit.Framework;
using NUnit.Framework;using NUnit.Framework.Legacy;

namespace TestCases;

Expand All @@ -19,19 +19,19 @@ public class CellReferenceParserTest
[TestCase("$123", char.MinValue, "", '$', "123")]
public void TryParseCellReferenceShouldSucceedForValidInput(string input, char expectedColumnPrefix, string expectedColumn, char expectedRowPrefix, string expectedRow)
{
Assert.True(CellReferenceParser.TryParseCellReference(input.AsSpan(), out var columnPrefix, out var column, out var rowPrefix, out var row));
Assert.AreEqual(expectedColumnPrefix, columnPrefix, "Column prefix mismatch");
Assert.AreEqual(expectedColumn, column.ToString(), "Column mismatch");
Assert.AreEqual(expectedRowPrefix, rowPrefix, "Row prefix mismatch");
Assert.AreEqual(expectedRow, row.ToString(), "Row mismatch");
ClassicAssert.True(CellReferenceParser.TryParseCellReference(input.AsSpan(), out var columnPrefix, out var column, out var rowPrefix, out var row));
ClassicAssert.AreEqual(expectedColumnPrefix, columnPrefix, "Column prefix mismatch");
ClassicAssert.AreEqual(expectedColumn, column.ToString(), "Column mismatch");
ClassicAssert.AreEqual(expectedRowPrefix, rowPrefix, "Row prefix mismatch");
ClassicAssert.AreEqual(expectedRow, row.ToString(), "Row mismatch");
}

[TestCase("$1$1")]
[TestCase("1$1")]
[TestCase("1$")]
public void TryParseCellReferenceShouldFailForInvalidInput(string input)
{
Assert.False(CellReferenceParser.TryParseCellReference(input.AsSpan(), out _, out _, out _, out _));
ClassicAssert.False(CellReferenceParser.TryParseCellReference(input.AsSpan(), out _, out _, out _, out _));
}

[TestCase("$A$1", "A", "1")]
Expand All @@ -43,9 +43,9 @@ public void TryParseCellReferenceShouldFailForInvalidInput(string input)
[TestCase("$A123", "A", "123")]
public void TryParseStrictCellReferenceShouldSucceedForValidInput(string input, string expectedColumn, string expectedRow)
{
Assert.True(CellReferenceParser.TryParseStrictCellReference(input.AsSpan(), out var column, out var row));
Assert.AreEqual(expectedColumn, column.ToString(), "Column mismatch");
Assert.AreEqual(expectedRow, row.ToString(), "Row mismatch");
ClassicAssert.True(CellReferenceParser.TryParseStrictCellReference(input.AsSpan(), out var column, out var row));
ClassicAssert.AreEqual(expectedColumn, column.ToString(), "Column mismatch");
ClassicAssert.AreEqual(expectedRow, row.ToString(), "Row mismatch");
}

[TestCase("$1$1")]
Expand All @@ -55,16 +55,16 @@ public void TryParseStrictCellReferenceShouldSucceedForValidInput(string input,
[TestCase("1")]
public void TryParseStrictCellReferenceShouldFailForInvalidInput(string input)
{
Assert.False(CellReferenceParser.TryParseStrictCellReference(input.AsSpan(), out _, out _));
ClassicAssert.False(CellReferenceParser.TryParseStrictCellReference(input.AsSpan(), out _, out _));
}

[TestCase("A", "A")]
[TestCase("$A", "A")]
[TestCase("$ABC", "ABC")]
public void TryParseColumnReferenceShouldSucceedForValidInput(string input, string expectedColumn)
{
Assert.True(CellReferenceParser.TryParseColumnReference(input.AsSpan(), out var column));
Assert.AreEqual(expectedColumn, column.ToString(), "Column mismatch");
ClassicAssert.True(CellReferenceParser.TryParseColumnReference(input.AsSpan(), out var column));
ClassicAssert.AreEqual(expectedColumn, column.ToString(), "Column mismatch");
}

[TestCase("1")]
Expand All @@ -78,7 +78,7 @@ public void TryParseColumnReferenceShouldSucceedForValidInput(string input, stri
[TestCase("$A123")]
public void TryParseColumnReferenceShouldFailForInvalidInput(string input)
{
Assert.False(CellReferenceParser.TryParseColumnReference(input.AsSpan(), out _));
ClassicAssert.False(CellReferenceParser.TryParseColumnReference(input.AsSpan(), out _));
}


Expand All @@ -87,8 +87,8 @@ public void TryParseColumnReferenceShouldFailForInvalidInput(string input)
[TestCase("$123", "123")]
public void TryParseRowReferenceShouldSucceedForValidInput(string input, string expectedRow)
{
Assert.True(CellReferenceParser.TryParseRowReference(input.AsSpan(), out var row));
Assert.AreEqual(expectedRow, row.ToString(), "Row mismatch");
ClassicAssert.True(CellReferenceParser.TryParseRowReference(input.AsSpan(), out var row));
ClassicAssert.AreEqual(expectedRow, row.ToString(), "Row mismatch");
}

[TestCase("$")]
Expand All @@ -97,6 +97,6 @@ public void TryParseRowReferenceShouldSucceedForValidInput(string input, string
[TestCase("A")]
public void TryParseRowReferenceShouldFailForInvalidInput(string input)
{
Assert.False(CellReferenceParser.TryParseRowReference(input.AsSpan(), out _));
ClassicAssert.False(CellReferenceParser.TryParseRowReference(input.AsSpan(), out _));
}
}
35 changes: 18 additions & 17 deletions testcases/main/DDF/TestEscherBSERecord.cs
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,10 @@ namespace TestCases.DDF
using System.Collections.Generic;
using System.IO;

using NUnit.Framework;
using NUnit.Framework;using NUnit.Framework.Legacy;
using NPOI.DDF;
using NPOI.Util;

[TestFixture]
public class TestEscherBSERecord
{
Expand All @@ -38,19 +39,19 @@ public void TestFillFields()
" 00 00 02 00 00 00 03 00 00 00 04 05 06 07";
EscherBSERecord r = new EscherBSERecord();
int bytesWritten = r.FillFields(HexRead.ReadFromString(data), 0, new DefaultEscherRecordFactory());
Assert.AreEqual(44, bytesWritten);
Assert.AreEqual((short)0x0001, r.Options);
Assert.AreEqual(EscherBSERecord.BT_JPEG, r.BlipTypeWin32);
Assert.AreEqual(EscherBSERecord.BT_JPEG, r.BlipTypeMacOS);
Assert.AreEqual("[01, 02, 03, 04, 05, 06, 07, 08, 09, 0A, 0B, 0C, 0D, 0E, 0F, 00]", HexDump.ToHex(r.UID));
Assert.AreEqual((short)1, r.Tag);
Assert.AreEqual(2, r.Ref);
Assert.AreEqual(3, r.Offset);
Assert.AreEqual((byte)4, r.Usage);
Assert.AreEqual((byte)5, r.Name);
Assert.AreEqual((byte)6, r.Unused2);
Assert.AreEqual((byte)7, r.Unused3);
Assert.AreEqual(0, r.RemainingData.Length);
ClassicAssert.AreEqual(44, bytesWritten);
ClassicAssert.AreEqual((short)0x0001, r.Options);
ClassicAssert.AreEqual(EscherBSERecord.BT_JPEG, r.BlipTypeWin32);
ClassicAssert.AreEqual(EscherBSERecord.BT_JPEG, r.BlipTypeMacOS);
ClassicAssert.AreEqual("[01, 02, 03, 04, 05, 06, 07, 08, 09, 0A, 0B, 0C, 0D, 0E, 0F, 00]", HexDump.ToHex(r.UID));
ClassicAssert.AreEqual((short)1, r.Tag);
ClassicAssert.AreEqual(2, r.Ref);
ClassicAssert.AreEqual(3, r.Offset);
ClassicAssert.AreEqual((byte)4, r.Usage);
ClassicAssert.AreEqual((byte)5, r.Name);
ClassicAssert.AreEqual((byte)6, r.Unused2);
ClassicAssert.AreEqual((byte)7, r.Unused3);
ClassicAssert.AreEqual(0, r.RemainingData.Length);
}
[Test]
public void TestSerialize()
Expand All @@ -59,8 +60,8 @@ public void TestSerialize()

byte[] data = new byte[8 + 36];
int bytesWritten = r.Serialize(0, data);
Assert.AreEqual(44, bytesWritten);
Assert.AreEqual("[01, 00, 00, 00, 24, 00, 00, 00, 05, 05, 01, 02, 03, 04, " +
ClassicAssert.AreEqual(44, bytesWritten);
ClassicAssert.AreEqual("[01, 00, 00, 00, 24, 00, 00, 00, 05, 05, 01, 02, 03, 04, " +
"05, 06, 07, 08, 09, 0A, 0B, 0C, 0D, 0E, 0F, 00, 01, 00, 00, 00, " +
"00, 00, 02, 00, 00, 00, 03, 00, 00, 00, 04, 05, 06, 07]",
HexDump.ToHex(data));
Expand Down Expand Up @@ -90,7 +91,7 @@ public void TestToString()
{
EscherBSERecord record = CreateRecord();
String nl = Environment.NewLine;
Assert.AreEqual("EscherBSERecord:" + nl +
ClassicAssert.AreEqual("EscherBSERecord:" + nl +
" RecordId: 0xF007" + nl +
" Version: 0x0001" + '\n' +
" Instance: 0x0000" + '\n' +
Expand Down
88 changes: 44 additions & 44 deletions testcases/main/DDF/TestEscherBlipRecord.cs
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ namespace TestCases.DDF
using System.Collections.Generic;
using System.IO;

using NUnit.Framework;
using NUnit.Framework;using NUnit.Framework.Legacy;
using NPOI.DDF;
using NPOI.Util;

Expand All @@ -52,19 +52,19 @@ public void TestReadPNG()
record.FillFields(data, 0, new DefaultEscherRecordFactory());
EscherContainerRecord bstore = (EscherContainerRecord)record.ChildRecords[1];
EscherBSERecord bse1 = (EscherBSERecord)bstore.ChildRecords[0];
Assert.AreEqual(EscherBSERecord.BT_PNG, bse1.BlipTypeWin32);
Assert.AreEqual(EscherBSERecord.BT_PNG, bse1.BlipTypeMacOS);
Assert.IsTrue(Arrays.Equals(new byte[]{
ClassicAssert.AreEqual(EscherBSERecord.BT_PNG, bse1.BlipTypeWin32);
ClassicAssert.AreEqual(EscherBSERecord.BT_PNG, bse1.BlipTypeMacOS);
ClassicAssert.IsTrue(Arrays.Equals(new byte[]{
0x65, 0x07, 0x4A, (byte)0x8D, 0x3E, 0x42, (byte)0x8B, (byte)0xAC,
0x1D, (byte)0x89, 0x35, 0x4F, 0x48, (byte)0xFA, 0x37, (byte)0xC2
}, bse1.UID));
Assert.AreEqual(255, bse1.Tag);
Assert.AreEqual(32308, bse1.Size);
ClassicAssert.AreEqual(255, bse1.Tag);
ClassicAssert.AreEqual(32308, bse1.Size);

EscherBitmapBlip blip1 = (EscherBitmapBlip)bse1.BlipRecord;
Assert.AreEqual(0x6E00, blip1.Options);
Assert.AreEqual(EscherBitmapBlip.RECORD_ID_PNG, blip1.RecordId);
Assert.IsTrue(Arrays.Equals(new byte[]{
ClassicAssert.AreEqual(0x6E00, blip1.Options);
ClassicAssert.AreEqual(EscherBitmapBlip.RECORD_ID_PNG, blip1.RecordId);
ClassicAssert.IsTrue(Arrays.Equals(new byte[]{
0x65, 0x07, 0x4A, (byte)0x8D, 0x3E, 0x42, (byte)0x8B, (byte)0xAC,
0x1D, (byte)0x89, 0x35, 0x4F, 0x48, (byte)0xFA, 0x37, (byte)0xC2
}, blip1.UID));
Expand All @@ -73,19 +73,19 @@ public void TestReadPNG()
byte[] ser = bse1.Serialize();
EscherBSERecord bse2 = new EscherBSERecord();
bse2.FillFields(ser, 0, new DefaultEscherRecordFactory());
Assert.AreEqual(bse1.RecordId, bse2.RecordId);
Assert.AreEqual(bse1.BlipTypeWin32, bse2.BlipTypeWin32);
Assert.AreEqual(bse1.BlipTypeMacOS, bse2.BlipTypeMacOS);
Assert.IsTrue(Arrays.Equals(bse1.UID, bse2.UID));
Assert.AreEqual(bse1.Tag, bse2.Tag);
Assert.AreEqual(bse1.Size, bse2.Size);
ClassicAssert.AreEqual(bse1.RecordId, bse2.RecordId);
ClassicAssert.AreEqual(bse1.BlipTypeWin32, bse2.BlipTypeWin32);
ClassicAssert.AreEqual(bse1.BlipTypeMacOS, bse2.BlipTypeMacOS);
ClassicAssert.IsTrue(Arrays.Equals(bse1.UID, bse2.UID));
ClassicAssert.AreEqual(bse1.Tag, bse2.Tag);
ClassicAssert.AreEqual(bse1.Size, bse2.Size);

EscherBitmapBlip blip2 = (EscherBitmapBlip)bse1.BlipRecord;
Assert.AreEqual(blip1.Options, blip2.Options);
Assert.AreEqual(blip1.RecordId, blip2.RecordId);
Assert.AreEqual(blip1.UID, blip2.UID);
ClassicAssert.AreEqual(blip1.Options, blip2.Options);
ClassicAssert.AreEqual(blip1.RecordId, blip2.RecordId);
ClassicAssert.AreEqual(blip1.UID, blip2.UID);

Assert.IsTrue(Arrays.Equals(blip1.PictureData, blip1.PictureData));
ClassicAssert.IsTrue(Arrays.Equals(blip1.PictureData, blip1.PictureData));
}

//Test Reading/serializing of a PICT metafile
Expand All @@ -100,23 +100,23 @@ public void TestReadPICT()
EscherContainerRecord bstore = (EscherContainerRecord)record.ChildRecords[1];
EscherBSERecord bse1 = (EscherBSERecord)bstore.ChildRecords[1];
//System.out.println(bse1);
Assert.AreEqual(EscherBSERecord.BT_WMF, bse1.BlipTypeWin32);
Assert.AreEqual(EscherBSERecord.BT_PICT, bse1.BlipTypeMacOS);
Assert.IsTrue(Arrays.Equals(new byte[]{
ClassicAssert.AreEqual(EscherBSERecord.BT_WMF, bse1.BlipTypeWin32);
ClassicAssert.AreEqual(EscherBSERecord.BT_PICT, bse1.BlipTypeMacOS);
ClassicAssert.IsTrue(Arrays.Equals(new byte[]{
(byte)0xC7, 0x15, 0x69, 0x2D, (byte)0xE5, (byte)0x89, (byte)0xA3, 0x6F,
0x66, 0x03, (byte)0xD6, 0x24, (byte)0xF7, (byte)0xDB, 0x1D, 0x13
}, bse1.UID));
Assert.AreEqual(255, bse1.Tag);
Assert.AreEqual(1133, bse1.Size);
ClassicAssert.AreEqual(255, bse1.Tag);
ClassicAssert.AreEqual(1133, bse1.Size);

EscherMetafileBlip blip1 = (EscherMetafileBlip)bse1.BlipRecord;
Assert.AreEqual(0x5430, blip1.Options);
Assert.AreEqual(EscherMetafileBlip.RECORD_ID_PICT, blip1.RecordId);
Assert.IsTrue(Arrays.Equals(new byte[]{
ClassicAssert.AreEqual(0x5430, blip1.Options);
ClassicAssert.AreEqual(EscherMetafileBlip.RECORD_ID_PICT, blip1.RecordId);
ClassicAssert.IsTrue(Arrays.Equals(new byte[]{
0x57, 0x32, 0x7B, (byte)0x91, 0x23, 0x5D, (byte)0xDB, 0x36,
0x7A, (byte)0xDB, (byte)0xFF, 0x17, (byte)0xFE, (byte)0xF3, (byte)0xA7, 0x05
}, blip1.UID));
Assert.IsTrue(Arrays.Equals(new byte[]{
ClassicAssert.IsTrue(Arrays.Equals(new byte[]{
(byte)0xC7, 0x15, 0x69, 0x2D, (byte)0xE5, (byte)0x89, (byte)0xA3, 0x6F,
0x66, 0x03, (byte)0xD6, 0x24, (byte)0xF7, (byte)0xDB, 0x1D, 0x13
}, blip1.PrimaryUID));
Expand All @@ -125,21 +125,21 @@ public void TestReadPICT()
byte[] ser = bse1.Serialize();
EscherBSERecord bse2 = new EscherBSERecord();
bse2.FillFields(ser, 0, new DefaultEscherRecordFactory());
Assert.AreEqual(bse1.RecordId, bse2.RecordId);
Assert.AreEqual(bse1.Options, bse2.Options);
Assert.AreEqual(bse1.BlipTypeWin32, bse2.BlipTypeWin32);
Assert.AreEqual(bse1.BlipTypeMacOS, bse2.BlipTypeMacOS);
Assert.IsTrue(Arrays.Equals(bse1.UID, bse2.UID));
Assert.AreEqual(bse1.Tag, bse2.Tag);
Assert.AreEqual(bse1.Size, bse2.Size);
ClassicAssert.AreEqual(bse1.RecordId, bse2.RecordId);
ClassicAssert.AreEqual(bse1.Options, bse2.Options);
ClassicAssert.AreEqual(bse1.BlipTypeWin32, bse2.BlipTypeWin32);
ClassicAssert.AreEqual(bse1.BlipTypeMacOS, bse2.BlipTypeMacOS);
ClassicAssert.IsTrue(Arrays.Equals(bse1.UID, bse2.UID));
ClassicAssert.AreEqual(bse1.Tag, bse2.Tag);
ClassicAssert.AreEqual(bse1.Size, bse2.Size);

EscherMetafileBlip blip2 = (EscherMetafileBlip)bse1.BlipRecord;
Assert.AreEqual(blip1.Options, blip2.Options);
Assert.AreEqual(blip1.RecordId, blip2.RecordId);
Assert.AreEqual(blip1.UID, blip2.UID);
Assert.AreEqual(blip1.PrimaryUID, blip2.PrimaryUID);
ClassicAssert.AreEqual(blip1.Options, blip2.Options);
ClassicAssert.AreEqual(blip1.RecordId, blip2.RecordId);
ClassicAssert.AreEqual(blip1.UID, blip2.UID);
ClassicAssert.AreEqual(blip1.PrimaryUID, blip2.PrimaryUID);

Assert.IsTrue(Arrays.Equals(blip1.PictureData, blip1.PictureData));
ClassicAssert.IsTrue(Arrays.Equals(blip1.PictureData, blip1.PictureData));
}

//integral Test: check that the Read-Write-Read round trip is consistent
Expand All @@ -152,7 +152,7 @@ public void TestContainer()
record.FillFields(data, 0, new DefaultEscherRecordFactory());

byte[] ser = record.Serialize();
Assert.IsTrue(Arrays.Equals(data, ser));
ClassicAssert.IsTrue(Arrays.Equals(data, ser));
}

/**
Expand All @@ -165,15 +165,15 @@ public void Test47143()
EscherBSERecord bse = new EscherBSERecord();
bse.FillFields(data, 0, new DefaultEscherRecordFactory());
bse.ToString(); //assert that toString() works
Assert.IsTrue(bse.BlipRecord is EscherMetafileBlip);
ClassicAssert.IsTrue(bse.BlipRecord is EscherMetafileBlip);

EscherMetafileBlip blip = (EscherMetafileBlip)bse.BlipRecord;
blip.ToString(); //assert that toString() works
byte[] remaining = blip.RemainingData;
Assert.IsNotNull(remaining);
ClassicAssert.IsNotNull(remaining);

byte[] ser = bse.Serialize(); //serialize and assert against the source data
Assert.IsTrue(Arrays.Equals(data, ser));
ClassicAssert.IsTrue(Arrays.Equals(data, ser));
}
}
}
Loading