[ 
https://issues.apache.org/jira/browse/DRILL-5518?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16059703#comment-16059703
 ] 

ASF GitHub Bot commented on DRILL-5518:
---------------------------------------

Github user paul-rogers commented on a diff in the pull request:

    https://github.com/apache/drill/pull/851#discussion_r123567359
  
    --- Diff: 
exec/java-exec/src/test/java/org/apache/drill/test/rowSet/test/RowSetTest.java 
---
    @@ -309,13 +317,38 @@ private void testDoubleRW() {
         assertEquals(0, reader.column(0).getDouble(), 0.000001);
         assertTrue(reader.next());
         assertEquals(Double.MAX_VALUE, reader.column(0).getDouble(), 0.000001);
    +    assertEquals(Double.MAX_VALUE, (double) reader.column(0).getObject(), 
0.000001);
    --- End diff --
    
    The trick here is to understand the difference between static and dynamic 
typing. The run-time type of `getObject()` is `Double`, which can be unboxed to 
an int. But, Java is a statically-typed language. The compile-time type of 
`getObject()` is `Object`.
    
    For the two-argument form of `assertEquals()`, that is fine: Java will box 
the `int` to get an `Integer`, pass both to `assertEquals()` which will call 
`equals()` on the objects and things work.
    
    But, the three-argument form has the signature `assertEquals(double 
expected, double actual, double delta)`, and the compiler does not have 
sufficient information to convert the `Object` return value to a `double`. Here 
is the error:
    
    ```
    The method assertEquals(double, double, double) in the type Assert is not 
applicable for the arguments (double, Object, double)
    ```


> Roll-up of a number of test framework enhancements
> --------------------------------------------------
>
>                 Key: DRILL-5518
>                 URL: https://issues.apache.org/jira/browse/DRILL-5518
>             Project: Apache Drill
>          Issue Type: Improvement
>    Affects Versions: 1.11.0
>            Reporter: Paul Rogers
>            Assignee: Paul Rogers
>            Priority: Minor
>             Fix For: 1.11.0
>
>
> Recent development work identified a number of minor enhancements to the 
> "sub-operator" unit tests:
> * Create a {{SubOperatorTest}} base class to do routine setup and shutdown.
> * Additional methods to simplify creating complex schemas with field widths.
> * Define a test workspace with plugin-specific options (as for the CSV 
> storage plugin)
> * When verifying row sets, add methods to verify and release just the 
> "actual" batch in addition to the existing method for verify and free both 
> the actual and expected batches.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to