question: public void testPlusMathContextNegative ( ) { String a = "-92948782094488478231212478987482988429808779810457634781384756794987" ; int aScale = 49 ; int precision = 46 ; RoundingMode rm = RoundingMode . CEILING ; MathContext mc = new MathContext ( precision , rm ) ; String c = "-9294878209448847823.121247898748298842980877981" ; int cScale = 27 ; BigDecimal aNumber = new BigDecimal ( new BigInteger ( a ) , aScale ) ; BigDecimal res = aNumber . plus ( mc ) ; assertEquals ( "incorrect value" , c , res . toString ( ) ) ; assertEquals ( "incorrect scale" , cScale , res . scale ( ) ) ; }
target:  plus(MathContext) for a negative BigDecimal