| 
									
										
										
										
											2015-07-07 02:54:22 +02:00
										 |  |  | // Copyright 2014 The go-ethereum Authors | 
					
						
							| 
									
										
										
										
											2015-07-22 18:48:40 +02:00
										 |  |  | // This file is part of the go-ethereum library. | 
					
						
							| 
									
										
										
										
											2015-07-07 02:54:22 +02:00
										 |  |  | // | 
					
						
							| 
									
										
										
										
											2015-07-23 18:35:11 +02:00
										 |  |  | // The go-ethereum library is free software: you can redistribute it and/or modify | 
					
						
							| 
									
										
										
										
											2015-07-07 02:54:22 +02:00
										 |  |  | // it under the terms of the GNU Lesser General Public License as published by | 
					
						
							|  |  |  | // the Free Software Foundation, either version 3 of the License, or | 
					
						
							|  |  |  | // (at your option) any later version. | 
					
						
							|  |  |  | // | 
					
						
							| 
									
										
										
										
											2015-07-22 18:48:40 +02:00
										 |  |  | // The go-ethereum library is distributed in the hope that it will be useful, | 
					
						
							| 
									
										
										
										
											2015-07-07 02:54:22 +02:00
										 |  |  | // but WITHOUT ANY WARRANTY; without even the implied warranty of | 
					
						
							| 
									
										
										
										
											2015-07-22 18:48:40 +02:00
										 |  |  | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 
					
						
							| 
									
										
										
										
											2015-07-07 02:54:22 +02:00
										 |  |  | // GNU Lesser General Public License for more details. | 
					
						
							|  |  |  | // | 
					
						
							|  |  |  | // You should have received a copy of the GNU Lesser General Public License | 
					
						
							| 
									
										
										
										
											2015-07-22 18:48:40 +02:00
										 |  |  | // along with the go-ethereum library. If not, see <http://www.gnu.org/licenses/>. | 
					
						
							| 
									
										
										
										
											2015-07-07 02:54:22 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-03-16 11:27:38 +01:00
										 |  |  | package common | 
					
						
							| 
									
										
										
										
											2014-08-25 12:53:06 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | import ( | 
					
						
							| 
									
										
										
										
											2015-03-22 13:35:13 +01:00
										 |  |  | 	"math/big" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-11-14 15:01:52 -06:00
										 |  |  | 	checker "gopkg.in/check.v1" | 
					
						
							| 
									
										
										
										
											2014-08-25 12:53:06 +02:00
										 |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-11-14 15:01:52 -06:00
										 |  |  | type SizeSuite struct{} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | var _ = checker.Suite(&SizeSuite{}) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func (s *SizeSuite) TestStorageSizeString(c *checker.C) { | 
					
						
							|  |  |  | 	data1 := 2381273 | 
					
						
							|  |  |  | 	data2 := 2192 | 
					
						
							|  |  |  | 	data3 := 12 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	exp1 := "2.38 mB" | 
					
						
							|  |  |  | 	exp2 := "2.19 kB" | 
					
						
							|  |  |  | 	exp3 := "12.00 B" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	c.Assert(StorageSize(data1).String(), checker.Equals, exp1) | 
					
						
							|  |  |  | 	c.Assert(StorageSize(data2).String(), checker.Equals, exp2) | 
					
						
							|  |  |  | 	c.Assert(StorageSize(data3).String(), checker.Equals, exp3) | 
					
						
							| 
									
										
										
										
											2014-08-25 12:53:06 +02:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2015-03-22 13:35:13 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-08-06 15:15:36 +01:00
										 |  |  | func (s *SizeSuite) TestCommon(c *checker.C) { | 
					
						
							| 
									
										
										
										
											2015-03-22 13:35:13 +01:00
										 |  |  | 	ether := CurrencyToString(BigPow(10, 19)) | 
					
						
							|  |  |  | 	finney := CurrencyToString(BigPow(10, 16)) | 
					
						
							|  |  |  | 	szabo := CurrencyToString(BigPow(10, 13)) | 
					
						
							|  |  |  | 	shannon := CurrencyToString(BigPow(10, 10)) | 
					
						
							|  |  |  | 	babbage := CurrencyToString(BigPow(10, 7)) | 
					
						
							|  |  |  | 	ada := CurrencyToString(BigPow(10, 4)) | 
					
						
							|  |  |  | 	wei := CurrencyToString(big.NewInt(10)) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	c.Assert(ether, checker.Equals, "10 Ether") | 
					
						
							|  |  |  | 	c.Assert(finney, checker.Equals, "10 Finney") | 
					
						
							|  |  |  | 	c.Assert(szabo, checker.Equals, "10 Szabo") | 
					
						
							|  |  |  | 	c.Assert(shannon, checker.Equals, "10 Shannon") | 
					
						
							|  |  |  | 	c.Assert(babbage, checker.Equals, "10 Babbage") | 
					
						
							|  |  |  | 	c.Assert(ada, checker.Equals, "10 Ada") | 
					
						
							|  |  |  | 	c.Assert(wei, checker.Equals, "10 Wei") | 
					
						
							|  |  |  | } |