public void Deserialize_WithPrimitivesAndDateTime_Successful() { string input = "type: unknown\n" + "id: 1111\n" + "alpha: 123777\n" + "beta: true\n" + "gamma: 123e+3\n" + "delta: 2018-03-01T07:00:00.0000000Z\n" + "epsilon: iki kudune ra kanggo\n" + "zeta: iki kudune dibuang"; MessageType type; long id; PrimitivesAndDateTime payload; ErrorCode headerErr = AwesomeFormat.ReadHeader(input, out type, out id); ErrorCode payloadErr = AwesomeFormat.ReadPayload(input, out payload); Assert.That(headerErr, Is.EqualTo(ErrorCode.None)); Assert.That(payloadErr, Is.EqualTo(ErrorCode.None)); Assert.That(payload.alpha, Is.EqualTo(123777)); Assert.That(payload.beta, Is.EqualTo(true)); Assert.That(payload.gamma, Is.EqualTo(123000).Within(0.1)); Assert.That(payload.delta, Is.EqualTo(new DateTime(2018, 03, 01, 07, 00, 00, DateTimeKind.Utc))); }
public void Deserialize_WithPrimitivesAndStringArrays_Successful() { string input = "type: unknown\n" + "id: 1111\n" + "alpha: 123777\n" + "beta: true\n" + "gamma: 123e+3\n" + "delta: deserialize, string, arrays,so,this,should, work,\n" + "epsilon: iki kudune ra kanggo\n" + "zeta: iki kudune dibuang"; MessageType type; long id; PrimitivesAndStringArrays payload; ErrorCode headerErr = AwesomeFormat.ReadHeader(input, out type, out id); ErrorCode payloadErr = AwesomeFormat.ReadPayload(input, out payload); Assert.That(headerErr, Is.EqualTo(ErrorCode.None)); Assert.That(payloadErr, Is.EqualTo(ErrorCode.None)); Assert.That(payload.alpha, Is.EqualTo(123777)); Assert.That(payload.beta, Is.EqualTo(true)); Assert.That(payload.gamma, Is.EqualTo(123000).Within(0.1)); Assert.That(payload.delta, Is.EquivalentTo(new [] { "deserialize", " string", " arrays", "so", "this", "should", " work" })); }
public void Deserialize_WithPrimitivesAndDoubleArrays_Successful() { string input = "type: unknown\n" + "id: 1111\n" + "alpha: 123777\n" + "beta: true\n" + "gamma: 123e+3\n" + "delta: 16.125,2.25,7.375,8.000,\n" + "epsilon: iki kudune ra kanggo\n" + "zeta: iki kudune dibuang"; MessageType type; long id; PrimitivesAndDoubleArrays payload; ErrorCode headerErr = AwesomeFormat.ReadHeader(input, out type, out id); ErrorCode payloadErr = AwesomeFormat.ReadPayload(input, out payload); Assert.That(headerErr, Is.EqualTo(ErrorCode.None)); Assert.That(payloadErr, Is.EqualTo(ErrorCode.None)); Assert.That(payload.alpha, Is.EqualTo(123777)); Assert.That(payload.beta, Is.EqualTo(true)); Assert.That(payload.gamma, Is.EqualTo(123000).Within(0.1)); Assert.That(payload.delta, Is.EquivalentTo(new[] { 16.125, 2.25, 7.375, 8 })); }
public void Deserialize_WithPrimitives_ForAllDataMemberAttributes_Successful() { string input = "type: unknown\n" + "id: 1111\n" + "alpha: 123777\n" + "beta: True\n" + "gamma: 123e+3\n" + "delta: isih string iki\n" + "epsilon: iki kudune ra kanggo\n" + "zeta: iki kudune dibuang"; MessageType type; long id; AllPrimitives payload; ErrorCode headerErr = AwesomeFormat.ReadHeader(input, out type, out id); ErrorCode payloadErr = AwesomeFormat.ReadPayload(input, out payload); Assert.That(headerErr, Is.EqualTo(ErrorCode.None)); Assert.That(payloadErr, Is.EqualTo(ErrorCode.None)); Assert.That(payload.alpha, Is.EqualTo(123777)); Assert.That(payload.beta, Is.EqualTo(true)); Assert.That(payload.gamma, Is.EqualTo(123000).Within(0.1)); Assert.That(payload.delta, Is.EqualTo("isih string iki")); }
public void Deserialize_WithAllStringMembers_ForAllDataMemberAttributes_Successful() { string input = "type: unknown\n" + "id: 1111\n" + "alpha: iki_huruf_alpa\n" + "beta: iki huruf beta\n" + "gamma: iki_hurup_gama\n" + "delta: iki hurop delta\n" + "epsilon: iki kudune ra kanggo\n" + "zeta: iki kudune dibuang"; MessageType type; long id; AllStringNoTypeName payload; ErrorCode headerErr = AwesomeFormat.ReadHeader(input, out type, out id); ErrorCode payloadErr = AwesomeFormat.ReadPayload(input, out payload); Assert.That(headerErr, Is.EqualTo(ErrorCode.None)); Assert.That(payloadErr, Is.EqualTo(ErrorCode.None)); Assert.That(payload.alpha, Is.EqualTo("iki_huruf_alpa")); Assert.That(payload.beta, Is.EqualTo("iki huruf beta")); Assert.That(payload.gamma, Is.EqualTo("iki_hurup_gama")); Assert.That(payload.delta, Is.EqualTo("iki hurop delta")); }
public void Deserialize_FriendStatusResponse_CorrectNaming() { string input = "type: friendsStatusResponse" + "\n" + "id: 1" + "\n" + "code: 0" + "\n" + "friendsId: [966f80fdd4fc4b57b6b4ba18a79da3e5,9a9a769fd97248fc883174f4602ff7b0,ada9bb9853554f1d89693837e0877159,7def7f4e5edb4c30bdbd6b11a292e3ad,befa1ca938c6471095b3d79f68d04534,c86bd5dfb3634f4c80a867c6047f0a68,d31e2f9ff23b46d98dc1a5fd6bfd906e,101e5e76984b4c3bbddf1da657e972f4,236bf24904b348f8ac7eba47782f077e,f587612d078740f193b71efb838e390f,f613541fcb6f4f8f89547cf99ee366bb,8f4a31dc230e42c7854686eebde1ccf2,b5d83773f47e4a05bbea8ea41d356330,cdeb6625dfe84bff8575ee235c74d03a,cec1cee7e1784f5db7fa542fc35119f8,11af2264745041a4972b2b62f39b57ca,ce6481353e9e43acb874528e30cd87b1,027dc74e7ad5460db441e00e07fb8163,a9e08943ff8a4d6c85aada75786bf4de,da2cd86e322c4f19a1e86bde0cdebb1d,133d6b5b3ca0456e842b73c8274951a7,0b360bd09f3140a58345b604661f265b,f9de8861dc994456b650238269031ca5,602a3a628bed474c8a583b83b340d430,0895bf646c84439087203d0eb0bb0ca2,514abb596ae645b497190f4171a41ff8,40d7f57c4b3540ecb5a55014aed720c9,85a8ea9c83af4b8f98b7f4efe389a130,]" + "\n" + "availability: [0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,]" + "\n" + "activity: [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,random activity,nil,nil,random activity,nil,nil,nil,nil,nil,random activity,nil,nil,nil,nil,nil,nil,]" + "\n" + "lastSeenAt: [2018-12-18T03:33:35Z,2018-12-18T03:33:36Z,2018-12-18T03:21:26Z,2018-12-18T03:26:51Z,2018-12-18T03:18:10Z,2018-12-18T02:58:09Z,2018-12-18T02:55:04Z,2018-12-18T03:33:35Z,2018-12-18T03:33:36Z,2018-12-18T02:58:35Z,2018-12-18T02:54:48Z,2018-12-18T03:26:32Z,2018-12-18T03:44:19Z,2018-12-18T03:26:42Z,2018-12-18T03:21:26Z,2018-12-18T03:44:20Z,2018-12-18T03:33:35Z,2018-12-18T03:26:32Z,2018-12-18T03:19:17Z,2018-12-18T03:00:43Z,2018-12-18T03:26:43Z,2018-12-18T03:44:19Z,2018-12-18T03:18:10Z,2018-12-18T03:13:25Z,2018-12-18T02:54:48Z,2018-12-18T03:19:17Z,2018-12-18T03:13:25Z,2018-12-18T03:07:16Z,]"; MessageType type; long id; ErrorCode headerErrorCode = AwesomeFormat.ReadHeader(input, out type, out id); Assert.That(headerErrorCode, Is.EqualTo(ErrorCode.None)); }
public void Deserialize_WithNoType_IsError() { string input = "alpha: 707070\n" + "id: 1111\n" + "beta: \n" + "gamma: 123e+3\n" + "delta: 16.125,2.25,7.375,8.000,\n" + "epsilon: iki kudune ra kanggo\n" + "zeta: iki kudune dibuang"; MessageType type; long id; ErrorCode headerErr = AwesomeFormat.ReadHeader(input, out type, out id); Assert.That(headerErr, Is.Not.EqualTo(ErrorCode.None)); }
public void Deserialize_WithNonNumericCode_IsError() { string input = "type: unknown\n" + "id: 1111\n" + "code: 400welgeduwel\n" + "alpha: iki_huruf_alpa\n" + "beta: iki huruf beta\n" + "gamma: iki_hurup_gama\n" + "delta: iki hurop delta\n" + "epsilon: iki kudune ra kanggo\n" + "zeta: iki kudune dibuang"; MessageType type; long id; ErrorCode headerErr = AwesomeFormat.ReadHeader(input, out type, out id); Assert.That(headerErr, Is.Not.EqualTo(ErrorCode.None)); }
public void Deserialize_WithMissingFields_IsError() { string input = "type: unknown\n" + "id: 1111\n" + "beta: true\n" + "gamma: 123e+3\n" + "delta: 16.125,2.25,7.375,8.000,\n" + "epsilon: iki kudune ra kanggo\n" + "zeta: iki kudune dibuang"; MessageType type; long id; PrimitivesAndDoubleArrays payload; ErrorCode headerErr = AwesomeFormat.ReadHeader(input, out type, out id); ErrorCode payloadErr = AwesomeFormat.ReadPayload(input, out payload); Assert.That(headerErr, Is.EqualTo(ErrorCode.None)); Assert.That(payloadErr, Is.Not.EqualTo(ErrorCode.None)); }
private void HandleOnMessage(string message) { Report.GetWebSocketResponse(message); long messageId; MessageType messageType; ErrorCode errorCode = AwesomeFormat.ReadHeader(message, out messageType, out messageId); switch (messageType) { case MessageType.partyGetInvitedNotif: Lobby.HandleNotification(message, this.InvitedToParty); break; case MessageType.partyJoinNotif: Lobby.HandleNotification(message, this.JoinedParty); break; case MessageType.partyKickNotif: Lobby.HandleNotification(message, this.KickedFromParty); break; case MessageType.partyLeaveNotif: Lobby.HandleNotification(message, this.LeaveFromParty); break; case MessageType.personalChatNotif: Lobby.HandleNotification(message, this.PersonalChatReceived); break; case MessageType.partyChatNotif: Lobby.HandleNotification(message, this.PartyChatReceived); break; case MessageType.messageNotif: Lobby.HandleNotification(message, this.OnNotification); break; case MessageType.userStatusNotif: Lobby.HandleNotification(message, this.FriendsStatusChanged); break; case MessageType.matchmakingNotif: Lobby.HandleNotification(message, this.MatchmakingCompleted); break; case MessageType.dsNotif: Lobby.HandleNotification(message, this.DSUpdated); break; case MessageType.acceptFriendsNotif: Lobby.HandleNotification(message, this.FriendRequestAccepted); break; case MessageType.requestFriendsNotif: Lobby.HandleNotification(message, this.OnIncomingFriendRequest); break; case MessageType.setReadyConsentNotif: Lobby.HandleNotification(message, this.ReadyForMatchConfirmed); break; case MessageType.rematchmakingNotif: Lobby.HandleNotification(message, this.RematchmakingNotif); break; case MessageType.channelChatNotif: Lobby.HandleNotification(message, this.ChannelChatReceived); break; case MessageType.connectNotif: AwesomeFormat.ReadPayload(message, out lobbySessionId); break; case MessageType.disconnectNotif: Lobby.HandleNotification(message, this.Disconnecting); break; case MessageType.partyDataUpdateNotif: Lobby.HandleNotification(message, this.PartyDataUpdateNotif); break; case MessageType.partyRejectNotif: Lobby.HandleNotification(message, this.RejectedPartyInvitation); break; case MessageType.blockPlayerNotif: Lobby.HandleNotification(message, this.PlayerBlockedNotif); break; case MessageType.unblockPlayerNotif: Lobby.HandleNotification(message, this.PlayerUnblockedNotif); break; default: Action <ErrorCode, string> handler; if (messageId != -1 && this.responseCallbacks.TryGetValue(messageId, out handler)) { this.responseCallbacks.Remove(messageId); handler(errorCode, message); } break; } }
private void HandleMessages(object sender, MessageEventArgs eventArgs) { Debug.Log("HandleMessage: " + eventArgs.Data.ToString()); long messageId; MessageType messageType; ErrorCode errorCode = AwesomeFormat.ReadHeader(eventArgs.Data, out messageType, out messageId); switch (messageType) { case MessageType.partyGetInvitedNotif: Lobby.HandleNotification(eventArgs.Data, this.InvitedToParty); break; case MessageType.partyJoinNotif: Lobby.HandleNotification(eventArgs.Data, this.JoinedParty); break; case MessageType.partyKickNotif: Lobby.HandleNotification(eventArgs.Data, this.KickedFromParty); break; case MessageType.personalChatNotif: Lobby.HandleNotification(eventArgs.Data, this.PersonalChatReceived); break; case MessageType.partyChatNotif: Lobby.HandleNotification(eventArgs.Data, this.PartyChatReceived); break; case MessageType.messageNotif: Lobby.HandleNotification(eventArgs.Data, this.OnNotification); break; case MessageType.userStatusNotif: Lobby.HandleNotification(eventArgs.Data, this.UserStatusNotification); break; case MessageType.matchmakingNotif: Lobby.HandleNotification(eventArgs.Data, this.MatchmakingNotification); break; case MessageType.acceptFriendsNotif: Lobby.HandleNotification(eventArgs.Data, this.OnFriendRequestAccepted); break; case MessageType.requestFriendsNotif: Lobby.HandleNotification(eventArgs.Data, this.OnIncomingFriendRequest); break; case MessageType.connectNotif: this.Connected = true; break; default: Action <ErrorCode, string> handler; if (messageId != -1 && this.responseCallbacks.TryGetValue(messageId, out handler)) { this.responseCallbacks.Remove(messageId); handler(errorCode, eventArgs.Data); } break; } }