Return-Path: Delivered-To: apmail-harmony-commits-archive@www.apache.org Received: (qmail 32623 invoked from network); 16 Aug 2007 06:40:53 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 16 Aug 2007 06:40:53 -0000 Received: (qmail 3611 invoked by uid 500); 16 Aug 2007 06:40:50 -0000 Delivered-To: apmail-harmony-commits-archive@harmony.apache.org Received: (qmail 3592 invoked by uid 500); 16 Aug 2007 06:40:50 -0000 Mailing-List: contact commits-help@harmony.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@harmony.apache.org Delivered-To: mailing list commits@harmony.apache.org Received: (qmail 3583 invoked by uid 99); 16 Aug 2007 06:40:50 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 15 Aug 2007 23:40:50 -0700 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 16 Aug 2007 06:41:07 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 3E75A1A981A; Wed, 15 Aug 2007 23:40:27 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r566500 - in /harmony/enhanced/classlib/trunk/modules/math/src: main/java/java/math/BigDecimal.java test/java/tests/api/java/math/BigDecimalTest.java Date: Thu, 16 Aug 2007 06:40:27 -0000 To: commits@harmony.apache.org From: pyang@apache.org X-Mailer: svnmailer-1.1.0 Message-Id: <20070816064027.3E75A1A981A@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: pyang Date: Wed Aug 15 23:40:26 2007 New Revision: 566500 URL: http://svn.apache.org/viewvc?view=rev&rev=566500 Log: fix HARMONY-4623( BigDecimal.stripTrailingZero fails for 0.0000) Modified: harmony/enhanced/classlib/trunk/modules/math/src/main/java/java/math/BigDecimal.java harmony/enhanced/classlib/trunk/modules/math/src/test/java/tests/api/java/math/BigDecimalTest.java Modified: harmony/enhanced/classlib/trunk/modules/math/src/main/java/java/math/BigDecimal.java URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/math/src/main/java/java/math/BigDecimal.java?view=diff&rev=566500&r1=566499&r2=566500 ============================================================================== --- harmony/enhanced/classlib/trunk/modules/math/src/main/java/java/math/BigDecimal.java (original) +++ harmony/enhanced/classlib/trunk/modules/math/src/main/java/java/math/BigDecimal.java Wed Aug 15 23:40:26 2007 @@ -1314,7 +1314,7 @@ long newScale = scale; if (isZero()) { - return this; + return new BigDecimal("0"); } BigInteger strippedBI = getUnscaledValue(); BigInteger[] quotAndRem; Modified: harmony/enhanced/classlib/trunk/modules/math/src/test/java/tests/api/java/math/BigDecimalTest.java URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/math/src/test/java/tests/api/java/math/BigDecimalTest.java?view=diff&rev=566500&r1=566499&r2=566500 ============================================================================== --- harmony/enhanced/classlib/trunk/modules/math/src/test/java/tests/api/java/math/BigDecimalTest.java (original) +++ harmony/enhanced/classlib/trunk/modules/math/src/test/java/tests/api/java/math/BigDecimalTest.java Wed Aug 15 23:40:26 2007 @@ -894,4 +894,26 @@ assertEquals(bd.doubleValue(), nbd.doubleValue(), 0.0); assertEquals(bd.toString(), nbd.toString()); } + + /** + * @tests java.math.BigDecimal#stripTrailingZero(long) + */ + public void test_stripTrailingZero() { + BigDecimal sixhundredtest = new BigDecimal("600.0"); + assertTrue("stripTrailingZero failed for 600.0", + ((sixhundredtest.stripTrailingZeros()).scale() == -2) + ); + + /* Single digit, no trailing zero, odd number */ + BigDecimal notrailingzerotest = new BigDecimal("1"); + assertTrue("stripTrailingZero failed for 1", + ((notrailingzerotest.stripTrailingZeros()).scale() == 0) + ); + + /* Zero */ + BigDecimal zerotest = new BigDecimal("0.0000"); + assertTrue("stripTrailingZero failed for 0.0000", + ((zerotest.stripTrailingZeros()).scale() == 0) + ); + } }