Advertisement
Guest User

Untitled

a guest
Sep 18th, 2019
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.17 KB | None | 0 0
  1. @RunWith(JUnit4.class)
  2. public class CollectionsTasksResolverTest {
  3.  
  4. private final CollectionSupplier collectionSupplier = Mockito.mock(CollectionSupplier.class);
  5. private final TasksSupplier tasksSupplier = Mockito.mock(TasksSupplier.class);
  6. private final Context context = Mockito.spy(new Context());
  7. private final CollectionsTasksResolver collectionsTasksResolver =
  8. new CollectionsTasksResolver(context, collectionSupplier, tasksSupplier);
  9.  
  10. private void verifyNoMore() {
  11. Mockito.verifyNoMoreInteractions(collectionSupplier, tasksSupplier);
  12. }
  13.  
  14. @Test
  15. public void getTreeMapAdding_formatTest() {
  16. // precondition
  17. final String tag = "TreeMap_adding";
  18. Mockito.when(collectionSupplier.getTreeMap(0)).thenReturn(new TreeMap<>());
  19. final ArgumentCaptor<Map<Integer, Integer>> captor = ArgumentCaptor.forClass(Map.class);
  20. Mockito.when(tasksSupplier.getTimeAdding(captor.capture())).thenReturn("0.0 ms");
  21.  
  22. // call tested method
  23. final CalculationResult result = collectionsTasksResolver.getTestTime(tag, 0);
  24.  
  25. // check results
  26. Mockito.verify(context, Mockito.times(1)).getString(R.string.TreeMap);
  27. Mockito.verify(context, Mockito.times(1)).getString(R.string.adding);
  28. Mockito.verify(collectionSupplier, Mockito.times(1)).getTreeMap(0);
  29. Mockito.verify(tasksSupplier, Mockito.times(1)).getTimeAdding(captor.capture());
  30. Assert.assertEquals(result.tag, "TreeMap_adding");
  31. verifyNoMore();
  32. }
  33. }
  34.  
  35.  
  36.  
  37. @RunWith(JUnit4.class)
  38. public class CollectionsGeneratorTest {
  39.  
  40. private final CollectionSupplier collectionsGenerator = new CollectionsGenerator();
  41.  
  42. @Test
  43. public void map_is_HashMap() {
  44. final Map<Integer, Integer> hashMap = collectionsGenerator.getHashMap(4);
  45.  
  46. assertTrue(hashMap instanceof HashMap);
  47. assertEquals(hashMap.size(), 4);
  48. }
  49. }
  50.  
  51.  
  52. @RunWith(JUnit4.class)
  53. public class CollectionsTaskSupplier {
  54. private final Pattern p = Pattern.compile("^\\d+\\.\\d+\\sms$");
  55. private final Context context = Mockito.spy(new Context());
  56. private final TasksSupplier collectionsTaskSupplier =
  57. new CollectionsTasksSupplier(context);
  58.  
  59. @Test
  60. public void getTimeAddingFormatTest() {
  61. // precondition
  62. final LinkedList<Integer> linkedList = new LinkedList<>(Collections.nCopies(100, new Integer(1)));
  63.  
  64. // call tested function
  65. final String result = collectionsTaskSupplier.getTimeAdding(linkedList, 0);
  66.  
  67. // check expected result
  68. Assert.assertTrue(p.matcher(result).matches());
  69.  
  70. }
  71. }
  72.  
  73.  
  74.  
  75.  
  76.  
  77. public class Context {
  78.  
  79. public String getString(int strResId) {
  80.  
  81. if (strResId == R.string.adding) {
  82. return "adding";
  83. }
  84. ......
  85. } else if (strResId == R.string.ms) {
  86. return "%1$s ms";
  87. }
  88.  
  89. return "";
  90. }
  91.  
  92. public String getString(int strResId, Object... time) {
  93. return String.format(getString(strResId), time);
  94. }
  95. }
  96.  
  97.  
  98.  
  99. @RunWith(JUnit4.class)
  100. public class FragmentPresenterTest {
  101.  
  102. private final TaskResolver calculator = Mockito.mock(TaskResolver.class);
  103. private final FragmentContract.View view = Mockito.mock(FragmentContract.View.class);
  104. private final FragmentPresenter presenter = new FragmentPresenter(calculator);
  105.  
  106. @BeforeClass
  107. public static void setupClass() {
  108. RxAndroidPlugins.setInitMainThreadSchedulerHandler(
  109. (Callable<Scheduler> schedulerCallable) -> Schedulers.trampoline());
  110. }
  111.  
  112. @Before
  113. public void setup() {
  114. presenter.subscribe(view);
  115. }
  116.  
  117. ......
  118.  
  119. @Test(expected = NumberFormatException.class)
  120. public void testInvalidSizesAmount_shouldShowError() {
  121. presenter.startCalculation(new ArrayList<>(), "abc", "10");
  122. }
  123.  
  124. @Test(expected = NumberFormatException.class)
  125. public void testInvalidThreadsAmount_shouldShowError() {
  126. presenter.startCalculation(new ArrayList<>(), "1", "abc");
  127. }
  128.  
  129. @Test
  130. public void testViewsWorking() throws InterruptedException {
  131. final String tag = "HashMap_adding";
  132. final List<String> tags = new ArrayList<>();
  133. tags.add(tag);
  134.  
  135. //ArgumentCaptor<Runnable> runnableArgumentCaptor = ArgumentCaptor.forClass(Runnable.class);
  136. //Mockito.verify(runnable, Mockito.times(1)).(runnableArgumentCaptor.capture());
  137. //runnableArgumentCaptor.getValue().run();
  138.  
  139. final ArgumentCaptor<String> tagCaptor = ArgumentCaptor.forClass(String.class);
  140. final ArgumentCaptor<Integer> sizeCaptor = ArgumentCaptor.forClass(Integer.class);
  141. Mockito.when(calculator.getTestTime(tagCaptor.capture(), sizeCaptor.capture()))
  142. .thenReturn(new CalculationResult(tag, "0.0 ms"));
  143.  
  144. presenter.startCalculation(tags, "30", "2");
  145. Thread.sleep(500L); // wait till multithreading operations are done
  146.  
  147. Mockito.verify(view, Mockito.times(1)).showProgress();
  148. Mockito.verify(view, Mockito.times(1)).calculationFinished();
  149. Mockito.verify(view, Mockito.times(1)).updateView(tag, "0.0 ms");
  150. Mockito.verify(calculator, Mockito.times(1)).getTestTime(tagCaptor.capture(), sizeCaptor.capture());
  151. verifyNoMore();
  152. }
  153. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement