[TRIED] Test FileIO class

No luck so far
This commit is contained in:
Robin Koedood
2021-01-04 15:27:52 +01:00
parent 36eb28ce07
commit da45a0a40e
5 changed files with 125 additions and 3 deletions

View File

@@ -49,4 +49,5 @@ dependencies {
androidTestImplementation 'androidx.test.ext:junit:1.1.2' androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0' androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
testImplementation 'org.mockito:mockito-core:2.7.22'
} }

View File

@@ -6,6 +6,8 @@
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<application <application
android:allowBackup="true" android:allowBackup="true"

View File

@@ -6,9 +6,13 @@ import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentTransaction; import androidx.fragment.app.FragmentTransaction;
import android.os.Bundle; import android.os.Bundle;
import android.util.Log;
import android.view.MenuItem; import android.view.MenuItem;
import com.a1.nextlocation.R; import com.a1.nextlocation.R;
import com.a1.nextlocation.data.Coupon;
import com.a1.nextlocation.data.FileIO;
import com.a1.nextlocation.data.Route;
import com.a1.nextlocation.fragments.HomeFragment; import com.a1.nextlocation.fragments.HomeFragment;
import com.a1.nextlocation.fragments.RouteFragment; import com.a1.nextlocation.fragments.RouteFragment;
import com.a1.nextlocation.fragments.SettingsFragment; import com.a1.nextlocation.fragments.SettingsFragment;
@@ -18,7 +22,12 @@ import com.a1.nextlocation.recyclerview.LocationListManager;
import com.a1.nextlocation.recyclerview.RouteListManager; import com.a1.nextlocation.recyclerview.RouteListManager;
import com.google.android.material.bottomnavigation.BottomNavigationView; import com.google.android.material.bottomnavigation.BottomNavigationView;
import java.io.File;
import java.util.Arrays;
public class MainActivity extends AppCompatActivity { public class MainActivity extends AppCompatActivity {
private static final String TAG = MainActivity.class.getName();
/** /**
* onCreate method that creates the main activity * onCreate method that creates the main activity
* @param savedInstanceState the saved instance state of the app * @param savedInstanceState the saved instance state of the app
@@ -31,6 +40,12 @@ public class MainActivity extends AppCompatActivity {
BottomNavigationView bottomNav = findViewById(R.id.navbar); BottomNavigationView bottomNav = findViewById(R.id.navbar);
bottomNav.setOnNavigationItemSelectedListener(navListener); bottomNav.setOnNavigationItemSelectedListener(navListener);
/*System.out.println(Arrays.toString(getFilesDir().listFiles()));
FileIO<Route> fileIO = new FileIO<>();
fileIO.writeFileData(new Route("TERSTSET"), getApplicationContext());
Log.d(TAG, "onCreate: " + "FILE GESCHREVENN!!!!!");*/
LocationListManager.INSTANCE.setContext(this); LocationListManager.INSTANCE.setContext(this);
LocationListManager.INSTANCE.load(); LocationListManager.INSTANCE.load();
CouponListManager.INSTANCE.setContext(this); CouponListManager.INSTANCE.setContext(this);

View File

@@ -2,17 +2,26 @@ package com.a1.nextlocation.data;
import android.content.Context; import android.content.Context;
import android.content.res.AssetManager; import android.content.res.AssetManager;
import android.os.Environment;
import android.util.Log; import android.util.Log;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken; import com.google.gson.reflect.TypeToken;
import org.json.JSONArray;
import java.io.BufferedReader; import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.io.InputStreamReader; import java.io.InputStreamReader;
import java.io.Reader; import java.io.Reader;
import java.lang.reflect.Type; import java.lang.reflect.Type;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files; import java.nio.file.Files;
import java.nio.file.Paths; import java.nio.file.Paths;
@@ -50,7 +59,45 @@ public class FileIO<T> {
return res; return res;
} }
public void writeFileData(T objectToWrite) { // public void writeFileData(T objectToWrite, Context context) {
//TODO make // //TODO make
} // //object naar jsonobject
// //jsonarray toevoegen/maken
// //filewriter naar file
//
// String filename = "";
// if (objectToWrite instanceof Coupon){
// filename = "coupons.json";
// }
//
// if (objectToWrite instanceof Route){
// filename = "routes.json";
// }
//
// if (objectToWrite instanceof Location){
// filename = "locations.json";
// }
//
// try (FileOutputStream fileOutputStream = context.openFileOutput(filename, Context.MODE_PRIVATE)){
// String json = new Gson().toJson(objectToWrite);
//
// fileOutputStream.write(json.getBytes(StandardCharsets.UTF_8));
//
// } catch (FileNotFoundException e) {
// e.printStackTrace();
// } catch (IOException e) {
// e.printStackTrace();
// }
//
// /*try (FileWriter fileWriter = new FileWriter(filename)){
//
// String json = new Gson().toJson(objectToWrite);
//
// fileWriter.append(json);
// fileWriter.flush();
//
// } catch (IOException e) {
// e.printStackTrace();
// }*/
// }
} }

View File

@@ -0,0 +1,57 @@
package com.a1.nextlocation;
import android.app.Instrumentation;
import android.content.Context;
import android.content.pm.InstrumentationInfo;
import android.widget.ArrayAdapter;
import com.a1.nextlocation.data.FileIO;
import com.a1.nextlocation.data.Location;
import com.a1.nextlocation.data.Route;
import com.google.gson.reflect.TypeToken;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
import org.mockito.Mock;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import static org.mockito.MockitoAnnotations.initMocks;
public class FileIOTest {
// @Test
// public void testReadFileIO() {
// //System.out.println(Arrays.toString(mMockContext.fileList()));
// Context mMockContext = mock(MainActivity.class);
// List<Route> expected = new ArrayList<>();
// Route testRoute = new Route("rondje stad");
// testRoute.addLocation(new Location("kees kroket", "2.4654645,6.2342323", "lekkere patatjes", null));
// testRoute.setTotalDistance(2.3434f);
// testRoute.setTotalTime(342342);
// expected.add(testRoute);
//
// /*
// FileIO<ArrayList<Route>> fileIO = new FileIO<>();
// ArrayList<Route> res = fileIO.readFileData(context, "routes.json",new TypeToken<ArrayList<Route>>(){}.getType());
// */
//
// if (mMockContext.getAssets() == null)
// System.out.println("daar ga je");
//
// FileIO<ArrayList<Route>> fileIO = new FileIO<>();
// ArrayList<Route> res = fileIO.readFileData(mMockContext, "routes.json", new TypeToken<ArrayList<Route>>(){}.getType());
//
// assertEquals(expected, res);
//
// }
}