At last update to JUnit 4.x
[zxing.git] / core / test / src / com / google / zxing / client / result / ParsedReaderResultTestCase.java
index f785e89..00f34de 100644 (file)
@@ -18,7 +18,8 @@ package com.google.zxing.client.result;
 
 import com.google.zxing.BarcodeFormat;
 import com.google.zxing.Result;
-import junit.framework.TestCase;
+import org.junit.Assert;
+import org.junit.Test;
 
 /**
  * Tests {@link ParsedResult}.
@@ -26,8 +27,9 @@ import junit.framework.TestCase;
  * @author Sean Owen
  * @author dswitkin@google.com (Daniel Switkin)
  */
-public final class ParsedReaderResultTestCase extends TestCase {
+public final class ParsedReaderResultTestCase extends Assert {
 
+  @Test
   public void testTextType() {
     doTestResult("", "", ParsedResultType.TEXT);
     doTestResult("foo", "foo", ParsedResultType.TEXT);
@@ -40,6 +42,7 @@ public final class ParsedReaderResultTestCase extends TestCase {
         ParsedResultType.TEXT);
   }
 
+  @Test
   public void testBookmarkType() {
     doTestResult("MEBKM:URL:google.com;;", "http://google.com", ParsedResultType.URI);
     doTestResult("MEBKM:URL:google.com;TITLE:Google;;", "Google\nhttp://google.com",
@@ -50,6 +53,7 @@ public final class ParsedReaderResultTestCase extends TestCase {
     doTestResult("MEBKM:URL:HTTPS://google.com;;", "https://google.com", ParsedResultType.URI);
   }
 
+  @Test
   public void testURLTOType() {
     doTestResult("urlto:foo:bar.com", "foo\nhttp://bar.com", ParsedResultType.URI);
     doTestResult("URLTO:foo:bar.com", "foo\nhttp://bar.com", ParsedResultType.URI);
@@ -57,6 +61,7 @@ public final class ParsedReaderResultTestCase extends TestCase {
     doTestResult("URLTO::http://bar.com", "http://bar.com", ParsedResultType.URI);
   }
 
+  @Test
   public void testEmailType() {
     doTestResult("MATMSG:TO:srowen@example.org;;",
         "srowen@example.org", ParsedResultType.EMAIL_ADDRESS);
@@ -70,6 +75,7 @@ public final class ParsedReaderResultTestCase extends TestCase {
         "TO:srowen@example.org;SUB:Stuff;BODY:This is some text;;", ParsedResultType.TEXT);
   }
 
+  @Test
   public void testEmailAddressType() {
     doTestResult("srowen@example.org", "srowen@example.org", ParsedResultType.EMAIL_ADDRESS);
     doTestResult("mailto:srowen@example.org", "srowen@example.org", ParsedResultType.EMAIL_ADDRESS);
@@ -79,6 +85,7 @@ public final class ParsedReaderResultTestCase extends TestCase {
     doTestResult("Let's meet @ 2", "Let's meet @ 2", ParsedResultType.TEXT);
   }
 
+  @Test
   public void testAddressBookType() {
     doTestResult("MECARD:N:Sean Owen;;", "Sean Owen", ParsedResultType.ADDRESSBOOK);
     doTestResult("MECARD:TEL:+12125551212;N:Sean Owen;;", "Sean Owen\n+12125551212",
@@ -99,27 +106,32 @@ public final class ParsedReaderResultTestCase extends TestCase {
         ParsedResultType.TEXT);
   }
 
+  @Test
   public void testAddressBookAUType() {
     doTestResult("MEMORY:\r\n", "", ParsedResultType.ADDRESSBOOK);
     doTestResult("MEMORY:foo\r\nNAME1:Sean\r\n", "Sean\nfoo", ParsedResultType.ADDRESSBOOK);
     doTestResult("TEL1:+12125551212\r\nMEMORY:\r\n", "+12125551212", ParsedResultType.ADDRESSBOOK);
   }
 
+  @Test
   public void testBizcard() {
     doTestResult("BIZCARD:N:Sean;X:Owen;C:Google;A:123 Main St;M:+12225551212;E:srowen@example.org;",
         "Sean Owen\nGoogle\n123 Main St\n+12225551212\nsrowen@example.org", ParsedResultType.ADDRESSBOOK);
   }
 
+  @Test
   public void testUPCA() {
     doTestResult("123456789012", "123456789012", ParsedResultType.PRODUCT, BarcodeFormat.UPC_A);
     doTestResult("1234567890123", "1234567890123", ParsedResultType.PRODUCT, BarcodeFormat.UPC_A);
     doTestResult("12345678901", "12345678901", ParsedResultType.TEXT);
   }
 
+  @Test
   public void testUPCE() {
     doTestResult("01234565", "01234565", ParsedResultType.PRODUCT, BarcodeFormat.UPC_E);
   }
 
+  @Test
   public void testEAN() {
     doTestResult("00393157", "00393157", ParsedResultType.PRODUCT, BarcodeFormat.EAN_8);
     doTestResult("00393158", "00393158", ParsedResultType.TEXT);
@@ -127,6 +139,7 @@ public final class ParsedReaderResultTestCase extends TestCase {
     doTestResult("5051140178490", "5051140178490", ParsedResultType.TEXT);
   }
 
+  @Test
   public void testISBN() {
     doTestResult("9784567890123", "9784567890123", ParsedResultType.ISBN, BarcodeFormat.EAN_13);
     doTestResult("9794567890123", "9794567890123", ParsedResultType.ISBN, BarcodeFormat.EAN_13);
@@ -134,35 +147,34 @@ public final class ParsedReaderResultTestCase extends TestCase {
     doTestResult("97945678901", "97945678901", ParsedResultType.TEXT);
   }
 
+  @Test
   public void testURI() {
     doTestResult("http://google.com", "http://google.com", ParsedResultType.URI);
     doTestResult("google.com", "http://google.com", ParsedResultType.URI);
     doTestResult("https://google.com", "https://google.com", ParsedResultType.URI);
     doTestResult("HTTP://google.com", "http://google.com", ParsedResultType.URI);
     doTestResult("http://google.com/foobar", "http://google.com/foobar", ParsedResultType.URI);
-    doTestResult("https://google.com:443/foobar", "https://google.com:443/foobar",
-        ParsedResultType.URI);
+    doTestResult("https://google.com:443/foobar", "https://google.com:443/foobar", ParsedResultType.URI);
     doTestResult("google.com:443", "http://google.com:443", ParsedResultType.URI);
     doTestResult("google.com:443/", "http://google.com:443/", ParsedResultType.URI);
     doTestResult("google.com:443/foobar", "http://google.com:443/foobar", ParsedResultType.URI);
-    doTestResult("http://google.com:443/foobar", "http://google.com:443/foobar",
-        ParsedResultType.URI);
-    doTestResult("https://google.com:443/foobar", "https://google.com:443/foobar",
-        ParsedResultType.URI);
+    doTestResult("http://google.com:443/foobar", "http://google.com:443/foobar", ParsedResultType.URI);
+    doTestResult("https://google.com:443/foobar", "https://google.com:443/foobar", ParsedResultType.URI);
     doTestResult("ftp://google.com/fake", "ftp://google.com/fake", ParsedResultType.URI);
-    doTestResult("gopher://google.com/obsolete", "gopher://google.com/obsolete",
-        ParsedResultType.URI);
+    doTestResult("gopher://google.com/obsolete", "gopher://google.com/obsolete", ParsedResultType.URI);
   }
 
+  @Test
   public void testGeo() {
     doTestResult("geo:1,2", "1.0, 2.0", ParsedResultType.GEO);
     doTestResult("GEO:1,2", "1.0, 2.0", ParsedResultType.GEO);
     doTestResult("geo:1,2,3", "1.0, 2.0, 3.0m", ParsedResultType.GEO);
-    doTestResult("geo:100.33,-32.3344,3.35", "100.33, -32.3344, 3.35m", ParsedResultType.GEO);
+    doTestResult("geo:80.33,-32.3344,3.35", "80.33, -32.3344, 3.35m", ParsedResultType.GEO);
     doTestResult("geo", "geo", ParsedResultType.TEXT);
     doTestResult("geography", "geography", ParsedResultType.TEXT);
   }
 
+  @Test
   public void testTel() {
     doTestResult("tel:+15551212", "+15551212", ParsedResultType.TEL);
     doTestResult("TEL:+15551212", "+15551212", ParsedResultType.TEL);
@@ -173,6 +185,7 @@ public final class ParsedReaderResultTestCase extends TestCase {
     doTestResult("telephone", "telephone", ParsedResultType.TEXT);
   }
 
+  @Test
   public void testVCard() {
     doTestResult("BEGIN:VCARD\r\nEND:VCARD", "", ParsedResultType.ADDRESSBOOK);
     doTestResult("BEGIN:VCARD\r\nN:Owen;Sean\r\nEND:VCARD", "Sean Owen",
@@ -181,10 +194,10 @@ public final class ParsedReaderResultTestCase extends TestCase {
         ParsedResultType.ADDRESSBOOK);
     doTestResult("BEGIN:VCARD\r\nADR;HOME:123 Main St\r\nVERSION:2.1\r\nN:Owen;Sean\r\nEND:VCARD",
         "Sean Owen\n123 Main St", ParsedResultType.ADDRESSBOOK);
-    doTestResult("BEGIN:VCARD", "begin:VCARD",
-        ParsedResultType.URI); // yeah we end up guessing "URI" here
+    doTestResult("BEGIN:VCARD", "", ParsedResultType.ADDRESSBOOK);
   }
 
+  @Test
   public void testVEvent() {
     // UTC times
     doTestResult("BEGIN:VCALENDAR\r\nBEGIN:VEVENT\r\nSUMMARY:foo\r\nDTSTART:20080504T123456Z\r\n" +
@@ -203,11 +216,11 @@ public final class ParsedReaderResultTestCase extends TestCase {
         "DTEND:20080505\r\nEND:VEVENT", "foo\n20080504\n20080505", ParsedResultType.CALENDAR);
     // Start time only
     doTestResult("BEGIN:VEVENT\r\nSUMMARY:foo\r\nDTSTART:20080504T123456Z\r\nEND:VEVENT",
-        "foo\n20080504T123456Z", ParsedResultType.CALENDAR);
+        "foo\n20080504T123456Z\n20080504T123456Z", ParsedResultType.CALENDAR);
     doTestResult("BEGIN:VEVENT\r\nSUMMARY:foo\r\nDTSTART:20080504T123456\r\nEND:VEVENT",
-        "foo\n20080504T123456", ParsedResultType.CALENDAR);
+        "foo\n20080504T123456\n20080504T123456", ParsedResultType.CALENDAR);
     doTestResult("BEGIN:VEVENT\r\nSUMMARY:foo\r\nDTSTART:20080504\r\nEND:VEVENT",
-        "foo\n20080504", ParsedResultType.CALENDAR);
+        "foo\n20080504\n20080504", ParsedResultType.CALENDAR);
     doTestResult("BEGIN:VEVENT\r\nDTEND:20080505T\r\nEND:VEVENT",
         "BEGIN:VEVENT\r\nDTEND:20080505T\r\nEND:VEVENT", ParsedResultType.TEXT);
     // Make sure illegal entries without newlines don't crash
@@ -219,42 +232,55 @@ public final class ParsedReaderResultTestCase extends TestCase {
     doTestResult("BEGIN:VEVENT", "begin:VEVENT", ParsedResultType.URI);
   }
 
+  @Test
   public void testSMS() {
     doTestResult("sms:+15551212", "+15551212", ParsedResultType.SMS);
     doTestResult("SMS:+15551212", "+15551212", ParsedResultType.SMS);
+    doTestResult("sms:+15551212;via=999333", "+15551212", ParsedResultType.SMS);
+    doTestResult("sms:+15551212?subject=foo&body=bar", "+15551212\nfoo\nbar", ParsedResultType.SMS);
+    doTestResult("sms:+15551212,+12124440101", "+15551212\n+12124440101", ParsedResultType.SMS);    
+  }
+
+  @Test
+  public void testSMSTO() {
     doTestResult("SMSTO:+15551212", "+15551212", ParsedResultType.SMS);
     doTestResult("smsto:+15551212", "+15551212", ParsedResultType.SMS);
-    doTestResult("sms:+15551212;via=999333", "+15551212\n999333", ParsedResultType.SMS);
-    doTestResult("sms:+15551212?subject=foo&body=bar", "+15551212\nfoo\nbar", ParsedResultType.SMS);
-    doTestResult("sms:+15551212:subject", "+15551212\nsubject", ParsedResultType.SMS);
-    doTestResult("sms:+15551212:My message", "+15551212\nMy message", ParsedResultType.SMS);
+    doTestResult("smsto:+15551212:subject", "+15551212\nsubject", ParsedResultType.SMS);
+    doTestResult("smsto:+15551212:My message", "+15551212\nMy message", ParsedResultType.SMS);
     // Need to handle question mark in the subject
-    doTestResult("sms:+15551212:What's up?", "+15551212\nWhat's up?", ParsedResultType.SMS);
+    doTestResult("smsto:+15551212:What's up?", "+15551212\nWhat's up?", ParsedResultType.SMS);
     // Need to handle colon in the subject
-    doTestResult("sms:+15551212:Directions: Do this", "+15551212\nDirections: Do this",
+    doTestResult("smsto:+15551212:Directions: Do this", "+15551212\nDirections: Do this",
         ParsedResultType.SMS);
-    doTestResult("sms:212-555-1212:Here's a longer message. Should be fine.",
+    doTestResult("smsto:212-555-1212:Here's a longer message. Should be fine.",
         "212-555-1212\nHere's a longer message. Should be fine.",
         ParsedResultType.SMS);
   }
 
+  @Test
   public void testMMS() {
     doTestResult("mms:+15551212", "+15551212", ParsedResultType.SMS);
     doTestResult("MMS:+15551212", "+15551212", ParsedResultType.SMS);
+    doTestResult("mms:+15551212;via=999333", "+15551212", ParsedResultType.SMS);
+    doTestResult("mms:+15551212?subject=foo&body=bar", "+15551212\nfoo\nbar", ParsedResultType.SMS);
+    doTestResult("mms:+15551212,+12124440101", "+15551212\n+12124440101", ParsedResultType.SMS);        
+  }
+
+  @Test
+  public void testMMSTO() {
     doTestResult("MMSTO:+15551212", "+15551212", ParsedResultType.SMS);
     doTestResult("mmsto:+15551212", "+15551212", ParsedResultType.SMS);
-    doTestResult("mms:+15551212;via=999333", "+15551212\n999333", ParsedResultType.SMS);
-    doTestResult("mms:+15551212?subject=foo&body=bar", "+15551212\nfoo\nbar", ParsedResultType.SMS);
-    doTestResult("mms:+15551212:subject", "+15551212\nsubject", ParsedResultType.SMS);
-    doTestResult("mms:+15551212:My message", "+15551212\nMy message", ParsedResultType.SMS);
-    doTestResult("mms:+15551212:What's up?", "+15551212\nWhat's up?", ParsedResultType.SMS);
-    doTestResult("mms:+15551212:Directions: Do this", "+15551212\nDirections: Do this",
+    doTestResult("mmsto:+15551212:subject", "+15551212\nsubject", ParsedResultType.SMS);
+    doTestResult("mmsto:+15551212:My message", "+15551212\nMy message", ParsedResultType.SMS);
+    doTestResult("mmsto:+15551212:What's up?", "+15551212\nWhat's up?", ParsedResultType.SMS);
+    doTestResult("mmsto:+15551212:Directions: Do this", "+15551212\nDirections: Do this",
         ParsedResultType.SMS);
-    doTestResult("mms:212-555-1212:Here's a longer message. Should be fine.",
+    doTestResult("mmsto:212-555-1212:Here's a longer message. Should be fine.",
         "212-555-1212\nHere's a longer message. Should be fine.", ParsedResultType.SMS);
   }
 
   /*
+  @Test
   public void testNDEFText() {
     doTestResult(new byte[] {(byte)0xD1,(byte)0x01,(byte)0x05,(byte)0x54,
                              (byte)0x02,(byte)0x65,(byte)0x6E,(byte)0x68,
@@ -262,6 +288,7 @@ public final class ParsedReaderResultTestCase extends TestCase {
                  ParsedResultType.TEXT);
   }
 
+  @Test
   public void testNDEFURI() {
     doTestResult(new byte[] {(byte)0xD1,(byte)0x01,(byte)0x08,(byte)0x55,
                              (byte)0x01,(byte)0x6E,(byte)0x66,(byte)0x63,
@@ -269,6 +296,7 @@ public final class ParsedReaderResultTestCase extends TestCase {
                  ParsedResultType.URI);
   }
 
+  @Test
   public void testNDEFSmartPoster() {
     doTestResult(new byte[] {(byte)0xD1,(byte)0x02,(byte)0x2F,(byte)0x53,
                              (byte)0x70,(byte)0x91,(byte)0x01,(byte)0x0E,
@@ -296,20 +324,10 @@ public final class ParsedReaderResultTestCase extends TestCase {
     Result fakeResult = new Result(contents, null, null, format);
     ParsedResult result = ResultParser.parseResult(fakeResult);
     assertNotNull(result);
-    assertEquals(type, result.getType());
+    assertSame(type, result.getType());
 
     String displayResult = result.getDisplayResult();
-    assertTrue("Expected:\n" + goldenResult + "\nbut got:\n" + displayResult,
-        goldenResult.equals(displayResult));
+    assertEquals(goldenResult, displayResult);
   }
 
-  /*
-  private static void doTestResult(byte[] rawBytes, ParsedResultType type) {
-    Result fakeResult = new Result(null, rawBytes, null, null);
-    ParsedResult result = ResultParser.parseResult(fakeResult);
-    assertNotNull(result);
-    assertEquals(type, result.getType());
-  }
-   */
-
 }
\ No newline at end of file