From b96a59eb28654ba5bc915bfaa21f511fdaa443df Mon Sep 17 00:00:00 2001
From: Taylor Gerring <taylor.gerring@gmail.com>
Date: Tue, 4 Nov 2014 16:45:54 +0100
Subject: Added tests for extra large values
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Test ā€œEā€ scientific notation formatting
---
 ethutil/common.go      |  1 +
 ethutil/common_test.go | 18 ++++++++++++++++++
 2 files changed, 19 insertions(+)

(limited to 'ethutil')

diff --git a/ethutil/common.go b/ethutil/common.go
index e60f237cf..0a29cac6c 100644
--- a/ethutil/common.go
+++ b/ethutil/common.go
@@ -66,6 +66,7 @@ func CurrencyToString(num *big.Int) string {
 		denom = "Ada"
 	}
 
+	// TODO add comment clarifying expected behavior
 	if len(fin.String()) > 5 {
 		return fmt.Sprintf("%sE%d %s", fin.String()[0:5], len(fin.String())-5, denom)
 	}
diff --git a/ethutil/common_test.go b/ethutil/common_test.go
index 791ff0a25..056676765 100644
--- a/ethutil/common_test.go
+++ b/ethutil/common_test.go
@@ -79,3 +79,21 @@ func TestCommon(t *testing.T) {
 		t.Error("Got", wei)
 	}
 }
+
+func TestLarge(t *testing.T) {
+	douglaslarge := CurrencyToString(BigPow(100000000, 43))
+	adalarge := CurrencyToString(BigPow(100000000, 4))
+	weilarge := CurrencyToString(big.NewInt(100000000))
+
+	if douglaslarge != "10000E298 Douglas" {
+		t.Error("Got", douglaslarge)
+	}
+
+	if adalarge != "10000E7 Einstein" {
+		t.Error("Got", adalarge)
+	}
+
+	if weilarge != "100 Babbage" {
+		t.Error("Got", weilarge)
+	}
+}
-- 
cgit v1.2.3