From 2ebecd1548c7175f413a6395aef36fe35de1c891 Mon Sep 17 00:00:00 2001 From: Garry Newman Date: Mon, 8 May 2017 20:52:21 +0100 Subject: [PATCH] Achievement Tests --- .../Client/Achievements.cs | 88 +++++++++++++++++++ .../Facepunch.Steamworks.Test.csproj | 1 + 2 files changed, 89 insertions(+) create mode 100644 Facepunch.Steamworks.Test/Client/Achievements.cs diff --git a/Facepunch.Steamworks.Test/Client/Achievements.cs b/Facepunch.Steamworks.Test/Client/Achievements.cs new file mode 100644 index 0000000..f4d4912 --- /dev/null +++ b/Facepunch.Steamworks.Test/Client/Achievements.cs @@ -0,0 +1,88 @@ +using System; +using System.Text; +using System.Threading; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace Facepunch.Steamworks.Test +{ + [TestClass] + [DeploymentItem( "steam_api.dll" )] + [DeploymentItem( "steam_api64.dll" )] + [DeploymentItem( "steam_appid.txt" )] + public class Achievements + { + [TestMethod] + public void GetCount() + { + using ( var client = new Facepunch.Steamworks.Client( 252490 ) ) + { + Assert.IsTrue( client.IsValid ); + + var gotStats = false; + client.Achievements.OnUpdated += () => { gotStats = true; }; + + while ( !gotStats ) + { + client.Update(); + } + + Console.WriteLine( "Found " + client.Achievements.All.Length + " Achievements" ); + + Assert.AreNotEqual( 0, client.Achievements.All.Length ); + } + } + + [TestMethod] + public void GetNames() + { + using ( var client = new Facepunch.Steamworks.Client( 252490 ) ) + { + Assert.IsTrue( client.IsValid ); + + var gotStats = false; + client.Achievements.OnUpdated += () => { gotStats = true; }; + + while ( !gotStats ) + { + client.Update(); + } + + foreach( var ach in client.Achievements.All ) + { + Assert.IsNotNull( ach.Id ); + + Console.WriteLine( " " + ach.Id ); + Console.WriteLine( " - - " + ach.Name ); + Console.WriteLine( " - - " + ach.Description ); + Console.WriteLine( " - - " + ach.State ); + Console.WriteLine( " - - " + ach.UnlockTime ); + Console.WriteLine( " - - " + ach.Percentage ); + Console.WriteLine( "" ); + } + } + } + + [TestMethod] + public void Trigger() + { + using ( var client = new Facepunch.Steamworks.Client( 252490 ) ) + { + Assert.IsTrue( client.IsValid ); + + var gotStats = false; + client.Achievements.OnUpdated += () => { gotStats = true; }; + + while ( !gotStats ) + { + client.Update(); + } + + foreach ( var ach in client.Achievements.All ) + { + ach.Trigger(); + } + } + } + + } +} diff --git a/Facepunch.Steamworks.Test/Facepunch.Steamworks.Test.csproj b/Facepunch.Steamworks.Test/Facepunch.Steamworks.Test.csproj index 8611793..c1f53dd 100644 --- a/Facepunch.Steamworks.Test/Facepunch.Steamworks.Test.csproj +++ b/Facepunch.Steamworks.Test/Facepunch.Steamworks.Test.csproj @@ -92,6 +92,7 @@ +