From da45a0a40eb8c03c699c1e0bf7df2b5cdd0bf768 Mon Sep 17 00:00:00 2001 From: Robin Koedood Date: Mon, 4 Jan 2021 15:27:52 +0100 Subject: [PATCH] [TRIED] Test FileIO class No luck so far --- app/build.gradle | 1 + app/src/main/AndroidManifest.xml | 2 + .../com/a1/nextlocation/MainActivity.java | 15 +++++ .../java/com/a1/nextlocation/data/FileIO.java | 53 ++++++++++++++++- .../java/com/a1/nextlocation/FileIOTest.java | 57 +++++++++++++++++++ 5 files changed, 125 insertions(+), 3 deletions(-) create mode 100644 app/src/test/java/com/a1/nextlocation/FileIOTest.java diff --git a/app/build.gradle b/app/build.gradle index 9d6f2cc..19d1ad6 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -49,4 +49,5 @@ dependencies { androidTestImplementation 'androidx.test.ext:junit:1.1.2' androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0' + testImplementation 'org.mockito:mockito-core:2.7.22' } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index f5def4b..d82a8f3 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -6,6 +6,8 @@ + + fileIO = new FileIO<>(); + fileIO.writeFileData(new Route("TERSTSET"), getApplicationContext()); + Log.d(TAG, "onCreate: " + "FILE GESCHREVENN!!!!!");*/ + LocationListManager.INSTANCE.setContext(this); LocationListManager.INSTANCE.load(); CouponListManager.INSTANCE.setContext(this); diff --git a/app/src/main/java/com/a1/nextlocation/data/FileIO.java b/app/src/main/java/com/a1/nextlocation/data/FileIO.java index a47f76e..33fd03e 100644 --- a/app/src/main/java/com/a1/nextlocation/data/FileIO.java +++ b/app/src/main/java/com/a1/nextlocation/data/FileIO.java @@ -2,17 +2,26 @@ package com.a1.nextlocation.data; import android.content.Context; import android.content.res.AssetManager; +import android.os.Environment; import android.util.Log; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; +import org.json.JSONArray; + 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.InputStream; import java.io.InputStreamReader; import java.io.Reader; import java.lang.reflect.Type; +import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Paths; @@ -50,7 +59,45 @@ public class FileIO { return res; } - public void writeFileData(T objectToWrite) { - //TODO make - } +// public void writeFileData(T objectToWrite, Context context) { +// //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(); +// }*/ +// } } diff --git a/app/src/test/java/com/a1/nextlocation/FileIOTest.java b/app/src/test/java/com/a1/nextlocation/FileIOTest.java new file mode 100644 index 0000000..1f2894f --- /dev/null +++ b/app/src/test/java/com/a1/nextlocation/FileIOTest.java @@ -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 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> fileIO = new FileIO<>(); +// ArrayList res = fileIO.readFileData(context, "routes.json",new TypeToken>(){}.getType()); +// */ +// +// if (mMockContext.getAssets() == null) +// System.out.println("daar ga je"); +// +// FileIO> fileIO = new FileIO<>(); +// ArrayList res = fileIO.readFileData(mMockContext, "routes.json", new TypeToken>(){}.getType()); +// +// assertEquals(expected, res); +// +// } + +}