Skip to content

Commit

Permalink
Merge 3b8e01c into 29dd90c
Browse files Browse the repository at this point in the history
  • Loading branch information
shubhamugare committed Apr 24, 2019
2 parents 29dd90c + 3b8e01c commit 3320227
Showing 1 changed file with 56 additions and 0 deletions.
56 changes: 56 additions & 0 deletions nullaway/src/test/java/com/uber/nullaway/NullAwayTest.java
Expand Up @@ -1551,6 +1551,62 @@ public void OptionalEmptinessUncheckedTest() {
.doTest();
}

@Test
public void OptionalEmptinessRxPositiveTest() {
compilationHelper
.setArgs(
Arrays.asList(
"-d",
temporaryFolder.getRoot().getAbsolutePath(),
"-XepOpt:NullAway:AnnotatedPackages=com.uber,io.reactivex",
"-XepOpt:NullAway:UnannotatedSubPackages=com.uber.lib.unannotated",
"-XepOpt:NullAway:CheckOptionalEmptiness=true"))
.addSourceLines(
"TestPositive.java",
"package com.uber;",
"import java.util.Optional;",
"import io.reactivex.Observable;",
"public class TestPositive {",
" private static boolean perhaps() { return Math.random() > 0.5; }",
" void foo(Observable<Optional<String>> observable) {",
" observable",
" .filter(optional -> optional.isPresent() || perhaps())",
" // BUG: Diagnostic contains: Optional optional can be empty",
" .map(optional -> optional.get().toString());",
" }",
"}")
.doTest();
}

@Test
public void OptionalEmptinessRxNegativeTest() {
compilationHelper
.setArgs(
Arrays.asList(
"-d",
temporaryFolder.getRoot().getAbsolutePath(),
"-XepOpt:NullAway:AnnotatedPackages=com.uber",
"-XepOpt:NullAway:UnannotatedSubPackages=com.uber.lib.unannotated",
"-XepOpt:NullAway:CheckOptionalEmptiness=true"))
.addSourceLines(
"TestNegative.java",
"package com.uber;",
"import java.util.Optional;",
"import io.reactivex.Observable;",
"public class TestNegative {",
" private static boolean perhaps() { return Math.random() > 0.5; }",
" void foo(Observable<Optional<String>> observable) {",
" observable",
" .filter(optional -> optional.isPresent() && perhaps())",
" .map(optional -> optional.get().toString());",
" observable",
" .filter(optional -> optional.isPresent() && perhaps())",
" .map(optional -> optional.get());",
" }",
"}")
.doTest();
}

@Test
public void testCastToNonNull() {
compilationHelper
Expand Down

0 comments on commit 3320227

Please sign in to comment.