Changeset 6cdb152b7a7958a07196bbe96ad93e1f1f80ef99

Show
Ignore:
Timestamp:
12/29/07 13:52:55 (8 months ago)
Author:
Christopher Jung <bktheg@web.de>
git-committer:
Christopher Jung <bktheg@web.de> 1198932775 +0100
git-parent:

[9eeebea1c9a7144e212f2d0cd6eaabdbc4a368cb]

git-author:
Christopher Jung <bktheg@web.de> 1198932775 +0100
Message:

Unterstuetzung fuer Positionen als Rollenattribut

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • src/net/driftingsouls/ds2/server/scripting/roles/parser/Parser.java

    r23aa517 r6cdb152  
    1818 */ 
    1919package net.driftingsouls.ds2.server.scripting.roles.parser; 
     20 
     21import net.driftingsouls.ds2.server.Location; 
    2022 
    2123import org.antlr.runtime.ANTLRStringStream; 
     
    9496                                        value = Long.parseLong(valueStr); 
    9597                                        break; 
     98                                         
     99                                case RoleParser.Location: 
     100                                        value = Location.fromString(valueStr); 
     101                                        break; 
    96102                                } 
    97103                                 
  • src/net/driftingsouls/ds2/server/scripting/roles/parser/Role.g

    r23aa517 r6cdb152  
    4343 
    4444value 
    45         :       ( Number | Text ) 
     45        :       ( Number | Text | Location ) 
     46        ; 
     47 
     48Location 
     49        :       Digit+ ':' Digit+ '/' Digit+ 
    4650        ; 
    4751 
     
    5054        ; 
    5155 
    52 Number  :       '1'..'9' Numeric 
     56Number  :       '1'..'9' Digit* 
    5357        ; 
    5458 
  • test/java/net/driftingsouls/ds2/server/scripting/roles/parser/ParserTest.java

    r23aa517 r6cdb152  
    2121import static org.hamcrest.CoreMatchers.*; 
    2222import static org.junit.Assert.*; 
     23import net.driftingsouls.ds2.server.Location; 
    2324 
    2425import org.junit.Test; 
     
    9192                assertNotNull(role); 
    9293                assertThat(role.getRoleName(), is("TestRole")); 
    93                 assertEquals(role.getAttribute("Attribute1"), Long.valueOf(5)); 
    94                 assertEquals(role.getAttribute("Attribute2"), "Test\"0123\\Test"); 
     94                assertEquals(Long.valueOf(5), role.getAttribute("Attribute1")); 
     95                assertEquals("Test\"0123\\Test", role.getAttribute("Attribute2")); 
     96        } 
     97         
     98        /** 
     99         * Testet die Parsefunktion bei Koordinaten 
     100         */ 
     101        @Test 
     102        public void testAttributeLocationParse() { 
     103                final String roleDef = "role: TestRole2\n" + 
     104                                "Attribute1: 1:23/45"; 
     105                RoleDefinition role = Parser.parse(roleDef); 
     106                assertNotNull(role); 
     107                assertThat(role.getRoleName(), is("TestRole2")); 
     108                assertEquals(new Location(1, 23, 45), role.getAttribute("Attribute1")); 
    95109        } 
    96110}