|
Groovy example source code file (Groovy3238Bug.groovy)
The Groovy Groovy3238Bug.groovy source codepackage groovy.bugs class Groovy3238Bug extends GroovyTestCase { def void testRelativeExactnessToMatchForBigIntegerParam() { def obj = new Groovy3238Bug() def bi = new BigInteger("1") Groovy3238Bug.metaClass.m = {Double val -> "Double"}; obj.metaClass = null assert obj.m(bi) == "Double" Groovy3238Bug.metaClass.m = {double val -> "double"}; obj.metaClass = null assert obj.m(bi) == "double" //double should be chosen over Double Groovy3238Bug.metaClass.m = {BigDecimal val -> "BigDecimal"}; obj.metaClass = null assert obj.m(bi) == "BigDecimal" //BigDecimal should be chosen over Double, double Groovy3238Bug.metaClass.m = {Object val -> "Object"}; obj.metaClass = null assert obj.m(bi) == "Object" //Object should be chosen over Double, double, BigDecimal Groovy3238Bug.metaClass.m = {Number val -> "Number"}; obj.metaClass = null assert obj.m(bi) == "Number" //Number should be chosen over Double, double, BigDecimal, Object Groovy3238Bug.metaClass.m = {BigInteger val -> "BigInteger"}; obj.metaClass = null assert obj.m(bi) == "BigInteger" //BigInteger should be chosen over Double, double, BigDecimal, Object, Number } } Other Groovy examples (source code examples)Here is a short list of links related to this Groovy Groovy3238Bug.groovy source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.