@Test public void testFlatMapMaxConcurrent() { final int m = 4; final AtomicInteger subscriptionCount = new AtomicInteger(); Observable<Integer> source = Observable.range(1, 10) .flatMap( new Func1<Integer, Observable<Integer>>() { @Override public Observable<Integer> call(Integer t1) { return compose(Observable.range(t1 * 10, 2), subscriptionCount, m) .subscribeOn(Schedulers.computation()); } }, m); TestSubscriber<Integer> ts = new TestSubscriber<Integer>(); source.subscribe(ts); ts.awaitTerminalEvent(); ts.assertNoErrors(); Set<Integer> expected = new HashSet<Integer>( Arrays.asList( 10, 11, 20, 21, 30, 31, 40, 41, 50, 51, 60, 61, 70, 71, 80, 81, 90, 91, 100, 101)); Assert.assertEquals(expected.size(), ts.getOnNextEvents().size()); Assert.assertTrue(expected.containsAll(ts.getOnNextEvents())); }
@Test public void studentInformationIsPrintedOutCorrectly() { GsonReader mockGson = mock(GsonReader.class); String studentNr = "13865669"; Palautukset palautukset = new Palautukset(); ArrayList<Palautus> palautusLista = new ArrayList<Palautus>(); Palautus p = new Palautus(); p.setEtunimi("Tony"); p.setSukunimi("Kovanen"); p.setGithubtunnus("rase-"); p.setOpiskelijanumero("13865669"); p.setTehtavat("1,2,3,4,5"); p.setTehtavia(5); p.setTunteja(2); p.setViikko(1); palautusLista.add(p); Palautus b = new Palautus(); b.setEtunimi("Bottleneck"); b.setSukunimi(""); b.setGithubtunnus(""); b.setOpiskelijanumero("13865669"); b.setTehtavat("Bottleneck"); b.setTehtavia(0); b.setTunteja(0); b.setViikko(0); palautusLista.add(b); palautukset.setPalautukset(palautusLista); when(mockGson.read(studentNr)).thenReturn(palautukset); StudentInformation info = new StudentInformation(studentNr, mockGson); System.out.println(info); Assert.assertEquals( "Tony Kovanen 13865669\n\nminiprojekti: Bottleneck\n\nviikko 1: 5 tehtävää 1,2,3,4,5 aikaa kului 2 tuntia.\n\nyhteensä: 5 tehtävää 2 tuntia", info.toString()); }
@Test public void returningNullvaluedStudentReturnsASpecialToString() { GsonReader mockGson = mock(GsonReader.class); String studentNr = "13865669"; when(mockGson.read(studentNr)).thenReturn(new Palautukset()); StudentInformation info = new StudentInformation(studentNr, mockGson); Assert.assertEquals("Käyttäjää ei löytynyt", info.toString()); }