View Javadoc

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 }