/*
* Copyright (C) 2016 University of South Florida (sjbarbeau@gmail.com)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.onebusaway.android.util.test;
import org.onebusaway.android.report.ui.util.ServiceUtils;
import android.test.AndroidTestCase;
/**
* Tests to evaluate issue reporting utilities
*/
public class ReportUtilTest extends AndroidTestCase {
/**
* Test our heuristic text matching that's used to identify pure transit Open311 deployments
* that do not support the Open311 group or keyword elements for explicit matching.
*/
public void testServiceKeywordMatching() {
String[] stopServiceNamesMatch = {
"Incorrect/Missing Stop ID",
"Trash at Bus Stop",
"WiFi on bus isn't working",
"Positive comments (complement bus driver, etc.)",
"Route/trip is missing"};
String[] tripServiceNamesMatch = {"Arrival times/schedules",
"PSTA - Arrival times/schedules"};
// Match sure all stop-related service names match
for (String serviceName : stopServiceNamesMatch) {
assertTrue(ServiceUtils.isTransitStopServiceByText(serviceName));
}
// Match sure all trip/arrival time-related service names match
for (String serviceName : tripServiceNamesMatch) {
assertTrue(ServiceUtils.isTransitTripServiceByText(serviceName));
}
String[] serviceNamesNoMatch = {
"Business",
"Monkey Business",
"Somethingbus With More Words After It"};
// Match sure we don't get false positives for stop matching
for (String serviceName : serviceNamesNoMatch) {
assertFalse(ServiceUtils.isTransitStopServiceByText(serviceName));
}
// Match sure we don't get false positives for trip matching
for (String serviceName : serviceNamesNoMatch) {
assertFalse(ServiceUtils.isTransitStopServiceByText(serviceName));
}
}
}