Android Open Source - beers-todrink Beer Filter Test






From Project

Back to project page beers-todrink.

License

The source code is released under:

MIT License

If you think the Android project beers-todrink listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package br.com.androidzin.brunomateus.beerstodrink;
//from w  ww  . j ava 2s. c  o m
import android.os.Bundle;

import junit.framework.TestCase;

import java.util.ArrayList;

import br.com.androidzin.brunomateus.beerstodrink.provider.BeerContract;
import br.com.androidzin.brunomateus.beerstodrink.util.FilterBuilder;

/**
 * Created by bruno on 27/12/14.
 */
public class BeerFilterTest extends TestCase {

    public static class FilterBuilderToTest extends FilterBuilder {

        public static void clearQuery(){
            FilterBuilder.nameSelection = null;
            FilterBuilder.currentFilterCountry = null;
            FilterBuilder.showDrank = false;
        }

        public static String getQuery(Bundle args){
            String query = FilterBuilder.getQuery(args);
            clearQuery();
            return query;
        }
    }

    private Bundle getNameFilterBundle(String beerName) {
        Bundle queryBundle = new Bundle();
        queryBundle.putInt("criteria", BeerListActivity.BeerFilterCriteria.NAME.ordinal());
        if(!beerName.isEmpty()) {
            queryBundle.putString(BeerContract.BeerColumns.BEER_NAME, beerName);
        }
        return queryBundle;
    }

    private Bundle getCountryFilterBundle(ArrayList<String> countries) {
        Bundle queryBundle = new Bundle();
        queryBundle.putInt("criteria", BeerListActivity.BeerFilterCriteria.COUNTRY.ordinal());
        if(!countries.isEmpty()) {
            queryBundle.putStringArrayList(BeerContract.BeerColumns.BEER_COUNTRY, countries);
        }
        return queryBundle;
    }

    private Bundle getDrinkFilterBundle() {
        Bundle queryBundle = new Bundle();
        queryBundle.putInt("criteria", BeerListActivity.BeerFilterCriteria.DRINK.ordinal());
        return queryBundle;
    }

    public void testFilterByEmptyName(){
        String query = FilterBuilderToTest.getQuery(getNameFilterBundle(""));
        String expected = BeerContract.BeerColumns.BEER_DRANK + " = 0";
        assertEquals(expected, query);
    }

    public void testFilterByName(){
        String beerName = "teste";
        String expected = BeerContract.BeerColumns.BEER_DRANK + " = 0 AND " +
                BeerContract.BeerColumns.BEER_NAME + " LIKE '%" + beerName + "%'";
        String query = FilterBuilderToTest.getQuery(getNameFilterBundle(beerName));
        assertEquals(expected, query);
    }

    public void testFilterByOneCountry(){
        String[] arrayCountries = {"brazil"};
        String expected = BeerContract.BeerColumns.BEER_DRANK + " = 0 AND " +
                "( " + BeerContract.BeerColumns.BEER_COUNTRY + " = '" + arrayCountries[0] + "')";
        ArrayList<String> countries = new ArrayList<String>();
        countries.add(arrayCountries[0]);
        String query = FilterBuilderToTest.getQuery(getCountryFilterBundle(countries));
        assertEquals(expected, query.trim());
    }

    public void testFilterByCountry(){
        String[] arrayCountries = {"brazil", "usa"};
        String expected = BeerContract.BeerColumns.BEER_DRANK + " = 0 AND " +
                "( " + BeerContract.BeerColumns.BEER_COUNTRY + " = '" + arrayCountries[0] +
                "' OR " + BeerContract.BeerColumns.BEER_COUNTRY + " = '" + arrayCountries[1] + "')";
        ArrayList<String> countries = new ArrayList<String>();
        countries.add(arrayCountries[0]);
        countries.add(arrayCountries[1]);
        String query = FilterBuilderToTest.getQuery(getCountryFilterBundle(countries));
        assertEquals(expected, query.trim());
    }

    public void testFilterByNameAfterCountry(){
        String beerName = "teste";
        FilterBuilder.getQuery(getNameFilterBundle(beerName));
        String[] arrayCountries = {"brazil", "usa"};
        ArrayList<String> countries = new ArrayList<String>();
        countries.add(arrayCountries[0]);
        countries.add(arrayCountries[1]);

        String expected = BeerContract.BeerColumns.BEER_DRANK + " = 0 AND " +
                BeerContract.BeerColumns.BEER_NAME + " LIKE '%" + beerName + "%'" +
                " AND ( " + BeerContract.BeerColumns.BEER_COUNTRY + " = '" + arrayCountries[0] +
                "' OR " + BeerContract.BeerColumns.BEER_COUNTRY + " = '" + arrayCountries[1] + "')";

        String query = FilterBuilderToTest.getQuery(getCountryFilterBundle(countries));
        assertEquals(expected, query.trim());
    }

    public void testFilterByCountryAfterName(){
        String[] arrayCountries = {"brazil", "usa"};
        ArrayList<String> countries = new ArrayList<String>();
        countries.add(arrayCountries[0]);
        countries.add(arrayCountries[1]);
        FilterBuilder.getQuery(getCountryFilterBundle(countries));

        String beerName = "teste";
        String query = FilterBuilderToTest.getQuery(getNameFilterBundle(beerName));

        String expected = BeerContract.BeerColumns.BEER_DRANK + " = 0 AND " +
                BeerContract.BeerColumns.BEER_NAME + " LIKE '%" + beerName + "%'" +
                " AND ( " + BeerContract.BeerColumns.BEER_COUNTRY + " = '" + arrayCountries[0] +
                "' OR " + BeerContract.BeerColumns.BEER_COUNTRY + " = '" + arrayCountries[1] + "')";

        assertEquals(expected, query.trim());
    }

    public void testShowAll(){
        String query = FilterBuilderToTest.getQuery(getDrinkFilterBundle());
        assertNull(query);
    }

    public void testShowToDrink(){
        FilterBuilder.getQuery(getDrinkFilterBundle());
        String query = FilterBuilderToTest.getQuery(getDrinkFilterBundle());
        String expected = BeerContract.BeerColumns.BEER_DRANK + " = 0";
        assertEquals(expected, query);
    }
}




Java Source Code List

br.com.androidzin.brunomateus.beerstodrink.ApplicationTest.java
br.com.androidzin.brunomateus.beerstodrink.BeerDetailActivity.java
br.com.androidzin.brunomateus.beerstodrink.BeerDetailFragment.java
br.com.androidzin.brunomateus.beerstodrink.BeerDialogConfirmation.java
br.com.androidzin.brunomateus.beerstodrink.BeerDrinkingActivity.java
br.com.androidzin.brunomateus.beerstodrink.BeerFilterCountryDialog.java
br.com.androidzin.brunomateus.beerstodrink.BeerFilterTest.java
br.com.androidzin.brunomateus.beerstodrink.BeerListActivity.java
br.com.androidzin.brunomateus.beerstodrink.BeerListFragment.java
br.com.androidzin.brunomateus.beerstodrink.BeerProviderSimple.java
br.com.androidzin.brunomateus.beerstodrink.BeerProviderTest.java
br.com.androidzin.brunomateus.beerstodrink.adapter.BeerAdapter.java
br.com.androidzin.brunomateus.beerstodrink.adapter.BeerViewHolder.java
br.com.androidzin.brunomateus.beerstodrink.adapter.CursorRecyclerViewAdapter.java
br.com.androidzin.brunomateus.beerstodrink.model.Beer.java
br.com.androidzin.brunomateus.beerstodrink.provider.BeerContract.java
br.com.androidzin.brunomateus.beerstodrink.provider.BeerProvider.java
br.com.androidzin.brunomateus.beerstodrink.util.FilterBuilder.java