/* * This software is released under the BSD license. For full license see License-library.txt file. * * Copyright (c) 2011, Peter Knego & Matjaz Tercelj * All rights reserved. */ package com.leanengine.android.example; import android.app.Activity; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.os.AsyncTask; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; import android.widget.Toast; import com.leanengine.android.example.tests.AccountTest; import com.leanengine.android.example.tests.LongTextTest; import com.leanengine.android.example.tests.QueryTest; import com.leanengine.android.example.tests.UnicodeTest; import junit.framework.TestResult; import junit.framework.TestSuite; public class TestsActivity extends Activity { private BroadcastReceiver receiver; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.tests_layout); Button loginButton = (Button) findViewById(R.id.startButton); final TextView text = (TextView) findViewById(R.id.testsView); loginButton.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { text.setText(""); allTests(); } }); } private void allTests() { AsyncTask<Void, Void, Void> testTask = new AsyncTask<Void, Void, Void>() { @Override protected Void doInBackground(Void... voids) { TestSuite suite = new TestSuite(); suite.addTest(new AccountTest("account present")); suite.addTest(new QueryTest("query test")); suite.addTest(new LongTextTest("long text properties")); suite.addTest(new UnicodeTest("unicode text properties")); TestResult results = new TestResult(); results.addListener(new BroadcastingTestListener(getApplication())); suite.run(results); return null; } @Override protected void onPostExecute(Void aVoid) { Toast.makeText(TestsActivity.this, "Tests finished.", Toast.LENGTH_SHORT).show(); } }; testTask.execute((Void)null); } @Override protected void onStart() { super.onStart(); IntentFilter filter = new IntentFilter(); filter.addAction(BroadcastingTestListener.action); receiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { String event = intent.getStringExtra("event"); String testname = intent.getStringExtra("test"); final TextView text = (TextView) TestsActivity.this.findViewById(R.id.testsView); if (event.equals("start")) { text.append(testname); } else { text.append(": " + event + "\n"); } } }; registerReceiver(receiver, filter); } @Override protected void onStop() { super.onStop(); unregisterReceiver(receiver); } }