/incogito-domain/src/test/java/no/java/incogito/domain/IncogitoUriTest.java

http://github.com/javaBin/incogito · Java · 107 lines · 41 code · 17 blank · 49 comment · 2 complexity · dccf4dafb2fd395c7305fe1f144f13b7 MD5 · raw file

  1. package no.java.incogito.domain;
  2. import junit.framework.TestCase;
  3. import no.java.incogito.domain.IncogitoUri.IncogitoRestEventsUri.IncogitoRestEventUri.IncogitoRestSessionUri;
  4. import no.java.incogito.domain.Session.Format;
  5. import static no.java.incogito.domain.IncogitoTestData.session46;
  6. import java.util.LinkedList;
  7. import java.util.List;
  8. import java.util.regex.Matcher;
  9. import java.util.regex.Pattern;
  10. /**
  11. * @author <a href="mailto:trygvis@java.no">Trygve Laugst&oslash;l</a>
  12. * @version $Id$
  13. */
  14. public class IncogitoUriTest extends TestCase {
  15. public void testBasic() {
  16. IncogitoUri incogitoUri = new IncogitoUri("http://localhost");
  17. String what = incogitoUri.events().eventUri("JavaZone 2009").session(session46);
  18. assertEquals("http://localhost/events/JavaZone%202009/sessions/Dokumentasjon%20uten%20pistol%20-%20g%C3%A5r%20det%20an%3F", what);
  19. IncogitoRestSessionUri session2RestUri = incogitoUri.restEvents().eventUri("JavaZone 2009").session(IncogitoTestData.session3);
  20. String s = session2RestUri.toString();
  21. assertEquals("http://localhost/rest/events/JavaZone%202009/sessions/b8a6034f-573d-4321-9155-a5ed31885958", s);
  22. assertEquals("http://localhost/rest/events/JavaZone%202009/sessions/b8a6034f-573d-4321-9155-a5ed31885958/speaker-photos/2", session2RestUri.speakerPhoto(2));
  23. assertEquals("http://localhost/events/JavaZone%202009/sessions/Scala%20%2b%20Wicket%20=%20Match%20made%20in%20heaven%3F",
  24. incogitoUri.events().eventUri("JavaZone 2009").session(session46.title("Scala + Wicket = Match made in heaven?")));
  25. assertEquals("http://localhost/events/JavaZone%202009/sessions/%2b=",
  26. incogitoUri.events().eventUri("JavaZone 2009").session(session46.title("+=")));
  27. }
  28. // public void testCrap() {
  29. // String expr = "^/events/([.&&[^/]]*)/?$";
  30. // showMatches("/events/JavaZone%202009/", expr);
  31. // showMatches("/events/JavaZone%202009", expr);
  32. //
  33. // expr = "^/events/([\\w%0-9])*";
  34. // showMatches("/events/JavaZone%202009/", expr);
  35. // showMatches("/events/JavaZone%202009", expr);
  36. //
  37. // expr = "^/events/(.*)?$";
  38. // showMatches("/events/JavaZone%202009/", expr);
  39. // showMatches("/events/JavaZone%202009", expr);
  40. // }
  41. private void showMatches(String text, String regexp) {
  42. List<Integer> starts = new LinkedList<Integer>();
  43. List<Integer> ends = new LinkedList<Integer>();
  44. List<String> groups = new LinkedList<String>();
  45. Pattern pattern = Pattern.compile(regexp);
  46. Matcher matcher = pattern.matcher(text);
  47. while (matcher.find()) {
  48. // System.out.println("start: " + matcher.start() + ", end: " + matcher.end() + ", group: " + matcher.group());
  49. starts.add(matcher.start());
  50. ends.add(matcher.end());
  51. groups.add(matcher.group());
  52. }
  53. System.out.print(regexp + " with " + text + " => ");
  54. for (String group : groups) {
  55. System.out.println(group);
  56. }
  57. // System.out.print("match: ");
  58. //
  59. // if (starts.size() == 0) {
  60. // System.out.println();
  61. // return;
  62. // }
  63. //
  64. // int start = starts.remove(0);
  65. // int end = ends.remove(0);
  66. // for (int i = 0; i < text.length(); i++) {
  67. // if (i == start && start == end - 1) {
  68. // System.out.print("|");
  69. // }
  70. // else if (i == start) {
  71. // System.out.print("|");
  72. // } else if (i == end - 1) {
  73. // System.out.print("|");
  74. //
  75. // if (starts.size() == 0) {
  76. // break;
  77. // }
  78. // start = starts.remove(0);
  79. // end = ends.remove(0);
  80. // } else if (start < i && i < end) {
  81. // System.out.print("-");
  82. // } else {
  83. // System.out.print(" ");
  84. // }
  85. // }
  86. //
  87. // System.out.println();
  88. System.out.println();
  89. }
  90. }