This is an automated email from the ASF dual-hosted git repository.

freeandnil pushed a commit to branch Feature/FixWarningsInTests
in repository https://gitbox.apache.org/repos/asf/logging-log4net.git

commit 9154f44b0fcaad40b3f4cf5db9dda8f201be803c
Author: Jan Friedrich <[email protected]>
AuthorDate: Thu Oct 31 20:07:40 2024 +0100

    - use raw strings for config files in unt tests
    - fixed more warnings
---
 src/log4net.Tests/Appender/AdoNetAppenderTest.cs   | 281 +++++++++++----------
 .../Appender/AppenderCollectionTest.cs             |   4 +-
 .../Appender/RollingFileAppenderTest.cs            | 149 +++++------
 src/log4net.Tests/Appender/TraceAppenderTest.cs    |  10 +-
 src/log4net.Tests/Core/FixingTest.cs               |  12 +-
 src/log4net.Tests/Core/LevelMappingTest.cs         |   3 +-
 src/log4net.Tests/Core/LevelTest.cs                |   1 -
 src/log4net.Tests/Core/LoggingEventTest.cs         |  25 +-
 src/log4net.Tests/Filter/FilterTest.cs             |  49 ++--
 src/log4net.Tests/Hierarchy/HierarchyTest.cs       |  94 +++----
 .../Layout/DynamicPatternLayoutTest.cs             |   2 -
 .../LoggerRepository/ConfigurationMessages.cs      |  31 +--
 src/log4net.Tests/Signing.cs                       |   2 +-
 src/log4net.Tests/Util/LogLogTest.cs               |   2 +-
 src/log4net.Tests/Util/PatternConverterTest.cs     | 126 ++++-----
 src/log4net.Tests/Util/PatternStringTest.cs        |  14 +-
 src/log4net.Tests/Util/SystemInfoTest.cs           |  30 +--
 src/log4net.Tests/Util/TransformTest.cs            |   6 +-
 18 files changed, 402 insertions(+), 439 deletions(-)

diff --git a/src/log4net.Tests/Appender/AdoNetAppenderTest.cs 
b/src/log4net.Tests/Appender/AdoNetAppenderTest.cs
index 95106ecf..49817381 100644
--- a/src/log4net.Tests/Appender/AdoNetAppenderTest.cs
+++ b/src/log4net.Tests/Appender/AdoNetAppenderTest.cs
@@ -53,7 +53,7 @@ public class AdoNetAppenderTest
     ILog log = LogManager.GetLogger(rep.Name, "NoBufferingTest");
     log.Debug("Message");
     Assert.That(Log4NetCommand.MostRecentInstance, Is.Not.Null);
-    Assert.That(Log4NetCommand.MostRecentInstance!.ExecuteNonQueryCount, 
Is.EqualTo(1));
+    Assert.That(Log4NetCommand.MostRecentInstance.ExecuteNonQueryCount, 
Is.EqualTo(1));
   }
 
   [Test]
@@ -61,7 +61,7 @@ public class AdoNetAppenderTest
   {
     ILoggerRepository rep = 
LogManager.CreateRepository(Guid.NewGuid().ToString());
 
-    int bufferSize = 5;
+    const int bufferSize = 5;
 
     AdoNetAppender adoNetAppender = new()
     {
@@ -80,69 +80,70 @@ public class AdoNetAppenderTest
     }
     log.Debug("Message");
     Assert.That(Log4NetCommand.MostRecentInstance, Is.Not.Null);
-    Assert.That(Log4NetCommand.MostRecentInstance!.ExecuteNonQueryCount, 
Is.EqualTo(bufferSize + 1));
+    Assert.That(Log4NetCommand.MostRecentInstance.ExecuteNonQueryCount, 
Is.EqualTo(bufferSize + 1));
   }
 
   [Test]
   public void WebsiteExample()
   {
     XmlDocument log4NetConfig = new();
-    log4NetConfig.LoadXml(@"
-                <log4net>
-                <appender name=""AdoNetAppender"" 
type=""log4net.Appender.AdoNetAppender"">
-                    <bufferSize value=""-1"" />
-                    <connectionType 
value=""log4net.Tests.Appender.AdoNet.Log4NetConnection"" />
-                    <connectionString value=""data source=[database 
server];initial catalog=[database name];integrated security=false;persist 
security info=True;User ID=[user];Password=[password]"" />
-                    <commandText value=""INSERT INTO Log 
([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date, 
@thread, @log_level, @logger, @message, @exception)"" />
-                    <parameter>
-                        <parameterName value=""@log_date"" />
-                        <dbType value=""DateTime"" />
-                        <layout type=""log4net.Layout.RawTimeStampLayout"" />
-                    </parameter>
-                    <parameter>
-                        <parameterName value=""@thread"" />
-                        <dbType value=""String"" />
-                        <size value=""255"" />
-                        <layout type=""log4net.Layout.PatternLayout"">
-                            <conversionPattern value=""%thread"" />
-                        </layout>
-                    </parameter>
-                    <parameter>
-                        <parameterName value=""@log_level"" />
-                        <dbType value=""String"" />
-                        <size value=""50"" />
-                        <layout type=""log4net.Layout.PatternLayout"">
-                            <conversionPattern value=""%level"" />
-                        </layout>
-                    </parameter>
-                    <parameter>
-                        <parameterName value=""@logger"" />
-                        <dbType value=""String"" />
-                        <size value=""255"" />
-                        <layout type=""log4net.Layout.PatternLayout"">
-                            <conversionPattern value=""%logger"" />
-                        </layout>
-                    </parameter>
-                    <parameter>
-                        <parameterName value=""@message"" />
-                        <dbType value=""String"" />
-                        <size value=""4000"" />
-                        <layout type=""log4net.Layout.PatternLayout"">
-                            <conversionPattern value=""%message"" />
-                        </layout>
-                    </parameter>
-                    <parameter>
-                        <parameterName value=""@exception"" />
-                        <dbType value=""String"" />
-                        <size value=""2000"" />
-                        <layout type=""log4net.Layout.ExceptionLayout"" />
-                    </parameter>
-                </appender>
-                <root>
-                    <level value=""ALL"" />
-                    <appender-ref ref=""AdoNetAppender"" />
-                  </root>  
-                </log4net>");
+    log4NetConfig.LoadXml("""
+      <log4net>
+      <appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
+          <bufferSize value="-1" />
+          <connectionType 
value="log4net.Tests.Appender.AdoNet.Log4NetConnection" />
+          <connectionString value="data source=[database server];initial 
catalog=[database name];integrated security=false;persist security 
info=True;User ID=[user];Password=[password]" />
+          <commandText value="INSERT INTO Log 
([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date, 
@thread, @log_level, @logger, @message, @exception)" />
+          <parameter>
+              <parameterName value="@log_date" />
+              <dbType value="DateTime" />
+              <layout type="log4net.Layout.RawTimeStampLayout" />
+          </parameter>
+          <parameter>
+              <parameterName value="@thread" />
+              <dbType value="String" />
+              <size value="255" />
+              <layout type="log4net.Layout.PatternLayout">
+                  <conversionPattern value="%thread" />
+              </layout>
+          </parameter>
+          <parameter>
+              <parameterName value="@log_level" />
+              <dbType value="String" />
+              <size value="50" />
+              <layout type="log4net.Layout.PatternLayout">
+                  <conversionPattern value="%level" />
+              </layout>
+          </parameter>
+          <parameter>
+              <parameterName value="@logger" />
+              <dbType value="String" />
+              <size value="255" />
+              <layout type="log4net.Layout.PatternLayout">
+                  <conversionPattern value="%logger" />
+              </layout>
+          </parameter>
+          <parameter>
+              <parameterName value="@message" />
+              <dbType value="String" />
+              <size value="4000" />
+              <layout type="log4net.Layout.PatternLayout">
+                  <conversionPattern value="%message" />
+              </layout>
+          </parameter>
+          <parameter>
+              <parameterName value="@exception" />
+              <dbType value="String" />
+              <size value="2000" />
+              <layout type="log4net.Layout.ExceptionLayout" />
+          </parameter>
+      </appender>
+      <root>
+          <level value="ALL" />
+          <appender-ref ref="AdoNetAppender" />
+        </root>  
+      </log4net>
+    """);
 
     ILoggerRepository rep = 
LogManager.CreateRepository(Guid.NewGuid().ToString());
     XmlConfigurator.Configure(rep, log4NetConfig["log4net"]!);
@@ -173,62 +174,63 @@ public class AdoNetAppenderTest
   public void BufferingWebsiteExample()
   {
     XmlDocument log4NetConfig = new();
-    log4NetConfig.LoadXml(@"
-                <log4net>
-                <appender name=""AdoNetAppender"" 
type=""log4net.Appender.AdoNetAppender"">
-                    <bufferSize value=""2"" />
-                    <connectionType 
value=""log4net.Tests.Appender.AdoNet.Log4NetConnection"" />
-                    <connectionString value=""data source=[database 
server];initial catalog=[database name];integrated security=false;persist 
security info=True;User ID=[user];Password=[password]"" />
-                    <commandText value=""INSERT INTO Log 
([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date, 
@thread, @log_level, @logger, @message, @exception)"" />
-                    <parameter>
-                        <parameterName value=""@log_date"" />
-                        <dbType value=""DateTime"" />
-                        <layout type=""log4net.Layout.RawTimeStampLayout"" />
-                    </parameter>
-                    <parameter>
-                        <parameterName value=""@thread"" />
-                        <dbType value=""String"" />
-                        <size value=""255"" />
-                        <layout type=""log4net.Layout.PatternLayout"">
-                            <conversionPattern value=""%thread"" />
-                        </layout>
-                    </parameter>
-                    <parameter>
-                        <parameterName value=""@log_level"" />
-                        <dbType value=""String"" />
-                        <size value=""50"" />
-                        <layout type=""log4net.Layout.PatternLayout"">
-                            <conversionPattern value=""%level"" />
-                        </layout>
-                    </parameter>
-                    <parameter>
-                        <parameterName value=""@logger"" />
-                        <dbType value=""String"" />
-                        <size value=""255"" />
-                        <layout type=""log4net.Layout.PatternLayout"">
-                            <conversionPattern value=""%logger"" />
-                        </layout>
-                    </parameter>
-                    <parameter>
-                        <parameterName value=""@message"" />
-                        <dbType value=""String"" />
-                        <size value=""4000"" />
-                        <layout type=""log4net.Layout.PatternLayout"">
-                            <conversionPattern value=""%message"" />
-                        </layout>
-                    </parameter>
-                    <parameter>
-                        <parameterName value=""@exception"" />
-                        <dbType value=""String"" />
-                        <size value=""2000"" />
-                        <layout type=""log4net.Layout.ExceptionLayout"" />
-                    </parameter>
-                </appender>
-                <root>
-                    <level value=""ALL"" />
-                    <appender-ref ref=""AdoNetAppender"" />
-                  </root>  
-                </log4net>");
+    log4NetConfig.LoadXml("""
+      <log4net>
+      <appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
+          <bufferSize value="2" />
+          <connectionType 
value="log4net.Tests.Appender.AdoNet.Log4NetConnection" />
+          <connectionString value="data source=[database server];initial 
catalog=[database name];integrated security=false;persist security 
info=True;User ID=[user];Password=[password]" />
+          <commandText value="INSERT INTO Log 
([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date, 
@thread, @log_level, @logger, @message, @exception)" />
+          <parameter>
+              <parameterName value="@log_date" />
+              <dbType value="DateTime" />
+              <layout type="log4net.Layout.RawTimeStampLayout" />
+          </parameter>
+          <parameter>
+              <parameterName value="@thread" />
+              <dbType value="String" />
+              <size value="255" />
+              <layout type="log4net.Layout.PatternLayout">
+                  <conversionPattern value="%thread" />
+              </layout>
+          </parameter>
+          <parameter>
+              <parameterName value="@log_level" />
+              <dbType value="String" />
+              <size value="50" />
+              <layout type="log4net.Layout.PatternLayout">
+                  <conversionPattern value="%level" />
+              </layout>
+          </parameter>
+          <parameter>
+              <parameterName value="@logger" />
+              <dbType value="String" />
+              <size value="255" />
+              <layout type="log4net.Layout.PatternLayout">
+                  <conversionPattern value="%logger" />
+              </layout>
+          </parameter>
+          <parameter>
+              <parameterName value="@message" />
+              <dbType value="String" />
+              <size value="4000" />
+              <layout type="log4net.Layout.PatternLayout">
+                  <conversionPattern value="%message" />
+              </layout>
+          </parameter>
+          <parameter>
+              <parameterName value="@exception" />
+              <dbType value="String" />
+              <size value="2000" />
+              <layout type="log4net.Layout.ExceptionLayout" />
+          </parameter>
+      </appender>
+      <root>
+          <level value="ALL" />
+          <appender-ref ref="AdoNetAppender" />
+        </root>  
+      </log4net>
+    """);
 
     ILoggerRepository rep = 
LogManager.CreateRepository(Guid.NewGuid().ToString());
     XmlConfigurator.Configure(rep, log4NetConfig["log4net"]!);
@@ -242,7 +244,7 @@ public class AdoNetAppenderTest
     IDbCommand? command = Log4NetCommand.MostRecentInstance;
     Assert.That(command, Is.Not.Null);
 
-    Assert.That(command!.CommandText,
+    Assert.That(command.CommandText,
      Is.EqualTo("INSERT INTO Log 
([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date, 
@thread, @log_level, @logger, @message, @exception)"));
 
     Assert.That(command.Parameters, Has.Count.EqualTo(6));
@@ -264,27 +266,28 @@ public class AdoNetAppenderTest
   public void NullPropertyXmlConfig()
   {
     XmlDocument log4NetConfig = new();
-    log4NetConfig.LoadXml(@"
-                <log4net>
-                <appender name=""AdoNetAppender"" 
type=""log4net.Appender.AdoNetAppender"">
-                    <bufferSize value=""-1"" />
-                    <connectionType 
value=""log4net.Tests.Appender.AdoNet.Log4NetConnection"" />
-                    <connectionString value=""data source=[database 
server];initial catalog=[database name];integrated security=false;persist 
security info=True;User ID=[user];Password=[password]"" />
-                    <commandText value=""INSERT INTO Log ([ProductId]) VALUES 
(@productId)"" />
-                    <parameter>
-                        <parameterName value=""@productId"" />
-                        <dbType value=""String"" />
-                        <size value=""50"" />
-                        <layout type="" log4net.Layout.RawPropertyLayout"">
-                           <key value=""ProductId"" />
-                        </layout>
-                    </parameter>                    
-                </appender>
-                <root>
-                    <level value=""ALL"" />
-                    <appender-ref ref=""AdoNetAppender"" />
-                  </root>  
-                </log4net>");
+    log4NetConfig.LoadXml("""
+      <log4net>
+      <appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
+          <bufferSize value="-1" />
+          <connectionType 
value="log4net.Tests.Appender.AdoNet.Log4NetConnection" />
+          <connectionString value="data source=[database server];initial 
catalog=[database name];integrated security=false;persist security 
info=True;User ID=[user];Password=[password]" />
+          <commandText value="INSERT INTO Log ([ProductId]) VALUES 
(@productId)" />
+          <parameter>
+              <parameterName value="@productId" />
+              <dbType value="String" />
+              <size value="50" />
+              <layout type=" log4net.Layout.RawPropertyLayout">
+                 <key value="ProductId" />
+              </layout>
+          </parameter>                    
+      </appender>
+      <root>
+          <level value="ALL" />
+          <appender-ref ref="AdoNetAppender" />
+        </root>  
+      </log4net>
+    """);
 
     ILoggerRepository rep = 
LogManager.CreateRepository(Guid.NewGuid().ToString());
     XmlConfigurator.Configure(rep, log4NetConfig["log4net"]!);
@@ -294,7 +297,7 @@ public class AdoNetAppenderTest
     IDbCommand? command = Log4NetCommand.MostRecentInstance;
     Assert.That(command, Is.Not.Null);
 
-    IDbDataParameter param = 
(IDbDataParameter)command!.Parameters["@productId"];
+    IDbDataParameter param = 
(IDbDataParameter)command.Parameters["@productId"];
     Assert.That(param.Value, Is.Not.EqualTo(SystemInfo.NullText));
     Assert.That(param.Value, Is.EqualTo(DBNull.Value));
   }
@@ -331,7 +334,7 @@ public class AdoNetAppenderTest
     IDbCommand? command = Log4NetCommand.MostRecentInstance;
     Assert.That(command, Is.Not.Null);
 
-    IDbDataParameter param = 
(IDbDataParameter)command!.Parameters["@productId"];
+    IDbDataParameter param = 
(IDbDataParameter)command.Parameters["@productId"];
     Assert.That(param.Value, Is.Not.EqualTo(SystemInfo.NullText));
     Assert.That(param.Value, Is.EqualTo(DBNull.Value));
   }
diff --git a/src/log4net.Tests/Appender/AppenderCollectionTest.cs 
b/src/log4net.Tests/Appender/AppenderCollectionTest.cs
index c0e56daf..1b982e49 100644
--- a/src/log4net.Tests/Appender/AppenderCollectionTest.cs
+++ b/src/log4net.Tests/Appender/AppenderCollectionTest.cs
@@ -38,7 +38,7 @@ public class AppenderCollectionTest
   [Test]
   public void ToArrayTest()
   {
-    AppenderCollection appenderCollection = new();
+    AppenderCollection appenderCollection = [];
     IAppender appender = new MemoryAppender();
     appenderCollection.Add(appender);
 
@@ -51,7 +51,7 @@ public class AppenderCollectionTest
   [Test]
   public void ReadOnlyToArrayTest()
   {
-    AppenderCollection appenderCollection = new();
+    AppenderCollection appenderCollection = [];
     IAppender appender = new MemoryAppender();
     appenderCollection.Add(appender);
     AppenderCollection readonlyAppenderCollection = 
AppenderCollection.ReadOnly(appenderCollection);
diff --git a/src/log4net.Tests/Appender/RollingFileAppenderTest.cs 
b/src/log4net.Tests/Appender/RollingFileAppenderTest.cs
index 5e818e03..04cc785c 100644
--- a/src/log4net.Tests/Appender/RollingFileAppenderTest.cs
+++ b/src/log4net.Tests/Appender/RollingFileAppenderTest.cs
@@ -32,6 +32,7 @@ using log4net.Repository.Hierarchy;
 using log4net.Util;
 using NUnit.Framework;
 using System.Globalization;
+using System.Linq;
 
 namespace log4net.Tests.Appender;
 
@@ -448,15 +449,15 @@ public sealed class RollingFileAppenderTest
   private void LogMessage(string sMessageToLog)
   {
     Assert.That(_caRoot, Is.Not.Null);
-    Assert.That(_messagesLogged++, Is.EqualTo(_caRoot!.Counter));
+    Assert.That(_messagesLogged++, Is.EqualTo(_caRoot.Counter));
     Assert.That(_root, Is.Not.Null);
-    _root!.Log(Level.Debug, sMessageToLog, null);
+    _root.Log(Level.Debug, sMessageToLog, null);
     Assert.That(_messagesLogged, Is.EqualTo(_caRoot.Counter));
   }
 
   /// <summary>
   /// Runs through all table entries, logging messages.  Before each message 
is logged,
-  /// pre-conditions are checked to ensure the expected files exist and they 
are the
+  /// pre-conditions are checked to ensure the expected files exists, and they 
are the
   /// expected size.  After logging, verifies the same.
   /// </summary>
   /// <param name="sBaseFileName"></param>
@@ -464,10 +465,8 @@ public sealed class RollingFileAppenderTest
   /// <param name="sMessageToLog"></param>
   private void RollFromTableEntries(string sBaseFileName, RollConditions[] 
entries, string sMessageToLog)
   {
-    for (int i = 0; i < entries.Length; i++)
+    foreach (RollConditions entry in entries)
     {
-      RollConditions entry = entries[i];
-
       VerifyPreConditions(sBaseFileName, entry);
       LogMessage(sMessageToLog);
       VerifyPostConditions(sBaseFileName, entry);
@@ -524,23 +523,10 @@ public sealed class RollingFileAppenderTest
   /// <param name="sBackupGroup"></param>
   /// <param name="iBackupFileLength"></param>
   /// <returns></returns>
-  private static List<RollFileEntry> 
MakeBackupFileEntriesFromBackupGroup(string sBackupGroup, int iBackupFileLength)
-  {
-    string[] sFiles = sBackupGroup.Split(' ');
-
-    List<RollFileEntry> result = [];
-
-    for (int i = 0; i < sFiles.Length; i++)
-    {
-      // Weed out any whitespace entries from the array
-      if (sFiles[i].Trim().Length > 0)
-      {
-        result.Add(new RollFileEntry(sFiles[i], iBackupFileLength));
-      }
-    }
-
-    return result;
-  }
+  private static List<RollFileEntry> 
MakeBackupFileEntriesFromBackupGroup(string sBackupGroup, int 
iBackupFileLength) 
+    => sBackupGroup.Split(' ').Where(file => file.Trim().Length > 0)
+      .Select(file => new RollFileEntry(file, iBackupFileLength))
+      .ToList();
 
   /// <summary>
   /// Finds the iGroup group in the string (comma separated groups)
@@ -611,7 +597,7 @@ public sealed class RollingFileAppenderTest
 
   /// <summary>
   /// The stats are used to keep track of progress while we are algorithmically
-  /// generating a table of pre/post condition tests for file rolling.
+  /// generating a table of pre- / post-condition tests for file rolling.
   /// </summary>
   /// <param name="sTestMessage"></param>
   /// <returns></returns>
@@ -656,7 +642,7 @@ public sealed class RollingFileAppenderTest
   }
 
   /// <summary>
-  /// Generates the pre and post condition arrays from an array of backup 
files and the
+  /// Generates the pre- and post-condition arrays from an array of backup 
files and the
   /// current file / next file.
   /// </summary>
   private static RollConditions BuildTableEntry(string sBackupFiles,
@@ -735,7 +721,7 @@ public sealed class RollingFileAppenderTest
   /// <summary>
   /// This routine takes a list of backup file names and a message that will 
be logged
   /// repeatedly, and generates a collection of objects containing 
pre-condition and 
-  /// post-condition information.  This pre/post information shows the names 
and expected 
+  /// post-condition information.  This pre- / post-information shows the 
names and expected 
   /// file sizes for all files just before and just after a message is logged.
   /// </summary>
   /// <param name="sTestMessage">A message to log repeatedly</param>
@@ -880,7 +866,7 @@ public sealed class RollingFileAppenderTest
     // Oldest to newest when reading in a group left-to-right, so 1 2 3 means 
1 is the
     // oldest, and 3 is the newest
     //
-    string sBackupInfo = ", , , , ";
+    const string sBackupInfo = ", , , , ";
 
     //
     // Count Up
@@ -896,7 +882,7 @@ public sealed class RollingFileAppenderTest
     // Log 30 messages.  This is 5 groups, 6 checks per group ( 0, 100, 200, 
300, 400, 500 
     // bytes for current file as messages are logged.
     //
-    int iMessagesToLog = 30;
+    const int iMessagesToLog = 30;
 
     VerifyRolling(MakeNumericTestEntries(GetTestMessage(), sBackupInfo, 
iMessagesToLog));
   }
@@ -914,7 +900,7 @@ public sealed class RollingFileAppenderTest
     // Oldest to newest when reading in a group left-to-right, so 1 2 3 means 
1 is the
     // oldest, and 3 is the newest
     //
-    string sBackupInfo = "1, 1 2, 1 2 3, 1 2 3, 1 2 3";
+    const string sBackupInfo = "1, 1 2, 1 2 3, 1 2 3, 1 2 3";
 
     //
     // Count Up
@@ -925,7 +911,7 @@ public sealed class RollingFileAppenderTest
     // Log 30 messages.  This is 5 groups, 6 checks per group ( 0, 100, 200, 
300, 400, 500 
     // bytes for current file as messages are logged.
     //
-    int iMessagesToLog = 30;
+    const int iMessagesToLog = 30;
 
     VerifyRolling(MakeNumericTestEntries(GetTestMessage(), sBackupInfo, 
iMessagesToLog));
   }
@@ -943,7 +929,7 @@ public sealed class RollingFileAppenderTest
     // Oldest to newest when reading in a group left-to-right, so 1 2 3 means 
1 is the
     // oldest, and 3 is the newest
     //
-    string sBackupInfo = "1, 1 2, 1 2 3, 1 2 3 4, 1 2 3 4 5";
+    const string sBackupInfo = "1, 1 2, 1 2 3, 1 2 3 4, 1 2 3 4 5";
 
     //
     // Count Down
@@ -959,7 +945,7 @@ public sealed class RollingFileAppenderTest
     // Log 30 messages.  This is 5 groups, 6 checks per group ( 0, 100, 200, 
300, 400, 500 
     // bytes for current file as messages are logged.
     //
-    int iMessagesToLog = 30;
+    const int iMessagesToLog = 30;
 
     VerifyRolling(MakeNumericTestEntries(GetTestMessage(), sBackupInfo, 
iMessagesToLog));
   }
@@ -976,7 +962,7 @@ public sealed class RollingFileAppenderTest
     // Oldest to newest when reading in a group left-to-right, so 1 2 3 means 
1 is the
     // oldest, and 3 is the newest
     //
-    string sBackupInfo = ", , , , ";
+    const string sBackupInfo = ", , , , ";
 
     //
     // Count Up
@@ -992,7 +978,7 @@ public sealed class RollingFileAppenderTest
     // Log 30 messages.  This is 5 groups, 6 checks per group ( 0, 100, 200, 
300, 400, 500 
     // bytes for current file as messages are logged.
     //
-    int iMessagesToLog = 30;
+    const int iMessagesToLog = 30;
 
     VerifyRolling(MakeNumericTestEntries(GetTestMessage(), sBackupInfo, 
iMessagesToLog));
   }
@@ -1037,7 +1023,7 @@ public sealed class RollingFileAppenderTest
   [Test]
   public void TestInitializeRollBackups1()
   {
-    string sBaseFile = "LogFile.log";
+    const string sBaseFile = "LogFile.log";
     List<string> arrFiles =
     [
       "junk1",
@@ -1047,7 +1033,7 @@ public sealed class RollingFileAppenderTest
       "junk.log.2",
     ];
 
-    int iExpectedCurSizeRollBackups = 0;
+    const int iExpectedCurSizeRollBackups = 0;
     VerifyInitializeRollBackupsFromBaseFile(sBaseFile, arrFiles, 
iExpectedCurSizeRollBackups);
   }
 
@@ -1059,7 +1045,7 @@ public sealed class RollingFileAppenderTest
   {
     List<string> alFiles = MakeTestDataFromString(sBaseFile, "0,1,2");
 
-    int iExpectedCurSizeRollBackups = 2;
+    const int iExpectedCurSizeRollBackups = 2;
     VerifyInitializeRollBackupsFromBaseFile(sBaseFile, alFiles, 
iExpectedCurSizeRollBackups);
   }
 
@@ -1070,7 +1056,7 @@ public sealed class RollingFileAppenderTest
   public void TestInitializeCountUpFixed()
   {
     List<string> alFiles = MakeTestDataFromString("3,4,5");
-    int iExpectedValue = 5;
+    const int iExpectedValue = 5;
     InitializeAndVerifyExpectedValue(alFiles, FileName, 
CreateRollingFileAppender("3,0,1"), iExpectedValue);
   }
 
@@ -1081,7 +1067,7 @@ public sealed class RollingFileAppenderTest
   public void TestInitializeCountUpFixed2()
   {
     List<string> alFiles = MakeTestDataFromString("0,3");
-    int iExpectedValue = 3;
+    const int iExpectedValue = 3;
     InitializeAndVerifyExpectedValue(alFiles, FileName, 
CreateRollingFileAppender("3,0,1"), iExpectedValue);
   }
 
@@ -1093,7 +1079,7 @@ public sealed class RollingFileAppenderTest
   public void TestInitializeCountUpZeroBackups()
   {
     List<string> alFiles = MakeTestDataFromString("0,3");
-    int iExpectedValue = 0;
+    const int iExpectedValue = 0;
     InitializeAndVerifyExpectedValue(alFiles, FileName, 
CreateRollingFileAppender("0,0,1"), iExpectedValue);
   }
 
@@ -1105,7 +1091,7 @@ public sealed class RollingFileAppenderTest
   public void TestInitializeCountDownZeroBackups()
   {
     List<string> alFiles = MakeTestDataFromString("0,3");
-    int iExpectedValue = 0;
+    const int iExpectedValue = 0;
     InitializeAndVerifyExpectedValue(alFiles, FileName, 
CreateRollingFileAppender("0,0,-1"), iExpectedValue);
   }
 
@@ -1188,7 +1174,7 @@ public sealed class RollingFileAppenderTest
   }
 
   /// <summary>
-  /// Tests the count down case, with infinite max backups, to see that
+  /// Tests the count-down case, with infinite max backups, to see that
   /// initialization of the rolling file appender results in the expected value
   /// </summary>
   /// <param name="alFiles"></param>
@@ -1353,8 +1339,8 @@ public sealed class RollingFileAppenderTest
 
   private static void AssertFileEquals(string filename, string contents)
   {
-    string logcont = File.ReadAllText(filename);
-    Assert.That(logcont, Is.EqualTo(contents), "Log contents is not what is 
expected");
+    string logContent = File.ReadAllText(filename);
+    Assert.That(logContent, Is.EqualTo(contents), "Log contents is not what is 
expected");
     File.Delete(filename);
   }
 
@@ -1365,7 +1351,7 @@ public sealed class RollingFileAppenderTest
   public void TestLogOutput()
   {
     Utils.InconclusiveOnMono();
-    string filename = "test_simple.log";
+    const string filename = "test_simple.log";
     SilentErrorHandler sh = new();
     ILogger log = CreateLogger(filename, new FileAppender.ExclusiveLock(), sh);
     log.Log(GetType(), Level.Info, "This is a message", null);
@@ -1373,7 +1359,7 @@ public sealed class RollingFileAppenderTest
     DestroyLogger();
 
     AssertFileEquals(filename,
-        "This is a message" + Environment.NewLine + "This is a message 2" + 
Environment.NewLine);
+      "This is a message" + Environment.NewLine + "This is a message 2" + 
Environment.NewLine);
     Assert.That(sh.Message, Is.EqualTo(""), "Unexpected error message");
   }
 
@@ -1383,10 +1369,10 @@ public sealed class RollingFileAppenderTest
   [Test]
   public void TestExclusiveLockFails()
   {
-    string filename = "test_exclusive_lock_fails.log";
+    const string filename = "test_exclusive_lock_fails.log";
 
     FileStream fs = new(filename, FileMode.Create, FileAccess.Write, 
FileShare.None);
-    fs.Write(Encoding.ASCII.GetBytes("Test"), 0, 4);
+    fs.Write("Test"u8.ToArray(), 0, 4);
 
     SilentErrorHandler sh = new();
     ILogger log = CreateLogger(filename, new FileAppender.ExclusiveLock(), sh);
@@ -1406,10 +1392,10 @@ public sealed class RollingFileAppenderTest
   public void TestExclusiveLockRecovers()
   {
     Utils.InconclusiveOnMono();
-    string filename = "test_exclusive_lock_recovers.log";
+    const string filename = "test_exclusive_lock_recovers.log";
 
     FileStream fs = new(filename, FileMode.Create, FileAccess.Write, 
FileShare.None);
-    fs.Write(Encoding.ASCII.GetBytes("Test"), 0, 4);
+    fs.Write("Test"u8.ToArray(), 0, 4);
 
     SilentErrorHandler sh = new();
     ILogger log = CreateLogger(filename, new FileAppender.ExclusiveLock(), sh);
@@ -1430,7 +1416,7 @@ public sealed class RollingFileAppenderTest
   public void TestExclusiveLockLocks()
   {
     Utils.InconclusiveOnMono();
-    string filename = "test_exclusive_lock_locks.log";
+    const string filename = "test_exclusive_lock_locks.log";
     bool locked = false;
 
     SilentErrorHandler sh = new();
@@ -1440,7 +1426,7 @@ public sealed class RollingFileAppenderTest
     try
     {
       FileStream fs = new(filename, FileMode.Create, FileAccess.Write, 
FileShare.None);
-      fs.Write(Encoding.ASCII.GetBytes("Test"), 0, 4);
+      fs.Write("Test"u8.ToArray(), 0, 4);
       fs.Close();
     }
     catch (IOException e1)
@@ -1467,10 +1453,10 @@ public sealed class RollingFileAppenderTest
   public void TestMinimalLockFails()
   {
     Utils.InconclusiveOnMono();
-    string filename = "test_minimal_lock_fails.log";
+    const string filename = "test_minimal_lock_fails.log";
 
     FileStream fs = new(filename, FileMode.Create, FileAccess.Write, 
FileShare.None);
-    fs.Write(Encoding.ASCII.GetBytes("Test"), 0, 4);
+    fs.Write("Test"u8.ToArray(), 0, 4);
 
     SilentErrorHandler sh = new();
     ILogger log = CreateLogger(filename, new FileAppender.MinimalLock(), sh);
@@ -1491,10 +1477,10 @@ public sealed class RollingFileAppenderTest
   public void TestMinimalLockRecovers()
   {
     Utils.InconclusiveOnMono();
-    string filename = "test_minimal_lock_recovers.log";
+    const string filename = "test_minimal_lock_recovers.log";
 
     FileStream fs = new(filename, FileMode.Create, FileAccess.Write, 
FileShare.None);
-    fs.Write(Encoding.ASCII.GetBytes("Test"), 0, 4);
+    fs.Write("Test"u8.ToArray(), 0, 4);
 
     SilentErrorHandler sh = new();
     ILogger log = CreateLogger(filename, new FileAppender.MinimalLock(), sh);
@@ -1515,7 +1501,7 @@ public sealed class RollingFileAppenderTest
   public void TestMinimalLockUnlocks()
   {
     Utils.InconclusiveOnMono();
-    string filename = "test_minimal_lock_unlocks.log";
+    const string filename = "test_minimal_lock_unlocks.log";
     bool locked;
 
     SilentErrorHandler sh = new();
@@ -1544,10 +1530,10 @@ public sealed class RollingFileAppenderTest
   public void TestInterProcessLockFails()
   {
     Utils.InconclusiveOnMono();
-    string filename = "test_interprocess_lock_fails.log";
+    const string filename = "test_interprocess_lock_fails.log";
 
     FileStream fs = new(filename, FileMode.Create, FileAccess.Write, 
FileShare.None);
-    fs.Write(Encoding.ASCII.GetBytes("Test"), 0, 4);
+    fs.Write("Test"u8.ToArray(), 0, 4);
 
     SilentErrorHandler sh = new();
     ILogger log = CreateLogger(filename, new FileAppender.InterProcessLock(), 
sh);
@@ -1568,10 +1554,10 @@ public sealed class RollingFileAppenderTest
   public void TestInterProcessLockRecovers()
   {
     Utils.InconclusiveOnMono();
-    string filename = "test_interprocess_lock_recovers.log";
+    const string filename = "test_interprocess_lock_recovers.log";
 
     FileStream fs = new(filename, FileMode.Create, FileAccess.Write, 
FileShare.None);
-    fs.Write(Encoding.ASCII.GetBytes("Test"), 0, 4);
+    fs.Write("Test"u8.ToArray(), 0, 4);
 
     SilentErrorHandler sh = new();
     ILogger log = CreateLogger(filename, new FileAppender.InterProcessLock(), 
sh);
@@ -1592,7 +1578,7 @@ public sealed class RollingFileAppenderTest
   public void TestInterProcessLockUnlocks()
   {
     Utils.InconclusiveOnMono();
-    string filename = "test_interprocess_lock_unlocks.log";
+    const string filename = "test_interprocess_lock_unlocks.log";
     bool locked;
 
     SilentErrorHandler sh = new();
@@ -1642,7 +1628,7 @@ public sealed class RollingFileAppenderTest
   [Test]
   public void TestDefaultLockingModel()
   {
-    string filename = "test_default.log";
+    const string filename = "test_default.log";
 
     SilentErrorHandler sh = new();
     ILogger log = CreateLogger(filename, null, sh);
@@ -1695,19 +1681,9 @@ public sealed class RollingFileAppenderTest
   /// <param name="sFileName">Name of file to combine with numbers when 
generating counted file names</param>
   /// <param name="sFileNumbers">Comma separated list of numbers for counted 
file names</param>
   /// <returns></returns>
-  private static List<string> MakeTestDataFromString(string sFileName, string 
sFileNumbers)
-  {
-    List<string> alFiles = [];
-
-    string[] sNumbers = sFileNumbers.Split(',');
-    foreach (string sNumber in sNumbers)
-    {
-      int iValue = int.Parse(sNumber.Trim());
-      alFiles.Add(MakeFileName(sFileName, iValue));
-    }
-
-    return alFiles;
-  }
+  private static List<string> MakeTestDataFromString(string sFileName, string 
sFileNumbers) 
+    => sFileNumbers.Split(',').Select(sNumber => int.Parse(sNumber.Trim()))
+      .Select(iValue => MakeFileName(sFileName, iValue)).ToList();
 
   /// <summary>
   /// Tests that the current backup index is correctly detected
@@ -1729,8 +1705,8 @@ public sealed class RollingFileAppenderTest
   /// </summary>
   private static void VerifyInitializeRollBackups(int iBackups, int 
iMaxSizeRollBackups)
   {
-    string sBaseFile = "LogFile.log";
-    var arrFiles = new List<string> { "junk1" };
+    const string sBaseFile = "LogFile.log";
+    List<string> arrFiles = ["junk1"];
     for (int i = 0; i < iBackups; i++)
     {
       arrFiles.Add(MakeFileName(sBaseFile, i));
@@ -1749,14 +1725,9 @@ public sealed class RollingFileAppenderTest
     // 1 = file.log
     // 2 = file.log.1
     // 3 = file.log.2
-    if (iBackups is 0 or 1)
-    {
-      Assert.That(rfa.CurrentSizeRollBackups, Is.EqualTo(0));
-    }
-    else
-    {
-      Assert.That(rfa.CurrentSizeRollBackups, Is.EqualTo(Math.Min(iBackups - 
1, iMaxSizeRollBackups)));
-    }
+    Assert.That(rfa.CurrentSizeRollBackups, iBackups is 0 or 1 
+      ? Is.EqualTo(0) 
+      : Is.EqualTo(Math.Min(iBackups - 1, iMaxSizeRollBackups)));
   }
 
   /// <summary>
@@ -1784,11 +1755,7 @@ public sealed class RollingFileAppenderTest
   /// when it has not also been initialized with ActivateOptions().
   /// </summary>
   [Test]
-  public void TestCreateCloseNoActivateOptions()
-  {
-    var appender = new RollingFileAppender();
-    appender.Close();
-  }
+  public void TestCreateCloseNoActivateOptions() => new 
RollingFileAppender().Close();
 
   //
   // Helper functions to dig into the appender
diff --git a/src/log4net.Tests/Appender/TraceAppenderTest.cs 
b/src/log4net.Tests/Appender/TraceAppenderTest.cs
index 2f889c2b..a8fc41ed 100644
--- a/src/log4net.Tests/Appender/TraceAppenderTest.cs
+++ b/src/log4net.Tests/Appender/TraceAppenderTest.cs
@@ -79,9 +79,8 @@ public class TraceAppenderTest
     ILog log = LogManager.GetLogger(rep.Name, GetType());
     log.Debug("Message");
 
-    Assert.That(
-        categoryTraceListener.Category,
-        Is.EqualTo(MethodInfo.GetCurrentMethod()!.Name));
+    Assert.That(categoryTraceListener.Category,
+      Is.EqualTo(MethodBase.GetCurrentMethod()!.Name));
   }
 }
 
@@ -92,10 +91,7 @@ public class CategoryTraceListener : TraceListener
     // empty
   }
 
-  public override void WriteLine(string? message)
-  {
-    Write(message);
-  }
+  public override void WriteLine(string? message) => Write(message);
 
   public override void Write(string? message, string? category)
   {
diff --git a/src/log4net.Tests/Core/FixingTest.cs 
b/src/log4net.Tests/Core/FixingTest.cs
index e115ae55..3efe326b 100644
--- a/src/log4net.Tests/Core/FixingTest.cs
+++ b/src/log4net.Tests/Core/FixingTest.cs
@@ -67,7 +67,7 @@ public class FixingTest
     // Arrange
     // Act
     var allFlags = Enum.GetValues(typeof(FixFlags)).Cast<FixFlags>()
-      .Except(new[] { FixFlags.None })
+      .Except([FixFlags.None])
       .ToArray();
     // Assert
     foreach (var flag in allFlags)
@@ -88,7 +88,7 @@ public class FixingTest
       loggingEventData.LoggerName,
       loggingEventData.Level,
       loggingEventData.Message,
-      new Exception("This is the exception"));
+      new("This is the exception"));
 
     AssertExpectedLoggingEvent(loggingEvent, loggingEventData);
 
@@ -107,7 +107,7 @@ public class FixingTest
       loggingEventData.LoggerName,
       loggingEventData.Level,
       loggingEventData.Message,
-      new Exception("This is the exception"));
+      new("This is the exception"));
 
     AssertExpectedLoggingEvent(loggingEvent, loggingEventData);
 
@@ -128,7 +128,7 @@ public class FixingTest
       loggingEventData.LoggerName,
       loggingEventData.Level,
       loggingEventData.Message,
-      new Exception("This is the exception"));
+      new("This is the exception"));
 
     AssertExpectedLoggingEvent(loggingEvent, loggingEventData);
 
@@ -145,7 +145,7 @@ public class FixingTest
       Level = Level.Warn,
       Message = "Logging event works",
       Domain = "ReallySimpleApp",
-      LocationInfo = new LocationInfo(typeof(FixingTest).Name, "Main", 
"Class1.cs", "29"), //Completely arbitary
+      LocationInfo = new(nameof(FixingTest), "Main", "Class1.cs", "29"), 
//Completely arbitary
       ThreadName = Thread.CurrentThread.Name,
       TimeStampUtc = DateTime.UtcNow.Date,
       ExceptionString = "Exception occured here",
@@ -161,7 +161,7 @@ public class FixingTest
     Assert.That(loggingEventData.Identity, Is.Null, "Identity is incorrect");
     Assert.That(loggingEventData.Level, Is.EqualTo(Level.Warn), "Level is 
incorrect");
     Assert.That(loggingEvent.LocationInformation, Is.Not.Null);
-    Assert.That(loggingEvent.LocationInformation!.MethodName, 
Is.EqualTo("get_LocationInformation"), "Location Info is incorrect");
+    Assert.That(loggingEvent.LocationInformation.MethodName, 
Is.EqualTo("get_LocationInformation"), "Location Info is incorrect");
     Assert.That(loggingEventData.LoggerName, 
Is.EqualTo("log4net.Tests.Core.FixingTest"), "LoggerName is incorrect");
     Assert.That(loggingEvent.Repository, 
Is.EqualTo(LogManager.GetRepository(TestRepository)), "Repository is 
incorrect");
     Assert.That(loggingEventData.ThreadName, 
Is.EqualTo(Thread.CurrentThread.Name), "ThreadName is incorrect");
diff --git a/src/log4net.Tests/Core/LevelMappingTest.cs 
b/src/log4net.Tests/Core/LevelMappingTest.cs
index 0bcb1ed6..52b25d89 100644
--- a/src/log4net.Tests/Core/LevelMappingTest.cs
+++ b/src/log4net.Tests/Core/LevelMappingTest.cs
@@ -17,7 +17,6 @@
 //
 #endregion
 
-using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Reflection;
@@ -80,7 +79,7 @@ public sealed class LevelMappingTest
 
     List<LevelMappingEntry> sorted = 
(List<LevelMappingEntry>)typeof(LevelMapping)
       .GetMethod("SortEntries", BindingFlags.NonPublic | 
BindingFlags.Instance)!
-      .Invoke(mapping, Array.Empty<object>())!;
+      .Invoke(mapping, [])!;
 
     Assert.That(sorted, Is.EquivalentTo(withoutDuplicates));
     Assert.That(sorted, Is.Not.EqualTo(withoutDuplicates).AsCollection);
diff --git a/src/log4net.Tests/Core/LevelTest.cs 
b/src/log4net.Tests/Core/LevelTest.cs
index 6d86bd52..5382eb87 100644
--- a/src/log4net.Tests/Core/LevelTest.cs
+++ b/src/log4net.Tests/Core/LevelTest.cs
@@ -17,7 +17,6 @@
 //
 #endregion
 
-using System;
 using System.Runtime.CompilerServices;
 using log4net.Core;
 
diff --git a/src/log4net.Tests/Core/LoggingEventTest.cs 
b/src/log4net.Tests/Core/LoggingEventTest.cs
index 6f658629..2add2d1a 100644
--- a/src/log4net.Tests/Core/LoggingEventTest.cs
+++ b/src/log4net.Tests/Core/LoggingEventTest.cs
@@ -71,10 +71,10 @@ public sealed class LoggingEventTest
     Assert.That(ev2.ThreadName, Is.EqualTo("aThread"));
     Assert.That(ev2.TimeStampUtc, Is.EqualTo(timestamp));
     Assert.That(ev2.LocationInfo, Is.Not.Null);
-    Assert.That(ev2.LocationInfo!.ClassName, 
Is.EqualTo("System.RuntimeMethodHandle"));
-    Assert.That(ev2.LocationInfo!.MethodName, Is.EqualTo("InvokeMethod"));
-    Assert.That(ev2.LocationInfo!.FileName, Is.Null);
-    Assert.That(ev2.LocationInfo!.LineNumber, Is.EqualTo("0"));
+    Assert.That(ev2.LocationInfo.ClassName, 
Is.EqualTo("System.RuntimeMethodHandle"));
+    Assert.That(ev2.LocationInfo.MethodName, Is.EqualTo("InvokeMethod"));
+    Assert.That(ev2.LocationInfo.FileName, Is.Null);
+    Assert.That(ev2.LocationInfo.LineNumber, Is.EqualTo("0"));
     Assert.That(ev2.UserName, Is.EqualTo("aUser"));
     Assert.That(ev2.Identity, Is.EqualTo("anIdentity"));
     Assert.That(ev2.ExceptionObject, Is.Null);
@@ -99,16 +99,16 @@ public sealed class LoggingEventTest
     LoggingEvent ev = (LoggingEvent)formatter.Deserialize(stream);
     Assert.That(ev, Is.Not.Null);
 
-    Assert.That(ev!.LoggerName, Is.EqualTo("aLogger"));
+    Assert.That(ev.LoggerName, Is.EqualTo("aLogger"));
     Assert.That(ev.Level, Is.EqualTo(Level.Log4Net_Debug));
     Assert.That(ev.MessageObject, Is.Null);
     Assert.That(ev.RenderedMessage, Is.EqualTo("aMessage"));
     Assert.That(ev.ThreadName, Is.EqualTo("aThread"));
     Assert.That(ev.LocationInfo, Is.Not.Null);
-    Assert.That(ev.LocationInfo!.ClassName, Is.EqualTo("?"));
-    Assert.That(ev.LocationInfo!.MethodName, Is.EqualTo("?"));
-    Assert.That(ev.LocationInfo!.FileName, Is.EqualTo("?"));
-    Assert.That(ev.LocationInfo!.LineNumber, Is.EqualTo("?"));
+    Assert.That(ev.LocationInfo.ClassName, Is.EqualTo("?"));
+    Assert.That(ev.LocationInfo.MethodName, Is.EqualTo("?"));
+    Assert.That(ev.LocationInfo.FileName, Is.EqualTo("?"));
+    Assert.That(ev.LocationInfo.LineNumber, Is.EqualTo("?"));
     Assert.That(ev.UserName, Is.EqualTo("aUser"));
     Assert.That(ev.Identity, Is.EqualTo("anIdentity"));
     Assert.That(ev.ExceptionObject, Is.Null);
@@ -146,10 +146,9 @@ public sealed class LoggingEventTest
   [Test]
   public void UserNameTest()
   {
-    string expectedUserName =
-                Environment.OSVersion.VersionString.StartsWith("Microsoft 
Windows")?
-                  $"{Environment.UserDomainName}\\{Environment.UserName}"
-                : Environment.UserName;
+    string expectedUserName = Environment.OSVersion.Platform == 
PlatformID.Win32NT
+      ? @$"{Environment.UserDomainName}\{Environment.UserName}"
+      : Environment.UserName;
     LoggingEvent sut = new();
     Assert.That(sut.UserName, Is.EqualTo(expectedUserName));
   }
diff --git a/src/log4net.Tests/Filter/FilterTest.cs 
b/src/log4net.Tests/Filter/FilterTest.cs
index b35b703a..f24735ba 100644
--- a/src/log4net.Tests/Filter/FilterTest.cs
+++ b/src/log4net.Tests/Filter/FilterTest.cs
@@ -38,25 +38,26 @@ public class FilterTest
   public void FilterConfigurationTest()
   {
     var log4NetConfig = new XmlDocument();
-    log4NetConfig.LoadXml(@"
-            <log4net>
-            <appender name=""MemoryAppender"" 
type=""log4net.Appender.MemoryAppender, log4net"">
-                <filter type=""log4net.Tests.Filter.MultiplePropertyFilter, 
log4net.Tests"">
-                    <condition>
-                        <key value=""ABC"" />
-                        <stringToMatch value=""123"" />
-                    </condition>
-                    <condition>
-                        <key value=""DEF"" />
-                        <stringToMatch value=""456"" />
-                    </condition>
-                </filter>
-            </appender>
-            <root>
-                <level value=""ALL"" />
-                <appender-ref ref=""MemoryAppender"" />
-            </root>
-            </log4net>");
+    log4NetConfig.LoadXml("""
+      <log4net>
+      <appender name="MemoryAppender" type="log4net.Appender.MemoryAppender, 
log4net">
+          <filter type="log4net.Tests.Filter.MultiplePropertyFilter, 
log4net.Tests">
+              <condition>
+                  <key value="ABC" />
+                  <stringToMatch value="123" />
+              </condition>
+              <condition>
+                  <key value="DEF" />
+                  <stringToMatch value="456" />
+              </condition>
+          </filter>
+      </appender>
+      <root>
+          <level value="ALL" />
+          <appender-ref ref="MemoryAppender" />
+      </root>
+      </log4net>
+    """);
 
     ILoggerRepository rep = 
LogManager.CreateRepository(Guid.NewGuid().ToString());
     XmlConfigurator.Configure(rep, log4NetConfig["log4net"]!);
@@ -70,7 +71,7 @@ public class FilterTest
     MultiplePropertyFilter? multiplePropertyFilter =
         ((AppenderSkeleton)appender!).FilterHead as MultiplePropertyFilter;
     Assert.That(multiplePropertyFilter, Is.Not.Null);
-    MultiplePropertyFilter.Condition[] conditions = 
multiplePropertyFilter!.GetConditions();
+    MultiplePropertyFilter.Condition[] conditions = 
multiplePropertyFilter.GetConditions();
     Assert.That(conditions, Has.Length.EqualTo(2));
     Assert.That(conditions[0].Key, Is.EqualTo("ABC"));
     Assert.That(conditions[0].StringToMatch, Is.EqualTo("123"));
@@ -79,9 +80,9 @@ public class FilterTest
   }
 }
 
-public class MultiplePropertyFilter : FilterSkeleton
+internal sealed class MultiplePropertyFilter : FilterSkeleton
 {
-  private readonly List<Condition> _conditions = new();
+  private readonly List<Condition> _conditions = [];
 
   public override FilterDecision Decide(LoggingEvent loggingEvent) => 
FilterDecision.Accept;
 
@@ -89,9 +90,9 @@ public class MultiplePropertyFilter : FilterSkeleton
 
   public void AddCondition(Condition condition) => _conditions.Add(condition);
 
-  public class Condition
+  internal sealed class Condition
   {
     public string? Key { get; set; }
     public string? StringToMatch { get; set; }
   }
-}
+}
\ No newline at end of file
diff --git a/src/log4net.Tests/Hierarchy/HierarchyTest.cs 
b/src/log4net.Tests/Hierarchy/HierarchyTest.cs
index b0d4d8ee..cce95b22 100644
--- a/src/log4net.Tests/Hierarchy/HierarchyTest.cs
+++ b/src/log4net.Tests/Hierarchy/HierarchyTest.cs
@@ -37,20 +37,21 @@ public class HierarchyTest
   {
     // LOG4NET-53: Allow repository properties to be set in the config file
     XmlDocument log4NetConfig = new();
-    log4NetConfig.LoadXml(@"
+    log4NetConfig.LoadXml("""
       <log4net>
         <property>
-          <key value=""two-plus-two"" />
-          <value value=""4"" />
+          <key value="two-plus-two" />
+          <value value="4" />
         </property>
-        <appender name=""StringAppender"" 
type=""log4net.Tests.Appender.StringAppender, log4net.Tests"">
-          <layout type=""log4net.Layout.SimpleLayout"" />
+        <appender name="StringAppender" 
type="log4net.Tests.Appender.StringAppender, log4net.Tests">
+          <layout type="log4net.Layout.SimpleLayout" />
         </appender>
         <root>
-          <level value=""ALL"" />
-          <appender-ref ref=""StringAppender"" />
+          <level value="ALL" />
+          <appender-ref ref="StringAppender" />
         </root>
-      </log4net>");
+      </log4net>
+    """);
 
     ILoggerRepository rep = 
LogManager.CreateRepository(Guid.NewGuid().ToString());
     XmlConfigurator.Configure(rep, log4NetConfig["log4net"]!);
@@ -98,19 +99,20 @@ public class HierarchyTest
   public void LoggerNameCanConsistOfASingleDot()
   {
     XmlDocument log4NetConfig = new();
-    log4NetConfig.LoadXml(@"
+    log4NetConfig.LoadXml("""
       <log4net>
-        <appender name=""StringAppender"" 
type=""log4net.Tests.Appender.StringAppender, log4net.Tests"">
-          <layout type=""log4net.Layout.SimpleLayout"" />
+        <appender name="StringAppender" 
type="log4net.Tests.Appender.StringAppender, log4net.Tests">
+          <layout type="log4net.Layout.SimpleLayout" />
         </appender>
         <root>
-          <level value=""ALL"" />
-          <appender-ref ref=""StringAppender"" />
+          <level value="ALL" />
+          <appender-ref ref="StringAppender" />
         </root>
-        <logger name=""."">
-          <level value=""WARN"" />
+        <logger name=".">
+          <level value="WARN" />
         </logger>
-      </log4net>");
+      </log4net>
+    """);
 
     ILoggerRepository rep = 
LogManager.CreateRepository(Guid.NewGuid().ToString());
     XmlConfigurator.Configure(rep, log4NetConfig["log4net"]!);
@@ -120,19 +122,20 @@ public class HierarchyTest
   public void LoggerNameCanConsistOfASingleNonDot()
   {
     XmlDocument log4NetConfig = new();
-    log4NetConfig.LoadXml(@"
+    log4NetConfig.LoadXml("""
       <log4net>
-        <appender name=""StringAppender"" 
type=""log4net.Tests.Appender.StringAppender, log4net.Tests"">
-          <layout type=""log4net.Layout.SimpleLayout"" />
+        <appender name="StringAppender" 
type="log4net.Tests.Appender.StringAppender, log4net.Tests">
+          <layout type="log4net.Layout.SimpleLayout" />
         </appender>
         <root>
-          <level value=""ALL"" />
-          <appender-ref ref=""StringAppender"" />
+          <level value="ALL" />
+          <appender-ref ref="StringAppender" />
         </root>
-        <logger name=""L"">
-          <level value=""WARN"" />
+        <logger name="L">
+          <level value="WARN" />
         </logger>
-      </log4net>");
+      </log4net>
+    """);
 
     ILoggerRepository rep = 
LogManager.CreateRepository(Guid.NewGuid().ToString());
     XmlConfigurator.Configure(rep, log4NetConfig["log4net"]!);
@@ -142,19 +145,20 @@ public class HierarchyTest
   public void LoggerNameCanContainSequenceOfDots()
   {
     XmlDocument log4NetConfig = new();
-    log4NetConfig.LoadXml(@"
+    log4NetConfig.LoadXml("""
       <log4net>
-        <appender name=""StringAppender"" 
type=""log4net.Tests.Appender.StringAppender, log4net.Tests"">
-          <layout type=""log4net.Layout.SimpleLayout"" />
+        <appender name="StringAppender" 
type="log4net.Tests.Appender.StringAppender, log4net.Tests">
+          <layout type="log4net.Layout.SimpleLayout" />
         </appender>
         <root>
-          <level value=""ALL"" />
-          <appender-ref ref=""StringAppender"" />
+          <level value="ALL" />
+          <appender-ref ref="StringAppender" />
         </root>
-        <logger name=""L..M"">
-          <level value=""WARN"" />
+        <logger name="L..M">
+          <level value="WARN" />
         </logger>
-      </log4net>");
+      </log4net>
+    """);
 
     ILoggerRepository rep = 
LogManager.CreateRepository(Guid.NewGuid().ToString());
     XmlConfigurator.Configure(rep, log4NetConfig["log4net"]!);
@@ -168,16 +172,17 @@ public class HierarchyTest
   public void CreateNestedLoggersInReverseOrder()
   {
     XmlDocument log4NetConfig = new();
-    log4NetConfig.LoadXml(@"
+    log4NetConfig.LoadXml("""
       <log4net>
-        <appender name=""StringAppender"" 
type=""log4net.Tests.Appender.StringAppender, log4net.Tests"">
-          <layout type=""log4net.Layout.SimpleLayout"" />
+        <appender name="StringAppender" 
type="log4net.Tests.Appender.StringAppender, log4net.Tests">
+          <layout type="log4net.Layout.SimpleLayout" />
         </appender>
         <root>
-          <level value=""ALL"" />
-          <appender-ref ref=""StringAppender"" />
+          <level value="ALL" />
+          <appender-ref ref="StringAppender" />
         </root>
-      </log4net>");
+      </log4net>
+    """);
 
     ILoggerRepository rep = 
LogManager.CreateRepository(Guid.NewGuid().ToString());
     XmlConfigurator.Configure(rep, log4NetConfig["log4net"]!);
@@ -193,16 +198,17 @@ public class HierarchyTest
   public void CreateChildLoggersMultiThreaded()
   {
     XmlDocument log4NetConfig = new();
-    log4NetConfig.LoadXml(@"
+    log4NetConfig.LoadXml("""
       <log4net>
-        <appender name=""StringAppender"" 
type=""log4net.Tests.Appender.StringAppender, log4net.Tests"">
-          <layout type=""log4net.Layout.SimpleLayout"" />
+        <appender name="StringAppender" 
type="log4net.Tests.Appender.StringAppender, log4net.Tests">
+          <layout type="log4net.Layout.SimpleLayout" />
         </appender>
         <root>
-          <level value=""ALL"" />
-          <appender-ref ref=""StringAppender"" />
+          <level value="ALL" />
+          <appender-ref ref="StringAppender" />
         </root>
-      </log4net>");
+      </log4net>
+    """);
 
     ILoggerRepository rep = 
LogManager.CreateRepository(Guid.NewGuid().ToString());
     XmlConfigurator.Configure(rep, log4NetConfig["log4net"]!);
diff --git a/src/log4net.Tests/Layout/DynamicPatternLayoutTest.cs 
b/src/log4net.Tests/Layout/DynamicPatternLayoutTest.cs
index 99291bbf..c972b32a 100644
--- a/src/log4net.Tests/Layout/DynamicPatternLayoutTest.cs
+++ b/src/log4net.Tests/Layout/DynamicPatternLayoutTest.cs
@@ -19,8 +19,6 @@
 
 using log4net.Layout;
 
-using NUnit.Framework;
-
 namespace log4net.Tests.Layout;
 
 /// <summary>
diff --git a/src/log4net.Tests/LoggerRepository/ConfigurationMessages.cs 
b/src/log4net.Tests/LoggerRepository/ConfigurationMessages.cs
index 18382461..9fdb6551 100644
--- a/src/log4net.Tests/LoggerRepository/ConfigurationMessages.cs
+++ b/src/log4net.Tests/LoggerRepository/ConfigurationMessages.cs
@@ -43,20 +43,21 @@ public class ConfigurationMessages
       LogLog.InternalDebugging = true;
 
       XmlDocument log4NetConfig = new();
-      log4NetConfig.LoadXml(@"
-                <log4net>
-                  <appender name=""LogLogAppender"" 
type=""log4net.Tests.LoggerRepository.LogLogAppender, log4net.Tests"">
-                    <layout type=""log4net.Layout.SimpleLayout"" />
-                  </appender>
-                  <appender name=""MemoryAppender"" 
type=""log4net.Appender.MemoryAppender"">
-                    <layout type=""log4net.Layout.SimpleLayout"" />
-                  </appender>
-                  <root>
-                    <level value=""ALL"" />
-                    <appender-ref ref=""LogLogAppender"" />
-                    <appender-ref ref=""MemoryAppender"" />
-                  </root>  
-                </log4net>");
+      log4NetConfig.LoadXml("""
+        <log4net>
+          <appender name="LogLogAppender" 
type="log4net.Tests.LoggerRepository.LogLogAppender, log4net.Tests">
+            <layout type="log4net.Layout.SimpleLayout" />
+          </appender>
+          <appender name="MemoryAppender" 
type="log4net.Appender.MemoryAppender">
+            <layout type="log4net.Layout.SimpleLayout" />
+          </appender>
+          <root>
+            <level value="ALL" />
+            <appender-ref ref="LogLogAppender" />
+            <appender-ref ref="MemoryAppender" />
+          </root>  
+        </log4net>
+      """);
 
       ILoggerRepository rep = 
LogManager.CreateRepository(Guid.NewGuid().ToString());
       rep.ConfigurationChanged += new 
LoggerRepositoryConfigurationChangedEventHandler(rep_ConfigurationChanged);
@@ -99,4 +100,4 @@ public class LogLogAppender : AppenderSkeleton
     LogLog.Warn(_declaringType, "Warn - Appending...");
     LogLog.Error(_declaringType, "Error - Appending...");
   }
-}
+}
\ No newline at end of file
diff --git a/src/log4net.Tests/Signing.cs b/src/log4net.Tests/Signing.cs
index 8b552433..565b447c 100644
--- a/src/log4net.Tests/Signing.cs
+++ b/src/log4net.Tests/Signing.cs
@@ -33,6 +33,6 @@ public class Signing
     // Act
     var result = asm.GetName().GetPublicKey();
     Assert.That(result, Is.Not.Null);
-    Assert.That(result!.Length, Is.Not.EqualTo(0));
+    Assert.That(result, Is.Not.Empty);
   }
 }
\ No newline at end of file
diff --git a/src/log4net.Tests/Util/LogLogTest.cs 
b/src/log4net.Tests/Util/LogLogTest.cs
index e72c1020..3cde0e3b 100644
--- a/src/log4net.Tests/Util/LogLogTest.cs
+++ b/src/log4net.Tests/Util/LogLogTest.cs
@@ -74,7 +74,7 @@ public class LogLogTest
   [Test]
   public void LogReceivedAdapter()
   {
-    List<LogLog> messages = new();
+    List<LogLog> messages = [];
 
     using LogLog.LogReceivedAdapter _ = new(messages);
     LogLog.Debug(GetType(), "Won't be recorded");
diff --git a/src/log4net.Tests/Util/PatternConverterTest.cs 
b/src/log4net.Tests/Util/PatternConverterTest.cs
index a71654a0..19756232 100644
--- a/src/log4net.Tests/Util/PatternConverterTest.cs
+++ b/src/log4net.Tests/Util/PatternConverterTest.cs
@@ -20,6 +20,7 @@
 */
 
 using System;
+using System.Diagnostics.CodeAnalysis;
 using System.IO;
 using System.Xml;
 using log4net.Config;
@@ -39,30 +40,31 @@ public class PatternConverterTest
   public void PatternLayoutConverterProperties()
   {
     XmlDocument log4NetConfig = new();
-    log4NetConfig.LoadXml(@"
-                <log4net>
-                  <appender name=""StringAppender"" 
type=""log4net.Tests.Appender.StringAppender, log4net.Tests"">
-                    <layout type=""log4net.Layout.PatternLayout"">
-                        <converter>
-                            <name value=""propertyKeyCount"" />
-                            <type 
value=""log4net.Tests.Util.PropertyKeyCountPatternLayoutConverter, 
log4net.Tests"" />
-                            <property>
-                                <key value=""one-plus-one"" />
-                                <value value=""2"" />
-                            </property>
-                            <property>
-                               <key value=""two-plus-two"" />
-                               <value value=""4"" />
-                            </property> 
-                        </converter>
-                        <conversionPattern value=""%propertyKeyCount"" />
-                    </layout>
-                  </appender>
-                  <root>
-                    <level value=""ALL"" />                  
-                    <appender-ref ref=""StringAppender"" />
-                  </root>  
-                </log4net>");
+    log4NetConfig.LoadXml("""
+      <log4net>
+        <appender name="StringAppender" 
type="log4net.Tests.Appender.StringAppender, log4net.Tests">
+          <layout type="log4net.Layout.PatternLayout">
+              <converter>
+                  <name value="propertyKeyCount" />
+                  <type 
value="log4net.Tests.Util.PropertyKeyCountPatternLayoutConverter, 
log4net.Tests" />
+                  <property>
+                      <key value="one-plus-one" />
+                      <value value="2" />
+                  </property>
+                  <property>
+                     <key value="two-plus-two" />
+                     <value value="4" />
+                  </property> 
+              </converter>
+              <conversionPattern value="%propertyKeyCount" />
+          </layout>
+        </appender>
+        <root>
+          <level value="ALL" />                  
+          <appender-ref ref="StringAppender" />
+        </root>  
+      </log4net>
+    """);
 
     ILoggerRepository rep = 
LogManager.CreateRepository(Guid.NewGuid().ToString());
     XmlConfigurator.Configure(rep, log4NetConfig["log4net"]!);
@@ -73,8 +75,8 @@ public class PatternConverterTest
     PropertyKeyCountPatternLayoutConverter? converter =
         PropertyKeyCountPatternLayoutConverter.MostRecentInstance;
     Assert.That(converter, Is.Not.Null);
-    Assert.That(converter!.Properties, Is.Not.Null);
-    Assert.That(converter.Properties!, Has.Count.EqualTo(2));
+    Assert.That(converter.Properties, Is.Not.Null);
+    Assert.That(converter.Properties, Has.Count.EqualTo(2));
     Assert.That(converter.Properties["two-plus-two"], Is.EqualTo("4"));
 
     StringAppender appender =
@@ -86,31 +88,32 @@ public class PatternConverterTest
   public void PatternConverterProperties()
   {
     XmlDocument log4NetConfig = new();
-    log4NetConfig.LoadXml(@"
-                <log4net>
-                  <appender name=""PatternStringAppender"" 
type=""log4net.Tests.Util.PatternStringAppender, log4net.Tests"">
-                    <layout type=""log4net.Layout.SimpleLayout"" />
-                    <setting>
-                        <converter>
-                            <name value=""propertyKeyCount"" />
-                            <type 
value=""log4net.Tests.Util.PropertyKeyCountPatternConverter, log4net.Tests"" />
-                            <property>
-                                <key value=""one-plus-one"" />
-                                <value value=""2"" />
-                            </property>
-                            <property>
-                               <key value=""two-plus-two"" />
-                               <value value=""4"" />
-                            </property> 
-                        </converter>
-                        <conversionPattern value=""%propertyKeyCount"" />
-                    </setting>
-                  </appender>
-                  <root>
-                    <level value=""ALL"" />                  
-                    <appender-ref ref=""PatternStringAppender"" />
-                  </root>  
-                </log4net>");
+    log4NetConfig.LoadXml("""
+      <log4net>
+        <appender name="PatternStringAppender" 
type="log4net.Tests.Util.PatternStringAppender, log4net.Tests">
+          <layout type="log4net.Layout.SimpleLayout" />
+          <setting>
+              <converter>
+                  <name value="propertyKeyCount" />
+                  <type 
value="log4net.Tests.Util.PropertyKeyCountPatternConverter, log4net.Tests" />
+                  <property>
+                      <key value="one-plus-one" />
+                      <value value="2" />
+                  </property>
+                  <property>
+                     <key value="two-plus-two" />
+                     <value value="4" />
+                  </property> 
+              </converter>
+              <conversionPattern value="%propertyKeyCount" />
+          </setting>
+        </appender>
+        <root>
+          <level value="ALL" />                  
+          <appender-ref ref="PatternStringAppender" />
+        </root>  
+      </log4net>
+    """);
 
     ILoggerRepository rep = 
LogManager.CreateRepository(Guid.NewGuid().ToString());
     XmlConfigurator.Configure(rep, log4NetConfig["log4net"]!);
@@ -121,44 +124,49 @@ public class PatternConverterTest
     PropertyKeyCountPatternConverter? converter =
         PropertyKeyCountPatternConverter.MostRecentInstance;
     Assert.That(converter, Is.Not.Null);
-    Assert.That(converter!.Properties, Is.Not.Null);
-    Assert.That(converter!.Properties!, Has.Count.EqualTo(2));
+    Assert.That(converter.Properties, Is.Not.Null);
+    Assert.That(converter.Properties, Has.Count.EqualTo(2));
     Assert.That(converter.Properties["two-plus-two"], Is.EqualTo("4"));
 
     PatternStringAppender appender =
         
(PatternStringAppender)LogManager.GetRepository(rep.Name).GetAppenders()[0];
     Assert.That(appender.Setting, Is.Not.Null);
-    Assert.That(appender.Setting!.Format(), Is.EqualTo("2"));
+    Assert.That(appender.Setting.Format(), Is.EqualTo("2"));
   }
 }
 
+// ReSharper disable once ClassNeverInstantiated.Global
 public class PropertyKeyCountPatternLayoutConverter : PatternLayoutConverter
 {
   public PropertyKeyCountPatternLayoutConverter() => MostRecentInstance = this;
 
-  [System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1062:Validate 
arguments of public methods")]
+  [SuppressMessage("Design", "CA1062:Validate arguments of public methods")]
   protected override void Convert(TextWriter writer, LoggingEvent 
loggingEvent) 
     => writer.Write(Properties!.GetKeys().Length);
 
   public static PropertyKeyCountPatternLayoutConverter? MostRecentInstance { 
get; private set; }
 }
 
+// ReSharper disable once ClassNeverInstantiated.Global
 public class PropertyKeyCountPatternConverter : PatternConverter
 {
   public PropertyKeyCountPatternConverter() => MostRecentInstance = this;
 
-  [System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1062:Validate 
arguments of public methods")]
+  [SuppressMessage("Design", "CA1062:Validate arguments of public methods")]
   public override void Convert(TextWriter writer, object? state)
     => writer.Write(Properties!.GetKeys().Length);
 
   public static PropertyKeyCountPatternConverter? MostRecentInstance { get; 
private set; }
 }
 
-public class PatternStringAppender : StringAppender
+// ReSharper disable once ClassNeverInstantiated.Global
+internal sealed class PatternStringAppender : StringAppender
 {
-  public PatternStringAppender() => MostRecentInstace = this;
+  public PatternStringAppender() => MostRecentInstance = this;
 
+  // ReSharper disable once UnusedAutoPropertyAccessor.Global
   public PatternString? Setting { get; set; }
 
-  public static PatternStringAppender? MostRecentInstace { get; private set; }
+  // ReSharper disable once UnusedAutoPropertyAccessor.Global
+  public static PatternStringAppender? MostRecentInstance { get; private set; }
 }
diff --git a/src/log4net.Tests/Util/PatternStringTest.cs 
b/src/log4net.Tests/Util/PatternStringTest.cs
index 6d4211cc..e92dc8d7 100644
--- a/src/log4net.Tests/Util/PatternStringTest.cs
+++ b/src/log4net.Tests/Util/PatternStringTest.cs
@@ -56,13 +56,13 @@ public class PatternStringTest : MarshalByRefObject
   [Test]
   public void TestAppSettingPathConverter()
   {
-    string configurationFileContent = @"
-<configuration>
-  <appSettings>
-    <add key=""TestKey"" value = ""TestValue"" />
-  </appSettings>
-</configuration>
-";
+    string configurationFileContent = """
+      <configuration>
+        <appSettings>
+          <add key="TestKey" value = "TestValue" />
+        </appSettings>
+      </configuration>
+    """;
     string? configurationFileName = null;
     AppDomain? appDomain = null;
     try
diff --git a/src/log4net.Tests/Util/SystemInfoTest.cs 
b/src/log4net.Tests/Util/SystemInfoTest.cs
index 1ef8efe3..8cd3fd75 100644
--- a/src/log4net.Tests/Util/SystemInfoTest.cs
+++ b/src/log4net.Tests/Util/SystemInfoTest.cs
@@ -55,9 +55,9 @@ public class SystemInfoTest
 
   private static Func<string> GetAssemblyLocationInfoMethodCall()
   {
-    var method = 
typeof(SystemInfoTest).GetMethod(nameof(TestAssemblyLocationInfoMethod), 
Array.Empty<Type>());
-    var methodCall = Expression.Call(null, method!, Array.Empty<Expression>());
-    return Expression.Lambda<Func<string>>(methodCall, 
Array.Empty<ParameterExpression>()).Compile();
+    var method = 
typeof(SystemInfoTest).GetMethod(nameof(TestAssemblyLocationInfoMethod), []);
+    var methodCall = Expression.Call(null, method!, []);
+    return Expression.Lambda<Func<string>>(methodCall, []).Compile();
   }
 
   [System.Diagnostics.CodeAnalysis.SuppressMessage("Structure", "NUnit1028:The 
non-test method is public",
@@ -68,9 +68,7 @@ public class SystemInfoTest
   [Test]
   public void TestGetTypeFromStringFullyQualified()
   {
-    Type? t;
-
-    t = GetTypeFromString("log4net.Tests.Util.SystemInfoTest,log4net.Tests", 
false, false);
+    Type? t = 
GetTypeFromString("log4net.Tests.Util.SystemInfoTest,log4net.Tests", false, 
false);
     Assert.That(t, Is.SameAs(typeof(SystemInfoTest)), "Test explicit case 
sensitive type load");
 
     t = GetTypeFromString("LOG4NET.TESTS.UTIL.SYSTEMINFOTEST,log4net.Tests", 
false, true);
@@ -84,9 +82,7 @@ public class SystemInfoTest
   [Platform(Include = "Win")]
   public void TestGetTypeFromStringCaseInsensitiveOnAssemblyName()
   {
-    Type? t;
-
-    t = GetTypeFromString("LOG4NET.TESTS.UTIL.SYSTEMINFOTEST,LOG4NET.TESTS", 
false, true);
+    Type? t = 
GetTypeFromString("LOG4NET.TESTS.UTIL.SYSTEMINFOTEST,LOG4NET.TESTS", false, 
true);
     Assert.That(t, Is.SameAs(typeof(SystemInfoTest)), "Test explicit case 
in-sensitive type load caps");
 
     t = GetTypeFromString("log4net.tests.util.systeminfotest,log4net.tests", 
false, true);
@@ -96,9 +92,7 @@ public class SystemInfoTest
   [Test]
   public void TestGetTypeFromStringRelative()
   {
-    Type? t;
-
-    t = GetTypeFromString("log4net.Tests.Util.SystemInfoTest", false, false);
+    Type? t = GetTypeFromString("log4net.Tests.Util.SystemInfoTest", false, 
false);
     Assert.That(t, Is.SameAs(typeof(SystemInfoTest)), "Test explicit case 
sensitive type load");
 
     t = GetTypeFromString("LOG4NET.TESTS.UTIL.SYSTEMINFOTEST", false, true);
@@ -111,9 +105,7 @@ public class SystemInfoTest
   [Test]
   public void TestGetTypeFromStringSearch()
   {
-    Type? t;
-
-    t = GetTypeFromString("log4net.Util.SystemInfo", false, false);
+    Type? t = GetTypeFromString("log4net.Util.SystemInfo", false, false);
     Assert.That(t, Is.SameAs(typeof(SystemInfo)),
                                      string.Format("Test explicit case 
sensitive type load found {0} rather than {1}",
                                                    t?.AssemblyQualifiedName, 
typeof(SystemInfo).AssemblyQualifiedName));
@@ -128,9 +120,7 @@ public class SystemInfoTest
   [Test]
   public void TestGetTypeFromStringFails1()
   {
-    Type? t;
-
-    t = GetTypeFromString("LOG4NET.TESTS.UTIL.SYSTEMINFOTEST,LOG4NET.TESTS", 
false, false);
+    Type? t = 
GetTypeFromString("LOG4NET.TESTS.UTIL.SYSTEMINFOTEST,LOG4NET.TESTS", false, 
false);
     Assert.That(t, Is.Null, "Test explicit case sensitive fails type load");
 
     Assert.That(() => 
GetTypeFromString("LOG4NET.TESTS.UTIL.SYSTEMINFOTEST,LOG4NET.TESTS", true, 
false),
@@ -140,9 +130,7 @@ public class SystemInfoTest
   [Test]
   public void TestGetTypeFromStringFails2()
   {
-    Type? t;
-
-    t = GetTypeFromString("LOG4NET.TESTS.UTIL.SYSTEMINFOTEST", false, false);
+    Type? t = GetTypeFromString("LOG4NET.TESTS.UTIL.SYSTEMINFOTEST", false, 
false);
     Assert.That(t, Is.Null, "Test explicit case sensitive fails type load");
 
     Assert.That(() => GetTypeFromString("LOG4NET.TESTS.UTIL.SYSTEMINFOTEST", 
true, false),
diff --git a/src/log4net.Tests/Util/TransformTest.cs 
b/src/log4net.Tests/Util/TransformTest.cs
index a766d203..78b106cd 100644
--- a/src/log4net.Tests/Util/TransformTest.cs
+++ b/src/log4net.Tests/Util/TransformTest.cs
@@ -17,8 +17,6 @@
 //
 #endregion
 
-using System;
-
 using log4net.Util;
 
 using NUnit.Framework;
@@ -32,14 +30,14 @@ public class TransformTest
   [Test]
   public void MaskXmlInvalidCharactersAllowsJapaneseCharacters()
   {
-    string kome = "\u203B";
+    const string kome = "\u203B";
     Assert.That(Transform.MaskXmlInvalidCharacters(kome, "?"), 
Is.EqualTo(kome));
   }
 
   [Test]
   public void MaskXmlInvalidCharactersMasks0Char()
   {
-    string c = "\u0000";
+    const string c = "\0";
     Assert.That(Transform.MaskXmlInvalidCharacters(c, "?"), Is.EqualTo("?"));
   }
 }

Reply via email to