plectrum

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit 865313718fcd7330e204531dd45969070e27d7e3
parent e2505432a916f597a952ed2e5e960e463e99d3b7
Author: gstraube <gstraube@mailbox.org>
Date:   Sat, 29 Jul 2017 21:46:24 +0200

Add first UI test

Diffstat:
Aapp/src/androidTest/java/com/github/cythara/TunerViewTest.java | 64++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aapp/src/main/res/drawable/exact.png | 0
2 files changed, 64 insertions(+), 0 deletions(-)

diff --git a/app/src/androidTest/java/com/github/cythara/TunerViewTest.java b/app/src/androidTest/java/com/github/cythara/TunerViewTest.java @@ -0,0 +1,63 @@ +package com.github.cythara; + +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.graphics.Canvas; +import android.os.Environment; +import android.support.test.rule.ActivityTestRule; +import android.support.test.runner.AndroidJUnit4; + +import org.junit.Assert; +import org.junit.Rule; +import org.junit.Test; +import org.junit.runner.RunWith; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; + +@RunWith(AndroidJUnit4.class) +public class TunerViewTest { + + @Rule + public ActivityTestRule<MainActivity> mActivityRule = new ActivityTestRule<>( + MainActivity.class); + + @Test + public void exactly_matching_pitch_is_displayed() throws IOException { + MainActivity mainActivity = mActivityRule.getActivity(); + + BitmapFactory.Options options = new BitmapFactory.Options(); + options.inScaled = false; + Bitmap reference = BitmapFactory.decodeResource(mainActivity.getResources(), + R.drawable.exact, options); + + Bitmap generated = Bitmap.createBitmap(2048, 1024, Bitmap.Config.ARGB_4444); + Canvas canvas = new Canvas(generated); + TunerView tunerView = (TunerView) mainActivity.findViewById(R.id.pitch); + tunerView.setPitchDifference(new PitchDifference(Note.E4, 0)); + + tunerView.draw(canvas); + + Assert.assertTrue(reference.sameAs(generated)); + + writeToFile(generated, "generated.png"); + writeToFile(reference, "reference.png"); + } + + private void writeToFile(Bitmap bitmap, String name) throws IOException { + File sdCard = Environment.getExternalStorageDirectory(); + FileOutputStream out = null; + try { + out = new FileOutputStream(sdCard.getAbsolutePath() + "/" + name); + bitmap.compress(Bitmap.CompressFormat.PNG, 100, out); + } catch (FileNotFoundException e) { + e.printStackTrace(); + } finally { + if (out != null) { + out.close(); + } + } + } +} +\ No newline at end of file diff --git a/app/src/main/res/drawable/exact.png b/app/src/main/res/drawable/exact.png Binary files differ.