diff --git a/SteamKit2/Tests/CDNClientFacts.cs b/SteamKit2/Tests/CDNClientFacts.cs index 730e0cd55..bc764cc35 100644 --- a/SteamKit2/Tests/CDNClientFacts.cs +++ b/SteamKit2/Tests/CDNClientFacts.cs @@ -16,7 +16,7 @@ public async Task ThrowsSteamKitWebExceptionOnUnsuccessfulWebResponseForManifest { var configuration = SteamConfiguration.Create( x => x.WithHttpClientFactory( () => new HttpClient( new TeapotHttpMessageHandler() ) ) ); var steam = new SteamClient( configuration ); - var client = new Client( steam ); + using var client = new Client( steam ); var server = new Server { Protocol = Server.ConnectionProtocol.HTTP, @@ -34,7 +34,7 @@ public async Task ThrowsSteamKitWebExceptionOnUnsuccessfulWebResponseForChunk() { var configuration = SteamConfiguration.Create( x => x.WithHttpClientFactory( () => new HttpClient( new TeapotHttpMessageHandler() ) ) ); var steam = new SteamClient( configuration ); - var client = new Client( steam ); + using var client = new Client( steam ); var server = new Server { Protocol = Server.ConnectionProtocol.HTTP, @@ -44,7 +44,7 @@ public async Task ThrowsSteamKitWebExceptionOnUnsuccessfulWebResponseForChunk() }; var chunk = new DepotManifest.ChunkData { - ChunkID = new byte[] { 0xFF }, + ChunkID = [0xFF], }; var ex = await Assert.ThrowsAsync( () => client.DownloadDepotChunkAsync( depotId: 0, chunk, server ) ); @@ -56,7 +56,7 @@ public async Task ThrowsWhenNoChunkIDIsSet() { var configuration = SteamConfiguration.Create( x => x.WithHttpClientFactory( () => new HttpClient( new TeapotHttpMessageHandler() ) ) ); var steam = new SteamClient( configuration ); - var client = new Client( steam ); + using var client = new Client( steam ); var server = new Server { Protocol = Server.ConnectionProtocol.HTTP, diff --git a/SteamKit2/Tests/CMClientFacts.cs b/SteamKit2/Tests/CMClientFacts.cs index 08a4372ac..89b606875 100644 --- a/SteamKit2/Tests/CMClientFacts.cs +++ b/SteamKit2/Tests/CMClientFacts.cs @@ -73,11 +73,9 @@ public void GetPacketMsgFailsWithTinyArray() static byte[] Serialize(ISteamSerializableHeader hdr) { - using (var ms = new MemoryStream()) - { - hdr.Serialize(ms); - return ms.ToArray(); - } + using var ms = new MemoryStream(); + hdr.Serialize( ms ); + return ms.ToArray(); } class DummyCMClient : CMClient diff --git a/SteamKit2/Tests/CallbackManagerFacts.cs b/SteamKit2/Tests/CallbackManagerFacts.cs index 4d9ad7913..18f60cad3 100644 --- a/SteamKit2/Tests/CallbackManagerFacts.cs +++ b/SteamKit2/Tests/CallbackManagerFacts.cs @@ -26,13 +26,13 @@ public void PostedCallbackTriggersAction() var callback = new CallbackForTest { UniqueID = Guid.NewGuid() }; var didCall = false; - Action action = delegate(CallbackForTest cb) + void action( CallbackForTest cb ) { - Assert.Equal(callback.UniqueID, cb.UniqueID); + Assert.Equal( callback.UniqueID, cb.UniqueID ); didCall = true; - }; + } - using (mgr.Subscribe(action)) + using (mgr.Subscribe( action )) { PostAndRunCallback(callback); } @@ -46,15 +46,15 @@ public void PostedCallbackTriggersAction_CatchAll() var callback = new CallbackForTest { UniqueID = Guid.NewGuid() }; var didCall = false; - Action action = delegate(CallbackMsg cb) + void action( CallbackMsg cb ) { - Assert.IsType(cb); - var cft = (CallbackForTest)cb; - Assert.Equal(callback.UniqueID, cft.UniqueID); + Assert.IsType( cb ); + var cft = ( CallbackForTest )cb; + Assert.Equal( callback.UniqueID, cft.UniqueID ); didCall = true; - }; + } - using (mgr.Subscribe(action)) + using ( mgr.Subscribe( action ) ) { PostAndRunCallback(callback); } @@ -69,14 +69,14 @@ public void PostedCallbackTriggersActionForExplicitJobIDInvalid() var callback = new CallbackForTest { JobID = jobID, UniqueID = Guid.NewGuid() }; var didCall = false; - Action action = delegate(CallbackForTest cb) + void action( CallbackForTest cb ) { - Assert.Equal(callback.UniqueID, cb.UniqueID); - Assert.Equal(jobID, cb.JobID); + Assert.Equal( callback.UniqueID, cb.UniqueID ); + Assert.Equal( jobID, cb.JobID ); didCall = true; - }; + } - using (mgr.Subscribe(JobID.Invalid, action)) + using ( mgr.Subscribe( JobID.Invalid, action ) ) { PostAndRunCallback(callback); } @@ -91,14 +91,14 @@ public void PostedCallbackWithJobIDTriggersActionWhenNoJobIDSpecified() var callback = new CallbackForTest { JobID = jobID, UniqueID = Guid.NewGuid() }; var didCall = false; - Action action = delegate(CallbackForTest cb) + void action( CallbackForTest cb ) { - Assert.Equal(callback.UniqueID, cb.UniqueID); - Assert.Equal(jobID, cb.JobID); + Assert.Equal( callback.UniqueID, cb.UniqueID ); + Assert.Equal( jobID, cb.JobID ); didCall = true; - }; + } - using (mgr.Subscribe(action)) + using ( mgr.Subscribe( action ) ) { PostAndRunCallback(callback); } @@ -113,12 +113,12 @@ public void PostedCallbackDoesNotTriggerActionForWrongJobID() var callback = new CallbackForTest { JobID = jobID, UniqueID = Guid.NewGuid() }; var didCall = false; - Action action = delegate(CallbackForTest cb) + void action( CallbackForTest cb ) { didCall = true; - }; + } - using (mgr.Subscribe(123, action)) + using ( mgr.Subscribe( 123, action ) ) { PostAndRunCallback(callback); } @@ -133,14 +133,14 @@ public void PostedCallbackWithJobIDTriggersCallbackForJobID() var callback = new CallbackForTest { JobID = jobID, UniqueID = Guid.NewGuid() }; var didCall = false; - Action action = delegate(CallbackForTest cb) + void action( CallbackForTest cb ) { - Assert.Equal(callback.UniqueID, cb.UniqueID); - Assert.Equal(jobID, cb.JobID); + Assert.Equal( callback.UniqueID, cb.UniqueID ); + Assert.Equal( jobID, cb.JobID ); didCall = true; - }; + } - using (mgr.Subscribe(123456, action)) + using ( mgr.Subscribe( 123456, action ) ) { PostAndRunCallback(callback); } @@ -154,12 +154,12 @@ public void SubscribedFunctionDoesNotRunWhenSubscriptionIsDisposed() var callback = new CallbackForTest(); var callCount = 0; - Action action = delegate (CallbackForTest cb) + void action( CallbackForTest cb ) { callCount++; - }; + } - using (mgr.Subscribe(action)) + using ( mgr.Subscribe( action ) ) { PostAndRunCallback(callback); } @@ -174,13 +174,13 @@ public void PostedCallbacksTriggerActions() var callback = new CallbackForTest { UniqueID = Guid.NewGuid() }; var numCallbacksRun = 0; - Action action = delegate (CallbackForTest cb) + void action( CallbackForTest cb ) { - Assert.Equal(callback.UniqueID, cb.UniqueID); + Assert.Equal( callback.UniqueID, cb.UniqueID ); numCallbacksRun++; - }; + } - using (mgr.Subscribe(action)) + using ( mgr.Subscribe( action ) ) { for (var i = 0; i < 10; i++) { diff --git a/SteamKit2/Tests/ClientMsgFacts.cs b/SteamKit2/Tests/ClientMsgFacts.cs index cefd55a4b..107f835a5 100644 --- a/SteamKit2/Tests/ClientMsgFacts.cs +++ b/SteamKit2/Tests/ClientMsgFacts.cs @@ -8,7 +8,7 @@ public class ClientMsgFacts { // this test vector is a packet meant for a ClientMsg static byte[] structMsgData = - { + [ 0x27, 0x03, 0x00, 0x00, 0x24, 0x02, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0xAC, 0x15, 0x89, 0x00, 0x01, 0x00, 0x10, 0x01, 0x8E, 0x56, 0x11, 0x00, 0xBC, 0x4E, 0x2A, 0x00, 0x00, 0x00, 0x88, 0x01, 0x00, 0x00, 0x00, 0x00, @@ -32,7 +32,7 @@ public class ClientMsgFacts 0x72, 0x6D, 0x69, 0x73, 0x73, 0x69, 0x6F, 0x6E, 0x73, 0x00, 0x1A, 0x03, 0x00, 0x00, 0x02, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6C, 0x73, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x08, 0xE8, 0x03, 0x00, 0x00, - }; + ]; [Fact] public void PayloadReaderReadsNullTermString() diff --git a/SteamKit2/Tests/CryptoHelperFacts.cs b/SteamKit2/Tests/CryptoHelperFacts.cs index e0e020005..d405ad838 100644 --- a/SteamKit2/Tests/CryptoHelperFacts.cs +++ b/SteamKit2/Tests/CryptoHelperFacts.cs @@ -15,8 +15,7 @@ public void TestSymmetricEncryption() const string decryptedExpected = "this is a 24 byte string"; const string encryptionKey = "encryption key"; - using var sha256 = SHA256.Create(); - var key = sha256.ComputeHash( Encoding.UTF8.GetBytes( encryptionKey ) ); + var key = SHA256.HashData( Encoding.UTF8.GetBytes( encryptionKey ) ); var encryptedData = Encoding.UTF8.GetBytes( decryptedExpected ); encryptedData = CryptoHelper.SymmetricEncrypt( encryptedData, key ); diff --git a/SteamKit2/Tests/FileStorageServerListProviderFacts.cs b/SteamKit2/Tests/FileStorageServerListProviderFacts.cs index 27f98eb7f..75edd5dae 100644 --- a/SteamKit2/Tests/FileStorageServerListProviderFacts.cs +++ b/SteamKit2/Tests/FileStorageServerListProviderFacts.cs @@ -20,7 +20,7 @@ public FileStorageServerListProviderFacts() [Fact] public async Task ReadsUpdatedServerList() { - var initialServers = await fileStorageProvider.FetchServerListAsync(); + await fileStorageProvider.FetchServerListAsync(); await fileStorageProvider.UpdateServerListAsync(new List() { diff --git a/SteamKit2/Tests/Helpers/HandlerTestBase.cs b/SteamKit2/Tests/Helpers/HandlerTestBase.cs index e0ca61df9..b12ef8e36 100644 --- a/SteamKit2/Tests/Helpers/HandlerTestBase.cs +++ b/SteamKit2/Tests/Helpers/HandlerTestBase.cs @@ -2,34 +2,34 @@ namespace Tests { - public class HandlerTestBase - where THandler : ClientMsgHandler - { - public HandlerTestBase() - { - client = new SteamClient(); - handler = client.GetHandler(); - - callbackMgr = new CallbackManager( client ); - } + public class HandlerTestBase + where THandler : ClientMsgHandler + { + public HandlerTestBase() + { + client = new SteamClient(); + handler = client.GetHandler(); - readonly SteamClient client; - readonly THandler handler; - readonly CallbackManager callbackMgr; + callbackMgr = new CallbackManager( client ); + } - protected SteamClient SteamClient - { - get { return client; } - } + readonly SteamClient client; + readonly THandler handler; + readonly CallbackManager callbackMgr; - protected THandler Handler - { - get { return handler; } - } + protected SteamClient SteamClient + { + get { return client; } + } - protected CallbackManager CallbackManager - { - get { return callbackMgr; } - } - } + protected THandler Handler + { + get { return handler; } + } + + protected CallbackManager CallbackManager + { + get { return callbackMgr; } + } + } } diff --git a/SteamKit2/Tests/KeyValueFacts.cs b/SteamKit2/Tests/KeyValueFacts.cs index 56b5545c2..daca348d8 100644 --- a/SteamKit2/Tests/KeyValueFacts.cs +++ b/SteamKit2/Tests/KeyValueFacts.cs @@ -328,7 +328,7 @@ public void KeyValuesFailsToReadTruncatedBinary() // Test every possible truncation boundary we have. for ( int i = 0; i < TestObjectHex.Length; i += 2 ) { - var binary = Utils.DecodeHexString( TestObjectHex.Substring( 0, i ) ); + var binary = Utils.DecodeHexString( TestObjectHex[ ..i ] ); var kv = new KeyValue(); bool success; using ( var ms = new MemoryStream( binary ) ) @@ -423,10 +423,8 @@ public void KeyValuesSavesTextToStream() { kv.SaveToStream( ms, asBinary: false ); ms.Seek( 0, SeekOrigin.Begin ); - using ( var reader = new StreamReader( ms ) ) - { - text = reader.ReadToEnd(); - } + using var reader = new StreamReader( ms ); + text = reader.ReadToEnd(); } Assert.Equal( expected, text ); @@ -468,10 +466,8 @@ public void KeyValuesEscapesTextWhenSerializing() { kv.SaveToStream( ms, asBinary: false ); ms.Seek( 0, SeekOrigin.Begin ); - using ( var reader = new StreamReader( ms ) ) - { - text = reader.ReadToEnd(); - } + using var reader = new StreamReader( ms ); + text = reader.ReadToEnd(); } var expectedValue = "\"key\"\n{\n\t\"slashes\"\t\t\"\\\\o/\"\n\t\"newline\"\t\t\"\\r\\n\"\n}\n"; @@ -490,10 +486,8 @@ public void KeyValuesTextPreserveEmptyObjects() { kv.SaveToStream( ms, asBinary: false ); ms.Seek( 0, SeekOrigin.Begin ); - using ( var reader = new StreamReader( ms ) ) - { - text = reader.ReadToEnd(); - } + using var reader = new StreamReader( ms ); + text = reader.ReadToEnd(); } var expectedValue = "\"key\"\n{\n\t\"emptyObj\"\n\t{\n\t}\n\t\"emptyString\"\t\t\"\"\n}\n"; diff --git a/SteamKit2/Tests/MachineInfoFacts.cs b/SteamKit2/Tests/MachineInfoFacts.cs index e0f17fbaf..c0b0005f2 100644 --- a/SteamKit2/Tests/MachineInfoFacts.cs +++ b/SteamKit2/Tests/MachineInfoFacts.cs @@ -55,7 +55,7 @@ public void ResultIsCachedByInstance() [Fact] public void MachineInfoIsProcessedInBackground() { - var provider = new ThreadRejectingMachineInfoProvider(Thread.CurrentThread.ManagedThreadId); + var provider = new ThreadRejectingMachineInfoProvider( Environment.CurrentManagedThreadId ); HardwareUtils.Init(provider); // Should not throw @@ -65,7 +65,7 @@ public void MachineInfoIsProcessedInBackground() [Fact] public void ProviderIsNotRetained() { - WeakReference Setup() + static WeakReference Setup() { var provider = new CountingMachineInfoProvider(); HardwareUtils.Init(provider); @@ -82,7 +82,7 @@ WeakReference Setup() public void GenerationIsThreadSafe() { var provider = new CountingMachineInfoProvider(); - var trigger = new ManualResetEventSlim(); + using var trigger = new ManualResetEventSlim(); var threads = new Thread[100]; for (var i = 0; i < threads.Length; i++) @@ -143,51 +143,44 @@ sealed class CountingMachineInfoProvider : IMachineInfoProvider public byte[] GetDiskId() { TotalInvocations++; - return Array.Empty(); + return []; } public byte[] GetMacAddress() { TotalInvocations++; - return Array.Empty(); + return []; } public byte[] GetMachineGuid() { TotalInvocations++; - return Array.Empty(); + return []; } } - sealed class ThreadRejectingMachineInfoProvider : IMachineInfoProvider + sealed class ThreadRejectingMachineInfoProvider( int ThreadIdToReject ) : IMachineInfoProvider { - public ThreadRejectingMachineInfoProvider(int threadId) - { - ThreadIdToReject = threadId; - } - - public int ThreadIdToReject { get; } - public byte[] GetDiskId() { EnsureNotOnRejectedThread(); - return Array.Empty(); + return []; } public byte[] GetMacAddress() { EnsureNotOnRejectedThread(); - return Array.Empty(); + return []; } public byte[] GetMachineGuid() { EnsureNotOnRejectedThread(); - return Array.Empty(); + return []; } void EnsureNotOnRejectedThread() { - if (Thread.CurrentThread.ManagedThreadId == ThreadIdToReject) + if ( Environment.CurrentManagedThreadId == ThreadIdToReject ) { throw new InvalidOperationException("Operation must not be run on rejected thread."); } @@ -208,4 +201,4 @@ sealed class ThrowingMachineInfoProvider : IMachineInfoProvider public byte[] GetMachineGuid() => throw new InvalidOperationException("This provider only throws."); } } -} \ No newline at end of file +} diff --git a/SteamKit2/Tests/NetHelpersFacts.cs b/SteamKit2/Tests/NetHelpersFacts.cs index 6ee82d36e..1e64d8b71 100644 --- a/SteamKit2/Tests/NetHelpersFacts.cs +++ b/SteamKit2/Tests/NetHelpersFacts.cs @@ -11,12 +11,12 @@ public class NetHelpersFacts public void GetMsgIPAddress() { Assert.Equal( 2130706433u, NetHelpers.GetMsgIPAddress( IPAddress.Loopback ).v4 ); - Assert.Equal( new byte[] { + Assert.Equal( [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 - }, NetHelpers.GetMsgIPAddress( IPAddress.IPv6Loopback ).v6 ); + ], NetHelpers.GetMsgIPAddress( IPAddress.IPv6Loopback ).v6 ); } [Fact] @@ -37,12 +37,12 @@ public void GetIPAddress() public void ObfuscatePrivateIP() { Assert.Equal( 3316510732u, NetHelpers.GetMsgIPAddress( IPAddress.Loopback ).ObfuscatePrivateIP().v4 ); - Assert.Equal( new byte[] { + Assert.Equal( [ 0x0D, 0xF0, 0xAD, 0xBA, 0x0D, 0xF0, 0xAD, 0xBA, 0x0D, 0xF0, 0xAD, 0xBA, 0x0D, 0xF0, 0xAD, 1 ^ 0xBA - }, NetHelpers.GetMsgIPAddress( IPAddress.IPv6Loopback ).ObfuscatePrivateIP().v6 ); + ], NetHelpers.GetMsgIPAddress( IPAddress.IPv6Loopback ).ObfuscatePrivateIP().v6 ); } [Fact] diff --git a/SteamKit2/Tests/SimpleConsoleDebugListenerFacts.cs b/SteamKit2/Tests/SimpleConsoleDebugListenerFacts.cs index b8bff259e..0a331dc5c 100644 --- a/SteamKit2/Tests/SimpleConsoleDebugListenerFacts.cs +++ b/SteamKit2/Tests/SimpleConsoleDebugListenerFacts.cs @@ -34,6 +34,7 @@ public void Dispose() { Console.SetOut(originalOutWriter); writer.Dispose(); + GC.SuppressFinalize(this); } } } diff --git a/SteamKit2/Tests/SteamClientFacts.cs b/SteamKit2/Tests/SteamClientFacts.cs index 845a6de2c..b6d587cc9 100644 --- a/SteamKit2/Tests/SteamClientFacts.cs +++ b/SteamKit2/Tests/SteamClientFacts.cs @@ -9,105 +9,103 @@ namespace Tests { - public class SteamClientFacts - { - [Fact] - public void ConstructorSetsInitialHandlers() - { - var steamClient = new SteamClient(); - Assert.NotNull(steamClient.GetHandler()); - Assert.NotNull(steamClient.GetHandler()); - Assert.NotNull(steamClient.GetHandler()); - Assert.NotNull(steamClient.GetHandler()); - Assert.NotNull(steamClient.GetHandler()); - Assert.NotNull(steamClient.GetHandler()); - Assert.NotNull(steamClient.GetHandler()); - Assert.NotNull(steamClient.GetHandler()); - Assert.NotNull(steamClient.GetHandler()); - Assert.NotNull(steamClient.GetHandler()); - Assert.NotNull(steamClient.GetHandler()); - Assert.NotNull(steamClient.GetHandler()); - } - - [Fact] - public void AddHandlerAddsHandler() - { - var steamClient = new SteamClient(); - var handler = new TestMsgHandler(); - Assert.Null(steamClient.GetHandler()); - - steamClient.AddHandler(handler); - Assert.Equal(handler, steamClient.GetHandler()); - } - - [Fact] - public void RemoveHandlerRemovesHandler() - { - var steamClient = new SteamClient(); - steamClient.AddHandler(new TestMsgHandler()); - Assert.NotNull(steamClient.GetHandler()); - - steamClient.RemoveHandler(typeof(TestMsgHandler)); - Assert.Null(steamClient.GetHandler()); - } - - [Fact] - public void GetNextJobIDIsThreadsafe() - { - var steamClient = new SteamClient(); - var jobID = steamClient.GetNextJobID(); - - Assert.Equal(1u, jobID.SequentialCount); - - Parallel.For(0, 1000, x => - { - steamClient.GetNextJobID(); - }); - - jobID = steamClient.GetNextJobID(); - Assert.Equal(1002u, jobID.SequentialCount); - } - - [Fact] - public void GetNextJobIDSetsProcessIDToZero() - { - var steamClient = new SteamClient(); - var jobID = steamClient.GetNextJobID(); - - Assert.Equal(0u, jobID.ProcessID); - } - - [Fact] - public void GetNextJobIDFillsProcessStartTime() - { - var steamClient = new SteamClient(); - var jobID = steamClient.GetNextJobID(); - - using (var process = Process.GetCurrentProcess()) - { - var processStartTime = process.StartTime; - - // Recreate the datetime to get rid of milliseconds etc. and only keep the important bits - var expectedProcessStartTime = new DateTime(processStartTime.Year, processStartTime.Month, processStartTime.Day, processStartTime.Hour, processStartTime.Minute, processStartTime.Second); - - Assert.Equal(expectedProcessStartTime, jobID.StartTime); - } - } - - [Fact] - public void GetNextJobIDSetsBoxIDToZero() - { - var steamClient = new SteamClient(); - var jobID = steamClient.GetNextJobID(); - - Assert.Equal(0u, jobID.BoxID); - } - - class TestMsgHandler : ClientMsgHandler - { - public override void HandleMsg(IPacketMsg packetMsg) - { - } - } - } + public class SteamClientFacts + { + [Fact] + public void ConstructorSetsInitialHandlers() + { + var steamClient = new SteamClient(); + Assert.NotNull(steamClient.GetHandler()); + Assert.NotNull(steamClient.GetHandler()); + Assert.NotNull(steamClient.GetHandler()); + Assert.NotNull(steamClient.GetHandler()); + Assert.NotNull(steamClient.GetHandler()); + Assert.NotNull(steamClient.GetHandler()); + Assert.NotNull(steamClient.GetHandler()); + Assert.NotNull(steamClient.GetHandler()); + Assert.NotNull(steamClient.GetHandler()); + Assert.NotNull(steamClient.GetHandler()); + Assert.NotNull(steamClient.GetHandler()); + Assert.NotNull(steamClient.GetHandler()); + } + + [Fact] + public void AddHandlerAddsHandler() + { + var steamClient = new SteamClient(); + var handler = new TestMsgHandler(); + Assert.Null(steamClient.GetHandler()); + + steamClient.AddHandler(handler); + Assert.Equal(handler, steamClient.GetHandler()); + } + + [Fact] + public void RemoveHandlerRemovesHandler() + { + var steamClient = new SteamClient(); + steamClient.AddHandler(new TestMsgHandler()); + Assert.NotNull(steamClient.GetHandler()); + + steamClient.RemoveHandler(typeof(TestMsgHandler)); + Assert.Null(steamClient.GetHandler()); + } + + [Fact] + public void GetNextJobIDIsThreadsafe() + { + var steamClient = new SteamClient(); + var jobID = steamClient.GetNextJobID(); + + Assert.Equal(1u, jobID.SequentialCount); + + Parallel.For(0, 1000, x => + { + steamClient.GetNextJobID(); + }); + + jobID = steamClient.GetNextJobID(); + Assert.Equal(1002u, jobID.SequentialCount); + } + + [Fact] + public void GetNextJobIDSetsProcessIDToZero() + { + var steamClient = new SteamClient(); + var jobID = steamClient.GetNextJobID(); + + Assert.Equal(0u, jobID.ProcessID); + } + + [Fact] + public void GetNextJobIDFillsProcessStartTime() + { + var steamClient = new SteamClient(); + var jobID = steamClient.GetNextJobID(); + + using var process = Process.GetCurrentProcess(); + var processStartTime = process.StartTime; + + // Recreate the datetime to get rid of milliseconds etc. and only keep the important bits + var expectedProcessStartTime = new DateTime(processStartTime.Year, processStartTime.Month, processStartTime.Day, processStartTime.Hour, processStartTime.Minute, processStartTime.Second); + + Assert.Equal(expectedProcessStartTime, jobID.StartTime); + } + + [Fact] + public void GetNextJobIDSetsBoxIDToZero() + { + var steamClient = new SteamClient(); + var jobID = steamClient.GetNextJobID(); + + Assert.Equal(0u, jobID.BoxID); + } + + class TestMsgHandler : ClientMsgHandler + { + public override void HandleMsg(IPacketMsg packetMsg) + { + } + } + } } diff --git a/SteamKit2/Tests/SteamConfigurationFacts.cs b/SteamKit2/Tests/SteamConfigurationFacts.cs index 033556724..109c5ec64 100644 --- a/SteamKit2/Tests/SteamConfigurationFacts.cs +++ b/SteamKit2/Tests/SteamConfigurationFacts.cs @@ -52,14 +52,12 @@ public void DefaultPersonaStateFlags() [Fact] public void DefaultHttpClientFactory() { - using (var client = configuration.HttpClientFactory()) - { - Assert.NotNull(client); - Assert.IsType(client); + using var client = configuration.HttpClientFactory(); + Assert.NotNull( client ); + Assert.IsType( client ); - var steamKitAssemblyVersion = typeof( SteamClient ).Assembly.GetName().Version; - Assert.Equal("SteamKit/" + steamKitAssemblyVersion.ToString(fieldCount: 3), client.DefaultRequestHeaders.UserAgent.ToString()); - } + var steamKitAssemblyVersion = typeof( SteamClient ).Assembly.GetName().Version; + Assert.Equal( "SteamKit/" + steamKitAssemblyVersion.ToString( fieldCount: 3 ), client.DefaultRequestHeaders.UserAgent.ToString() ); } [Fact] @@ -147,10 +145,8 @@ public void ConnectionTimeoutIsConfigured() [Fact] public void HttpClientFactoryIsConfigured() { - using (var client = configuration.HttpClientFactory()) - { - Assert.Equal("true", client.DefaultRequestHeaders.GetValues("X-SteamKit-Tests").FirstOrDefault()); - } + using var client = configuration.HttpClientFactory(); + Assert.Equal( "true", client.DefaultRequestHeaders.GetValues( "X-SteamKit-Tests" ).FirstOrDefault() ); } [Fact] diff --git a/SteamKit2/Tests/SteamIDFacts.cs b/SteamKit2/Tests/SteamIDFacts.cs index 6f273226c..a4ac00278 100644 --- a/SteamKit2/Tests/SteamIDFacts.cs +++ b/SteamKit2/Tests/SteamIDFacts.cs @@ -365,7 +365,7 @@ public void TryGetClanIDConvertsWellKnownID() public void TryGetClanIDDoesNotModifySelf() { var clanID = new SteamID(4, (uint)SteamID.ChatInstanceFlags.Clan, EUniverse.Public, EAccountType.Chat ); - Assert.True( clanID.TryGetClanID( out var groupID ) ); + Assert.True( clanID.TryGetClanID( out _ ) ); Assert.Equal( EUniverse.Public, clanID.AccountUniverse ); Assert.Equal( EAccountType.Chat, clanID.AccountType ); diff --git a/SteamKit2/Tests/StreamHelpersFacts.cs b/SteamKit2/Tests/StreamHelpersFacts.cs index 6b92cd887..db087e4aa 100644 --- a/SteamKit2/Tests/StreamHelpersFacts.cs +++ b/SteamKit2/Tests/StreamHelpersFacts.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Concurrent; +using System.Diagnostics; using System.Globalization; using System.IO; using System.Threading; @@ -36,7 +37,7 @@ public void IsThreadSafe() } } - ConcurrentBag threadExceptions = new ConcurrentBag(); + ConcurrentBag threadExceptions = []; void ThreadStart(object o) { @@ -44,18 +45,16 @@ void ThreadStart(object o) { var threadNumber = (int)o; - using (var ms = new MemoryStream()) - { - var bytes = BitConverter.GetBytes(threadNumber); - ms.Write(bytes, 0, bytes.Length); + using var ms = new MemoryStream(); + var bytes = BitConverter.GetBytes( threadNumber ); + ms.Write( bytes, 0, bytes.Length ); - for (var i = 0; i < 1000; i++) - { - ms.Seek(0, SeekOrigin.Begin); + for ( var i = 0; i < 1000; i++ ) + { + ms.Seek( 0, SeekOrigin.Begin ); - var value = ReadValue(threadNumber, ms).ToString(CultureInfo.InvariantCulture); - Assert.Equal(threadNumber.ToString(CultureInfo.InvariantCulture), value); - } + var value = ReadValue( threadNumber, ms ).ToString( CultureInfo.InvariantCulture ); + Assert.Equal( threadNumber.ToString( CultureInfo.InvariantCulture ), value ); } } catch (Exception ex) @@ -63,19 +62,19 @@ void ThreadStart(object o) threadExceptions.Add(ex); } - IConvertible ReadValue(int threadNumber, Stream s) + static IConvertible ReadValue(int threadNumber, Stream s) { - switch (threadNumber % 7) + return ( threadNumber % 7 ) switch { - case 0: return s.ReadByte(); - case 1: return s.ReadInt64(); - case 2: return s.ReadUInt16(); - case 3: return s.ReadInt32(); - case 4: return s.ReadUInt32(); - case 5: return s.ReadInt64(); - case 6: return s.ReadUInt64(); - default: throw new Exception("Unreachable"); - } + 0 => s.ReadByte(), + 1 => s.ReadInt64(), + 2 => s.ReadUInt16(), + 3 => s.ReadInt32(), + 4 => s.ReadUInt32(), + 5 => s.ReadInt64(), + 6 => s.ReadUInt64(), + _ => throw new UnreachableException(), + }; } } } diff --git a/SteamKit2/Tests/WebAPIFacts.cs b/SteamKit2/Tests/WebAPIFacts.cs index ca850e6d5..d9daf6b90 100644 --- a/SteamKit2/Tests/WebAPIFacts.cs +++ b/SteamKit2/Tests/WebAPIFacts.cs @@ -53,7 +53,7 @@ public async Task ThrowsWebAPIRequestExceptionIfRequestUnsuccessful() [Fact] public async Task ThrowsOnIncorrectFormatInArgsProvided() { - var hookableHandler = new HookableHandler(); + using var hookableHandler = new HookableHandler(); var configuration = SteamConfiguration.Create( c => c.WithHttpClientFactory( () => new HttpClient( hookableHandler ) ) ); WebAPI.AsyncInterface iface = configuration.GetAsyncWebAPIInterface( "IFooService" ); @@ -71,7 +71,7 @@ public async Task ThrowsOnIncorrectFormatInArgsProvided() [Fact] public async Task DoesntThrowWhenCorrectFormatInArgsProvided() { - var hookableHandler = new HookableHandler(); + using var hookableHandler = new HookableHandler(); var configuration = SteamConfiguration.Create( c => c.WithHttpClientFactory( () => new HttpClient( hookableHandler ) ) ); WebAPI.AsyncInterface iface = configuration.GetAsyncWebAPIInterface( "IFooService" ); @@ -89,7 +89,7 @@ public async Task DoesntThrowWhenCorrectFormatInArgsProvided() [Fact] public async Task DoesntThrowWhenKeyInArgsProvided() { - var hookableHandler = new HookableHandler(); + using var hookableHandler = new HookableHandler(); var configuration = SteamConfiguration.Create( c => c.WithWebAPIKey( "test1" ).WithHttpClientFactory( () => new HttpClient( hookableHandler ) ) ); WebAPI.AsyncInterface iface = configuration.GetAsyncWebAPIInterface( "IFooService" ); @@ -109,7 +109,7 @@ public async Task DoesntThrowWhenKeyInArgsProvided() [Fact] public async Task DoesntThrowOnArgumentsReuse() { - var hookableHandler = new HookableHandler(); + using var hookableHandler = new HookableHandler(); var configuration = SteamConfiguration.Create( c => c.WithHttpClientFactory( () => new HttpClient( hookableHandler ) ) ); WebAPI.AsyncInterface iface = configuration.GetAsyncWebAPIInterface( "IFooService" ); @@ -127,7 +127,7 @@ public async Task DoesntThrowOnArgumentsReuse() [Fact] public async Task UsesArgsAsQueryStringParams() { - var hookableHandler = new HookableHandler(); + using var hookableHandler = new HookableHandler(); var configuration = SteamConfiguration.Create( c => c.WithHttpClientFactory( () => new HttpClient( hookableHandler ) ) ); dynamic iface = configuration.GetAsyncWebAPIInterface( "IFooService" ); @@ -162,7 +162,7 @@ public async Task UsesArgsAsQueryStringParams() [Fact] public async Task SupportsNullArgsDictionary() { - var hookableHandler = new HookableHandler(); + using var hookableHandler = new HookableHandler(); var configuration = SteamConfiguration.Create( c => c.WithHttpClientFactory( () => new HttpClient( hookableHandler ) ) ); dynamic iface = configuration.GetAsyncWebAPIInterface( "IFooService" ); @@ -190,7 +190,7 @@ public async Task SupportsNullArgsDictionary() [Fact] public async Task UsesSingleParameterArgumentsDictionary() { - var hookableHandler = new HookableHandler(); + using var hookableHandler = new HookableHandler(); var configuration = SteamConfiguration.Create( c => c.WithHttpClientFactory( () => new HttpClient( hookableHandler ) ) ); dynamic iface = configuration.GetAsyncWebAPIInterface( "IFooService" ); @@ -225,7 +225,7 @@ public async Task UsesSingleParameterArgumentsDictionary() [Fact] public async Task IncludesApiKeyInParams() { - var hookableHandler = new HookableHandler(); + using var hookableHandler = new HookableHandler(); var configuration = SteamConfiguration.Create( c => c .WithHttpClientFactory( () => new HttpClient( hookableHandler ) ) .WithWebAPIKey("MySecretApiKey") ); @@ -279,7 +279,7 @@ protected override async Task SendAsync( HttpRequestMessage return new HttpResponseMessage( HttpStatusCode.OK ) { - Content = new ByteArrayContent( Array.Empty() ) + Content = new ByteArrayContent( [] ) }; } }