using System; using Microsoft.VisualStudio.TestTools.UnitTesting; using System.Linq; namespace Facepunch.Steamworks.Test { [DeploymentItem( "steam_api.dll" )] [DeploymentItem( "steam_api64.dll" )] [DeploymentItem( "steam_appid.txt" )] [TestClass] public class Friends { [TestMethod] public void FriendList() { using ( var client = new Facepunch.Steamworks.Client( 252490 ) ) { Assert.IsTrue( client.IsValid ); client.Friends.Refresh(); Assert.IsNotNull( client.Friends.All ); foreach ( var friend in client.Friends.All ) { Console.WriteLine( "{0}: {1} (Friend:{2}) (Blocked:{3})", friend.Id, friend.Name, friend.IsFriend, friend.IsBlocked ); } } } [TestMethod] public void FriendListWithoutRefresh() { using ( var client = new Facepunch.Steamworks.Client( 252490 ) ) { Assert.IsTrue( client.IsValid ); foreach ( var friend in client.Friends.All ) { Console.WriteLine( "{0}: {1} (Friend:{2}) (Blocked:{3})", friend.Id, friend.Name, friend.IsFriend, friend.IsBlocked ); } } } [TestMethod] public void Avatar() { using ( var client = new Facepunch.Steamworks.Client( 252490 ) ) { Assert.IsTrue( client.IsValid ); var friend = client.Friends.All.First(); var img = client.Friends.GetAvatar( Steamworks.Friends.AvatarSize.Medium, friend.Id ); Assert.AreEqual( img.Width, 64 ); Assert.AreEqual( img.Height, 64 ); while ( !img.IsLoaded && !img.IsError ) { client.Update(); System.Threading.Thread.Sleep( 10 ); } Assert.AreEqual( img.Data.Length, img.Width * img.Height * 4 ); DrawImage( img ); } } public static void DrawImage( Image img ) { var grad = " -:+#"; for ( int y = 0; y