package com.example.pocketknife;
import android.content.Intent;
import android.os.Bundle;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.Robolectric;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
import org.robolectric.util.ActivityController;
import java.util.Random;
import java.util.UUID;
import static org.junit.Assert.assertEquals;
@RunWith(RobolectricTestRunner.class)
@Config(manifest = "src/main/AndroidManifest.xml")
public class KeyGenTest extends BaseTest {
@Test
public void testExtraKeyGeneration() {
String s = UUID.randomUUID().toString();
int i = new Random(42).nextInt();
Intent intent = new Intent(RuntimeEnvironment.application, KeyGenActivity.class);
intent.putExtra("EXTRA_STRING", s);
intent.putExtra("EXTRA_BLAH", i);
KeyGenActivity keyGenActivity = Robolectric.buildActivity(KeyGenActivity.class).withIntent(intent).create().start().restart().visible().get();
assertEquals(s, keyGenActivity.string);
assertEquals(i, keyGenActivity.blah);
}
@Test
public void testArgKeyGeneration() {
String s = UUID.randomUUID().toString();
int i = new Random(42).nextInt();
Bundle bundle = new Bundle();
bundle.putString("ARG_A_STRING", s);
bundle.putInt("ARG_AN_INT", i);
ActivityController<SimpleFragmentActivity> initialController = Robolectric.buildActivity(SimpleFragmentActivity.class).create();
SimpleFragmentActivity simpleActivity = initialController.start().restart().visible().get();
KeyGenFragment fragment = KeyGenFragment.newInstance();
fragment.setArguments(bundle);
simpleActivity.replaceFragment(fragment);
assertEquals(s, fragment.aString);
assertEquals(i, fragment.anInt);
}
}