diff --git a/Facepunch.Steamworks.Test/Facepunch.Steamworks.Test.csproj b/Facepunch.Steamworks.Test/Facepunch.Steamworks.Test.csproj index 6054e13..c69df4d 100644 --- a/Facepunch.Steamworks.Test/Facepunch.Steamworks.Test.csproj +++ b/Facepunch.Steamworks.Test/Facepunch.Steamworks.Test.csproj @@ -92,6 +92,7 @@ + diff --git a/Facepunch.Steamworks.Test/SteamNetworkingTest.cs b/Facepunch.Steamworks.Test/SteamNetworkingTest.cs new file mode 100644 index 0000000..c07d15e --- /dev/null +++ b/Facepunch.Steamworks.Test/SteamNetworkingTest.cs @@ -0,0 +1,37 @@ +using System; +using System.Linq; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using Microsoft.VisualStudio.TestTools.UnitTesting; +using Steamworks.Data; + +namespace Steamworks +{ + [TestClass] + [DeploymentItem( "steam_api64.dll" )] + public class SteamNetworkingTest + { + [TestMethod] + public async Task SendP2PPacket() + { + var sent = SteamNetworking.SendP2PPacket( SteamClient.SteamId, new byte[] { 1, 2, 3 } ); + + Assert.IsTrue( sent ); + + while ( !SteamNetworking.IsP2PPacketAvailable() ) + { + await Task.Delay( 10 ); + } + + var packet = SteamNetworking.ReadP2PPacket(); + + Assert.IsTrue( packet.HasValue ); + + Assert.AreEqual( packet.Value.SteamId, SteamClient.SteamId ); + Assert.AreEqual( packet.Value.Data[1], 2 ); + Assert.AreEqual( packet.Value.Data.Length, 3 ); + } + } + +}