1 /***
2 * Jetrix TetriNET Server
3 * Copyright (C) 2001-2003 Emmanuel Bourg
4 *
5 * This program is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU General Public License
7 * as published by the Free Software Foundation; either version 2
8 * of the License, or (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 */
19
20 package net.jetrix.protocols;
21
22 import java.util.*;
23
24 import junit.framework.*;
25
26 import net.jetrix.*;
27 import net.jetrix.clients.*;
28 import net.jetrix.messages.channel.*;
29
30 /***
31 * JUnit TestCase for the class net.jetrix.protocols.TSpecProtocolTest
32 *
33 * @author Emmanuel Bourg
34 * @version $Revision: 836 $, $Date: 2010-04-11 23:25:35 +0200 (dim., 11 avr. 2010) $
35 */
36 public class TSpecProtocolTest extends TestCase
37 {
38 private Protocol protocol;
39 private Locale locale;
40
41 public void setUp()
42 {
43 protocol = new TspecProtocol();
44 locale = new Locale("fr");
45 }
46
47 public void testTranslateSmsg()
48 {
49 User user = new User();
50 user.setName("Smanux");
51
52 Client client = new TetrinetClient(user);
53
54 SmsgMessage message = new SmsgMessage(1, "spectator message");
55 message.setSource(client);
56 String raw = "pline 0 " + Language.getText("channel.spectator.message", locale, "Smanux", "spectator message");
57 assertEquals(protocol.applyStyle(raw), protocol.translate(message, locale));
58 }
59
60 public void testTranslatePrivateSmsg()
61 {
62 User user = new User();
63 user.setName("Smanux");
64
65 Client client = new TetrinetClient(user);
66
67 SmsgMessage message = new SmsgMessage(1, "spectator message");
68 message.setSource(client);
69 message.setPrivate(true);
70 assertEquals("smsg Smanux spectator message", protocol.translate(message, locale));
71 }
72
73 public void testGetMessageSmsg()
74 {
75 String raw = "pline 1 // spectator message";
76 Message message = protocol.getMessage(raw);
77
78 assertNotNull("message not parsed", message);
79 assertEquals("message class", SmsgMessage.class, message.getClass());
80
81 SmsgMessage smsg = (SmsgMessage) message;
82 assertEquals("slot", 1, smsg.getSlot());
83 assertEquals("private", false, smsg.isPrivate());
84 assertEquals("text", "spectator message", smsg.getText());
85 }
86
87 public void testGetMessagePrivateSmsg()
88 {
89 String raw = "pline 1 spectator message";
90 Message message = protocol.getMessage(raw);
91
92 assertNotNull("message not parsed", message);
93 assertEquals("message class", SmsgMessage.class, message.getClass());
94
95 SmsgMessage smsg = (SmsgMessage) message;
96 assertEquals("slot", 1, smsg.getSlot());
97 assertEquals("private", true, smsg.isPrivate());
98 assertEquals("text", "spectator message", smsg.getText());
99 }
100
101 }