Commit 02d11988 authored by Julien SADAOUI's avatar Julien SADAOUI
Browse files

feat: upgrade spring-boot version at 2.1.4

parent d7fcc0cf
plugins {
id("java")
id("org.springframework.boot") version "2.1.3.RELEASE"
id("org.springframework.boot") version "2.1.4.RELEASE"
id("idea")
}
......
......@@ -15,6 +15,7 @@ public class Level7 {
exercise1();
exercise2();
exercise3();
exercise4();
}
......@@ -74,11 +75,23 @@ public class Level7 {
}
/**
* Effectue des tests de vérification après 600 millisecondes en utilisant la classe {@link TestScheduler}.
* Effectue les vérifications suivantes en utilisant la classe {@link TestScheduler}.
* <p><p>
* Première vérification immédiatement
* <ul>
* <li>Que le flux n'est pas terminé</li>
* <li>Que le flux n'a pas émis d'éléments</li>
* </ul>
* Deuxième vérification après 600 millisecondes
* <ul>
* <li>Que le flux est terminé</li>
* <li>Que le flux a retourné les éléments "1 -> A", "2 -> B" et "3 -> C"</li>
* </ul>
*/
private static void exercise3() {
log.info("Start Level7/Exercise3");
TestScheduler scheduler = new TestScheduler();
Flowable<Long> f1 = Flowable.intervalRange(1, 3, 0, 200, TimeUnit.MILLISECONDS, scheduler);
......@@ -97,4 +110,38 @@ public class Level7 {
.assertComplete();
}
/**
* Effectue les vérifications suivantes en utilisant la classe {@link TestScheduler} et la notion de back-pressure
* <p><p>
* Première vérification sur 3 éléments après 600 millisecondes
* <ul>
* <li>Que le flux n'est pas terminé</li>
* <li>Que le flux a retourné les éléments "1", "2" et "3"</li>
* </ul>
* Deuxième vérification sur 4 éléments après 600 millisecondes
* <ul>
* <li>Que le flux n'est pas terminé</li>
* <li>Que le flux a retourné les éléments "1", "2", "3", "7", "8", "9" et "10"</li>
* </ul>
* <p></p>
* Nous allons maintenant modifier la stratégie de la back-pressure. Utilisez les opérations onBackpressureDrop() et
* onBackpressureBuffer() à la place onBackpressureLatest() et modifiez le test en conséquence.
*/
public static void exercise4() {
log.info("Start Level7/Exercise4");
TestScheduler scheduler = new TestScheduler();
TestSubscriber<Long> testSubscriber = Flowable.intervalRange(1, 100, 0, 100, TimeUnit.MILLISECONDS, scheduler)
.onBackpressureLatest()
.test(0);
testSubscriber.requestMore(3);
scheduler.advanceTimeBy(600, TimeUnit.MILLISECONDS);
testSubscriber.assertValues(1L, 2L, 3L);
testSubscriber.requestMore(4);
scheduler.advanceTimeBy(700, TimeUnit.MILLISECONDS);
testSubscriber.assertValues(1L, 2L, 3L, 7L, 8L, 9L, 10L);
}
}
plugins {
id("java")
id("org.springframework.boot") version "2.1.3.RELEASE"
id("org.springframework.boot") version "2.1.4.RELEASE"
id("idea")
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment