Parse extras

This commit is contained in:
Sylvia van Os
2019-12-14 21:00:35 +01:00
parent 09727038ce
commit 6cd7a3f5bf
20 changed files with 353 additions and 37 deletions

View File

@@ -8,6 +8,7 @@ import android.graphics.Color;
import com.google.zxing.BarcodeFormat;
import org.json.JSONObject;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -40,7 +41,7 @@ public class DatabaseTest
public void addRemoveOneGiftCard()
{
assertEquals(0, db.getLoyaltyCardCount());
long id = db.insertLoyaltyCard("store", "note", "cardId", BarcodeFormat.UPC_A.toString(), DEFAULT_HEADER_COLOR, DEFAULT_HEADER_TEXT_COLOR);
long id = db.insertLoyaltyCard("store", "note", "cardId", BarcodeFormat.UPC_A.toString(), DEFAULT_HEADER_COLOR, DEFAULT_HEADER_TEXT_COLOR, new JSONObject());
boolean result = (id != -1);
assertTrue(result);
assertEquals(1, db.getLoyaltyCardCount());
@@ -61,12 +62,12 @@ public class DatabaseTest
@Test
public void updateGiftCard()
{
long id = db.insertLoyaltyCard("store", "note", "cardId", BarcodeFormat.UPC_A.toString(), DEFAULT_HEADER_COLOR, DEFAULT_HEADER_TEXT_COLOR);
long id = db.insertLoyaltyCard("store", "note", "cardId", BarcodeFormat.UPC_A.toString(), DEFAULT_HEADER_COLOR, DEFAULT_HEADER_TEXT_COLOR, new JSONObject());
boolean result = (id != -1);
assertTrue(result);
assertEquals(1, db.getLoyaltyCardCount());
result = db.updateLoyaltyCard(1, "store1", "note1", "cardId1", BarcodeFormat.AZTEC.toString(), DEFAULT_HEADER_COLOR, DEFAULT_HEADER_TEXT_COLOR);
result = db.updateLoyaltyCard(1, "store1", "note1", "cardId1", BarcodeFormat.AZTEC.toString(), DEFAULT_HEADER_COLOR, DEFAULT_HEADER_TEXT_COLOR, new JSONObject());
assertTrue(result);
assertEquals(1, db.getLoyaltyCardCount());
@@ -84,7 +85,7 @@ public class DatabaseTest
assertEquals(0, db.getLoyaltyCardCount());
boolean result = db.updateLoyaltyCard(1, "store1", "note1", "cardId1",
BarcodeFormat.UPC_A.toString(), DEFAULT_HEADER_COLOR, DEFAULT_HEADER_TEXT_COLOR);
BarcodeFormat.UPC_A.toString(), DEFAULT_HEADER_COLOR, DEFAULT_HEADER_TEXT_COLOR, new JSONObject());
assertEquals(false, result);
assertEquals(0, db.getLoyaltyCardCount());
}
@@ -92,7 +93,7 @@ public class DatabaseTest
@Test
public void emptyGiftCardValues()
{
long id = db.insertLoyaltyCard("", "", "", "", null, null);
long id = db.insertLoyaltyCard("", "", "", "", null, null, new JSONObject());
boolean result = (id != -1);
assertTrue(result);
assertEquals(1, db.getLoyaltyCardCount());
@@ -115,7 +116,7 @@ public class DatabaseTest
for(int index = CARDS_TO_ADD-1; index >= 0; index--)
{
long id = db.insertLoyaltyCard("store" + index, "note" + index, "cardId" + index,
BarcodeFormat.UPC_A.toString(), index, index*2);
BarcodeFormat.UPC_A.toString(), index, index*2, new JSONObject());
boolean result = (id != -1);
assertTrue(result);
}

View File

@@ -8,6 +8,7 @@ import android.os.Environment;
import com.google.zxing.BarcodeFormat;
import org.apache.tools.ant.filters.StringInputStream;
import org.json.JSONObject;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -68,7 +69,7 @@ public class ImportExportTest
{
String storeName = String.format("store, \"%4d", index);
String note = String.format("note, \"%4d", index);
long id = db.insertLoyaltyCard(storeName, note, BARCODE_DATA, BARCODE_TYPE, index, index*2);
long id = db.insertLoyaltyCard(storeName, note, BARCODE_DATA, BARCODE_TYPE, index, index*2, new JSONObject());
boolean result = (id != -1);
assertTrue(result);
}

View File

@@ -4,6 +4,8 @@ import android.app.Activity;
import android.graphics.Color;
import android.net.Uri;
import com.google.zxing.BarcodeFormat;
import org.json.JSONObject;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -33,7 +35,7 @@ public class ImportURITest {
public void ensureNoDataLoss() throws InvalidObjectException
{
// Generate card
db.insertLoyaltyCard("store", "note", BarcodeFormat.UPC_A.toString(), LoyaltyCardDbIds.BARCODE_TYPE, Color.BLACK, Color.WHITE);
db.insertLoyaltyCard("store", "note", BarcodeFormat.UPC_A.toString(), LoyaltyCardDbIds.BARCODE_TYPE, Color.BLACK, Color.WHITE, new JSONObject());
// Get card
LoyaltyCard card = db.getLoyaltyCard(1);

View File

@@ -10,6 +10,7 @@ import android.widget.TextView;
import com.google.zxing.BarcodeFormat;
import org.json.JSONObject;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -83,7 +84,7 @@ public class LoyaltyCardCursorAdapterTest
@Test
public void TestCursorAdapterEmptyNote()
{
db.insertLoyaltyCard("store", "", "cardId", BarcodeFormat.UPC_A.toString(), Color.BLACK, Color.WHITE);
db.insertLoyaltyCard("store", "", "cardId", BarcodeFormat.UPC_A.toString(), Color.BLACK, Color.WHITE, new JSONObject());
LoyaltyCard card = db.getLoyaltyCard(1);
Cursor cursor = db.getLoyaltyCardCursor();
@@ -97,7 +98,7 @@ public class LoyaltyCardCursorAdapterTest
@Test
public void TestCursorAdapterWithNote()
{
db.insertLoyaltyCard("store", "note", "cardId", BarcodeFormat.UPC_A.toString(), Color.BLACK, Color.WHITE);
db.insertLoyaltyCard("store", "note", "cardId", BarcodeFormat.UPC_A.toString(), Color.BLACK, Color.WHITE, new JSONObject());
LoyaltyCard card = db.getLoyaltyCard(1);
Cursor cursor = db.getLoyaltyCardCursor();
@@ -111,7 +112,7 @@ public class LoyaltyCardCursorAdapterTest
@Test
public void TestCursorAdapterFontSizes()
{
db.insertLoyaltyCard("store", "note", "cardId", BarcodeFormat.UPC_A.toString(), Color.BLACK, Color.WHITE);
db.insertLoyaltyCard("store", "note", "cardId", BarcodeFormat.UPC_A.toString(), Color.BLACK, Color.WHITE, new JSONObject());
LoyaltyCard card = db.getLoyaltyCard(1);
Cursor cursor = db.getLoyaltyCardCursor();

View File

@@ -22,6 +22,7 @@ import android.widget.TextView;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.client.android.Intents;
import org.json.JSONObject;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -362,7 +363,7 @@ public class LoyaltyCardViewActivityTest
Activity activity = (Activity)activityController.get();
DBHelper db = new DBHelper(activity);
db.insertLoyaltyCard("store", "note", BARCODE_DATA, BARCODE_TYPE, Color.BLACK, Color.WHITE);
db.insertLoyaltyCard("store", "note", BARCODE_DATA, BARCODE_TYPE, Color.BLACK, Color.WHITE, new JSONObject());
activityController.start();
activityController.visible();
@@ -378,7 +379,7 @@ public class LoyaltyCardViewActivityTest
Activity activity = (Activity)activityController.get();
DBHelper db = new DBHelper(activity);
db.insertLoyaltyCard("store", "note", BARCODE_DATA, BARCODE_TYPE, Color.BLACK, Color.WHITE);
db.insertLoyaltyCard("store", "note", BARCODE_DATA, BARCODE_TYPE, Color.BLACK, Color.WHITE, new JSONObject());
activityController.start();
activityController.visible();
@@ -394,7 +395,7 @@ public class LoyaltyCardViewActivityTest
Activity activity = (Activity)activityController.get();
DBHelper db = new DBHelper(activity);
db.insertLoyaltyCard("store", "note", EAN_BARCODE_DATA, EAN_BARCODE_TYPE, Color.BLACK, Color.WHITE);
db.insertLoyaltyCard("store", "note", EAN_BARCODE_DATA, EAN_BARCODE_TYPE, Color.BLACK, Color.WHITE, new JSONObject());
activityController.start();
activityController.visible();
@@ -415,7 +416,7 @@ public class LoyaltyCardViewActivityTest
Activity activity = (Activity)activityController.get();
DBHelper db = new DBHelper(activity);
db.insertLoyaltyCard("store", "note", EAN_BARCODE_DATA, EAN_BARCODE_TYPE, Color.BLACK, Color.WHITE);
db.insertLoyaltyCard("store", "note", EAN_BARCODE_DATA, EAN_BARCODE_TYPE, Color.BLACK, Color.WHITE, new JSONObject());
activityController.start();
activityController.visible();
@@ -441,7 +442,7 @@ public class LoyaltyCardViewActivityTest
Activity activity = (Activity)activityController.get();
DBHelper db = new DBHelper(activity);
db.insertLoyaltyCard("store", "note", BARCODE_DATA, BARCODE_TYPE, Color.BLACK, Color.WHITE);
db.insertLoyaltyCard("store", "note", BARCODE_DATA, BARCODE_TYPE, Color.BLACK, Color.WHITE, new JSONObject());
activityController.start();
activityController.visible();
@@ -485,7 +486,7 @@ public class LoyaltyCardViewActivityTest
Activity activity = (Activity)activityController.get();
DBHelper db = new DBHelper(activity);
db.insertLoyaltyCard("store", "note", BARCODE_DATA, BARCODE_TYPE, Color.BLACK, Color.WHITE);
db.insertLoyaltyCard("store", "note", BARCODE_DATA, BARCODE_TYPE, Color.BLACK, Color.WHITE, new JSONObject());
activityController.start();
activityController.visible();
@@ -503,7 +504,7 @@ public class LoyaltyCardViewActivityTest
Activity activity = (Activity)activityController.get();
DBHelper db = new DBHelper(activity);
db.insertLoyaltyCard("store", "note", BARCODE_DATA, BARCODE_TYPE, null, null);
db.insertLoyaltyCard("store", "note", BARCODE_DATA, BARCODE_TYPE, null, null, new JSONObject());
activityController.start();
activityController.visible();
@@ -521,7 +522,7 @@ public class LoyaltyCardViewActivityTest
Activity activity = (Activity)activityController.get();
DBHelper db = new DBHelper(activity);
db.insertLoyaltyCard("store", "note", BARCODE_DATA, BARCODE_TYPE, null, null);
db.insertLoyaltyCard("store", "note", BARCODE_DATA, BARCODE_TYPE, null, null, new JSONObject());
activityController.start();
activityController.visible();
@@ -538,7 +539,7 @@ public class LoyaltyCardViewActivityTest
Activity activity = (Activity)activityController.get();
DBHelper db = new DBHelper(activity);
db.insertLoyaltyCard("store", "note", BARCODE_DATA, BARCODE_TYPE, Color.BLACK, Color.WHITE);
db.insertLoyaltyCard("store", "note", BARCODE_DATA, BARCODE_TYPE, Color.BLACK, Color.WHITE, new JSONObject());
final int STORE_FONT_SIZE = 50;
final int CARD_FONT_SIZE = 40;
@@ -580,7 +581,7 @@ public class LoyaltyCardViewActivityTest
Activity activity = (Activity)activityController.get();
DBHelper db = new DBHelper(activity);
db.insertLoyaltyCard("store", "note", BARCODE_DATA, BARCODE_TYPE, Color.BLACK, Color.WHITE);
db.insertLoyaltyCard("store", "note", BARCODE_DATA, BARCODE_TYPE, Color.BLACK, Color.WHITE, new JSONObject());
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(activity);
settings.edit()

View File

@@ -16,6 +16,7 @@ import android.widget.TextView;
import com.google.zxing.BarcodeFormat;
import org.json.JSONObject;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -109,7 +110,7 @@ public class MainActivityTest
assertEquals(0, list.getCount());
DBHelper db = new DBHelper(mainActivity);
db.insertLoyaltyCard("store", "note", "cardId", BarcodeFormat.UPC_A.toString(), Color.BLACK, Color.WHITE);
db.insertLoyaltyCard("store", "note", "cardId", BarcodeFormat.UPC_A.toString(), Color.BLACK, Color.WHITE, new JSONObject());
assertEquals(View.VISIBLE, helpText.getVisibility());
assertEquals(View.GONE, noMatchingCardsText.getVisibility());
@@ -141,8 +142,8 @@ public class MainActivityTest
ListView list = mainActivity.findViewById(R.id.list);
DBHelper db = new DBHelper(mainActivity);
db.insertLoyaltyCard("The First Store", "Initial note", "cardId", BarcodeFormat.UPC_A.toString(), Color.BLACK, Color.WHITE);
db.insertLoyaltyCard("The Second Store", "Secondary note", "cardId", BarcodeFormat.UPC_A.toString(), Color.BLACK, Color.WHITE);
db.insertLoyaltyCard("The First Store", "Initial note", "cardId", BarcodeFormat.UPC_A.toString(), Color.BLACK, Color.WHITE, new JSONObject());
db.insertLoyaltyCard("The Second Store", "Secondary note", "cardId", BarcodeFormat.UPC_A.toString(), Color.BLACK, Color.WHITE, new JSONObject());
activityController.pause();
activityController.resume();

View File

@@ -20,6 +20,7 @@ import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.util.Iterator;
import static org.junit.Assert.assertEquals;
@@ -50,6 +51,41 @@ public class PkpassTest {
assertEquals("Passbook Example Company", card.store);
assertEquals(String.valueOf(Color.rgb(90, 90, 90)), card.headerColor.toString());
assertEquals(String.valueOf(Color.rgb(255, 255, 255)), card.headerTextColor.toString());
// Check if all the extras got parsed correctly
JSONObject extras = card.extras;
assertEquals(7, extras.length());
// Check all 7 values
Iterator<String> extrasKeys = extras.keys();
// 1
assertEquals("staffNumber", extrasKeys.next());
assertEquals("001", extras.get("staffNumber"));
// 2
assertEquals("staffName", extrasKeys.next());
assertEquals("Peter Brooke", extras.get("staffName"));
// 3
assertEquals("telephoneExt", extrasKeys.next());
assertEquals("9779", extras.get("telephoneExt"));
// 4
assertEquals("jobTitle", extrasKeys.next());
assertEquals("Chief Pass Creator", extras.get("jobTitle"));
// 5
assertEquals("expiryDate", extrasKeys.next());
assertEquals("2013-12-31T00:00-23:59", extras.get("expiryDate"));
// 6
assertEquals("managersName", extrasKeys.next());
assertEquals("Paul Bailey", extras.get("managersName"));
// 7
assertEquals("managersExt", extrasKeys.next());
assertEquals("9673", extras.get("managersExt"));
}
@Test
@@ -69,5 +105,84 @@ public class PkpassTest {
// Violates the spec, but we want to support it anyway...
assertEquals(String.valueOf(Color.parseColor("#FFFFFF")), card.headerColor.toString());
assertEquals(String.valueOf(Color.parseColor("#AA0061")), card.headerTextColor.toString());
// Check if all the extras got parsed correctly
JSONObject extras = card.extras;
assertEquals(18, extras.length());
// Check all 18 values
Iterator<String> extrasKeys = extras.keys();
// 1
assertEquals("gate", extrasKeys.next());
assertEquals("B61", extras.get("gate"));
// 2
assertEquals("seat", extrasKeys.next());
assertEquals("16E", extras.get("seat"));
// 3
assertEquals("origin", extrasKeys.next());
assertEquals("CGN", extras.get("origin"));
// 4
assertEquals("destination", extrasKeys.next());
assertEquals("DBV", extras.get("destination"));
// 5
assertEquals("name", extrasKeys.next());
assertEquals("John Doe", extras.get("name"));
// 6
assertEquals("status", extrasKeys.next());
assertEquals("-", extras.get("status"));
// 7
assertEquals("boardinggroup", extrasKeys.next());
assertEquals("GROUP 1", extras.get("boardinggroup"));
// 8
assertEquals("tarif", extrasKeys.next());
assertEquals("SMART", extras.get("tarif"));
// 9
assertEquals("flightNumber", extrasKeys.next());
assertEquals("EW 954", extras.get("flightNumber"));
// 10
assertEquals("departureDate", extrasKeys.next());
assertEquals("08/09/2019", extras.get("departureDate"));
// 11
assertEquals("boarding", extrasKeys.next());
assertEquals("05:00", extras.get("boarding"));
// 12
assertEquals("closure", extrasKeys.next());
assertEquals("05:15", extras.get("closure"));
// 13
assertEquals("info", extrasKeys.next());
assertEquals("info_content_str", extras.get("info"));
// 14
assertEquals("recordlocator", extrasKeys.next());
assertEquals("JBZPPP", extras.get("recordlocator"));
// 15
assertEquals("sequence", extrasKeys.next());
assertEquals("73", extras.get("sequence"));
// 16
assertEquals("notice", extrasKeys.next());
assertEquals("notice_content_str", extras.get("notice"));
// 17
assertEquals("baggage", extrasKeys.next());
assertEquals("baggage_content_str", extras.get("baggage"));
// 18
assertEquals("contact", extrasKeys.next());
assertEquals("contact_content_str", extras.get("contact"));
}
}