Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package cz.cvut.fel.pr2.du3.testing;
- import java.io.IOException;
- import java.text.ParseException;
- import cz.cvut.fel.pr2.du3.DataParser;
- import cz.cvut.fel.pr2.du3.Storage;
- import cz.cvut.fel.pr2.du3.objects.ArrayObject;
- import cz.cvut.fel.pr2.du3.objects.DataObject;
- import cz.cvut.fel.pr2.du3.objects.NumberObject;
- import cz.cvut.fel.pr2.du3.objects.StringObject;
- public class Test {
- public static void main(String[] args) throws IOException {
- testParser();
- //testObjects();
- //testStorage();
- }
- private static void testStorage() {
- try {
- DataProvider dp = new DataProvider("{{{lorem}}}{ipsum}{123546}");
- Storage s = new Storage(1000, dp, new DataParser());
- System.out.println(s.read(0));
- System.out.println(s.read(1));
- System.out.println(s.read(2));
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- private static void testParser() {
- DataParser dp = new DataParser();
- String[] tests = {
- "someTEXT012",
- "123456",
- "0",
- "{ahoj}",
- "{balik}{je}{genius}",
- "{{nested}{array}}{anotherItem}",
- "{{{{DEEP}{{{NESTING}{{LIFE}{42}}}}}}{WE}{LOVE}{LISP}}",
- "{1}{2}{3}{{{4}}}{5}{6}{7}",
- "222",
- "a22",
- "{222}{a22}",
- "{{222}{a22}}{a22}",
- // chybnÄ›
- "",
- "-3",
- "22a",
- "222 a22",
- "{222}a22",
- "{222{a22}}{a22}",
- "{{{",
- "}",
- "{{a}",
- "a}",
- "{{{15}}}}",
- ".sdg"
- "a22{222}",
- "{{5}a}{a5}a",
- "{{4}{",
- };
- for (String s : tests) {
- try {
- System.out.println("\nINP = " + s);
- DataObject dobj = dp.parse(s);
- System.out.println("OUT = " + dobj.getDataString());
- } catch (ParseException e) {
- System.out.println("ParseError at " + e.getErrorOffset());
- }
- }
- /* EXPECTED OUTPUT
- *
- INP = someTEXT012
- OUT = someTEXT012
- INP = 123456
- OUT = 123456
- INP = 0
- OUT = 0
- INP = {ahoj}
- OUT = {ahoj}
- INP = {balik}{je}{genius}
- OUT = {balik}{je}{genius}
- INP = {{nested}{array}}{anotherItem}
- OUT = {{nested}{array}}{anotherItem}
- INP = {{{{DEEP}{{{NESTING}{{LIFE}{42}}}}}}{WE}{LOVE}{LISP}}
- OUT = {{{{DEEP}{{{NESTING}{{LIFE}{42}}}}}}{WE}{LOVE}{LISP}}
- INP = {1}{2}{3}{{{4}}}{5}{6}{7}
- OUT = {1}{2}{3}{{{4}}}{5}{6}{7}
- INP = 222
- OUT = 222
- INP = a22
- OUT = a22
- INP = {222}{a22}
- OUT = {222}{a22}
- INP = {{222}{a22}}{a22}
- OUT = {{222}{a22}}{a22}
- INP =
- ParseError at 0
- INP = -3
- ParseError at 0
- INP = 22a
- ParseError at 2
- INP = 222 a22
- ParseError at 3
- INP = {222}a22
- ParseError at 5
- INP = {222{a22}}{a22}
- ParseError at 4
- INP = {{{
- ParseError at 3
- INP = }
- ParseError at 0
- INP = {{a}
- ParseError at 4
- INP = a}
- ParseError at 1
- INP = {{{15}}}}
- ParseError at 8
- INP = .sdg
- ParseError at 0
- INP = a22{222}
- ParseError at 3
- INP = {{5}a}{a5}a
- ParseError at 4
- INP = {{4}{
- ParseError at 5
- */
- }
- private static void testObjects() {
- NumberObject n;
- StringObject s;
- System.out.println("\nNumber -1");
- try {
- n = new NumberObject(-1);
- } catch (Throwable t) {
- System.out.println(t.getMessage());
- }
- System.out.println("\nNumber 0");
- n = new NumberObject(0);
- System.out.println("getNumber: " + n.getNumber());
- System.out.println("getDataString: " + n.getDataString());
- System.out.println("\nString bad");
- try {
- s = new StringObject("dfdfddf- +,fs 12");
- } catch (Throwable t) {
- System.out.println(t.getMessage());
- }
- System.out.println("\nString good");
- s = new StringObject("sdfhjsfdsf564g6df54gh6sdf");
- System.out.println("getString: " + s.getString());
- System.out.println("getDataString: " + s.getDataString());
- DataObject[] objs = {
- new StringObject("such"),
- new StringObject("array"),
- new ArrayObject(
- new DataObject[] {
- new StringObject("much"),
- new StringObject("amaze")
- }),
- new StringObject("wow"),
- };
- ArrayObject ao = new ArrayObject(objs);
- System.out.println(ao.getDataString());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment