source: java/main/src/test/java/com/framsticks/communication/RequestTest.java @ 193

Last change on this file since 193 was 193, checked in by Maciej Komosinski, 10 years ago

Set svn:eol-style native for all textual files

  • Property svn:eol-style set to native
File size: 2.3 KB
Line 
1package com.framsticks.communication;
2
3import org.testng.annotations.DataProvider;
4import org.testng.annotations.Test;
5
6import com.framsticks.communication.queries.CallRequest;
7import com.framsticks.communication.queries.GetRequest;
8import com.framsticks.communication.queries.InfoRequest;
9import com.framsticks.communication.queries.RegisterRequest;
10import com.framsticks.communication.queries.SetRequest;
11import com.framsticks.communication.queries.UseRequest;
12import com.framsticks.communication.queries.VersionRequest;
13import com.framsticks.test.TestConfiguration;
14import com.framsticks.util.lang.Pair;
15
16import static org.fest.assertions.Assertions.*;
17
18@Test
19public class RequestTest extends TestConfiguration {
20
21        @Test
22        public void genericParsing() {
23                assertThat(Request.takeIdentifier("first second")).isEqualTo(Pair.make("first", "second"));
24                assertThat(Request.takeIdentifier(" first ")).isEqualTo(Pair.make("first", ""));
25
26                assertThat(Request.takeString(" \"a long comment\" second")).isEqualTo(Pair.make("a long comment", "second"));
27                assertThat(Request.takeString(" simple second")).isEqualTo(Pair.make("simple", "second"));
28
29                assertThat(Request.takeRequestId(true, " 2 simple second")).isEqualTo(Pair.make(2, "simple second"));
30                assertThat(Request.takeRequestId(true, " -3 simple")).isEqualTo(Pair.make(-3, "simple"));
31        }
32
33        @Test(dataProvider = "requests", dependsOnMethods = "genericParsing")
34        public void parsingAndPrintingRequests(Class<? extends Request> requestClass, String line) {
35                Pair<CharSequence, CharSequence> pair = Request.takeIdentifier(line);
36                Request request = Request.parse(pair.first, pair.second);
37                assertThat(request).isInstanceOf(requestClass);
38                assertThat(request.stringRepresentation()).isEqualTo(line);
39        }
40
41        @DataProvider
42        public Object[][] requests() {
43                return new Object[][] {
44                        { CallRequest.class, "call /object function first second \"thi rd\""},
45                        { GetRequest.class, "get /test"},
46                        { GetRequest.class, "get /test one_field"},
47                        { GetRequest.class, "get /test first_field,second_field"},
48                        { SetRequest.class, "set /test field value"},
49                        { SetRequest.class, "set /test field \"value with spaces\""},
50                        { RegisterRequest.class, "reg /test/field_changed"},
51                        { VersionRequest.class, "version 4"},
52                        { InfoRequest.class, "info /some/path"},
53                        { UseRequest.class, "use request_id"}
54                };
55        }
56
57}
Note: See TracBrowser for help on using the repository browser.