| 
									
										
										
										
											2014-02-25 11:20:24 +01:00
										 |  |  | package ethutil | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import ( | 
					
						
							|  |  |  | 	"math/big" | 
					
						
							| 
									
										
										
										
											2014-11-14 15:01:52 -06:00
										 |  |  | 	"os" | 
					
						
							| 
									
										
										
										
											2014-11-16 12:08:27 -06:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	checker "gopkg.in/check.v1" | 
					
						
							| 
									
										
										
										
											2014-02-25 11:20:24 +01:00
										 |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-11-16 12:08:27 -06:00
										 |  |  | type CommonSuite struct{} | 
					
						
							| 
									
										
										
										
											2014-11-14 15:01:52 -06:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-11-16 12:08:27 -06:00
										 |  |  | var _ = checker.Suite(&CommonSuite{}) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func (s *CommonSuite) TestOS(c *checker.C) { | 
					
						
							|  |  |  | 	expwin := (os.PathSeparator == '\\' && os.PathListSeparator == ';') | 
					
						
							|  |  |  | 	res := IsWindows() | 
					
						
							| 
									
										
										
										
											2014-11-14 15:01:52 -06:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-11-16 12:08:27 -06:00
										 |  |  | 	if !expwin { | 
					
						
							|  |  |  | 		c.Assert(res, checker.Equals, expwin, checker.Commentf("IsWindows is", res, "but path is", os.PathSeparator)) | 
					
						
							|  |  |  | 	} else { | 
					
						
							|  |  |  | 		c.Assert(res, checker.Not(checker.Equals), expwin, checker.Commentf("IsWindows is", res, "but path is", os.PathSeparator)) | 
					
						
							| 
									
										
										
										
											2014-11-14 15:01:52 -06:00
										 |  |  | 	} | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-11-16 12:08:27 -06:00
										 |  |  | func (s *CommonSuite) TestWindonziePath(c *checker.C) { | 
					
						
							|  |  |  | 	iswindowspath := os.PathSeparator == '\\' | 
					
						
							| 
									
										
										
										
											2014-11-14 15:01:52 -06:00
										 |  |  | 	path := "/opt/eth/test/file.ext" | 
					
						
							|  |  |  | 	res := WindonizePath(path) | 
					
						
							| 
									
										
										
										
											2014-11-16 12:08:27 -06:00
										 |  |  | 	ressep := string(res[0]) | 
					
						
							| 
									
										
										
										
											2014-11-14 15:01:52 -06:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-11-16 12:08:27 -06:00
										 |  |  | 	if !iswindowspath { | 
					
						
							|  |  |  | 		c.Assert(ressep, checker.Equals, "/") | 
					
						
							|  |  |  | 	} else { | 
					
						
							|  |  |  | 		c.Assert(ressep, checker.Not(checker.Equals), "/") | 
					
						
							| 
									
										
										
										
											2014-11-14 15:01:52 -06:00
										 |  |  | 	} | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-11-16 12:08:27 -06:00
										 |  |  | func (s *CommonSuite) TestCommon(c *checker.C) { | 
					
						
							| 
									
										
										
										
											2014-11-14 15:01:52 -06:00
										 |  |  | 	douglas := CurrencyToString(BigPow(10, 43)) | 
					
						
							|  |  |  | 	einstein := CurrencyToString(BigPow(10, 22)) | 
					
						
							| 
									
										
										
										
											2014-03-03 00:55:10 +01:00
										 |  |  | 	ether := CurrencyToString(BigPow(10, 19)) | 
					
						
							| 
									
										
										
										
											2015-02-20 20:57:45 +01:00
										 |  |  | 	finney := CurrencyToString(BigPow(10, 16)) | 
					
						
							| 
									
										
										
										
											2014-03-03 00:55:10 +01:00
										 |  |  | 	szabo := CurrencyToString(BigPow(10, 13)) | 
					
						
							| 
									
										
										
										
											2014-11-14 15:01:52 -06:00
										 |  |  | 	shannon := CurrencyToString(BigPow(10, 10)) | 
					
						
							|  |  |  | 	babbage := CurrencyToString(BigPow(10, 7)) | 
					
						
							|  |  |  | 	ada := CurrencyToString(BigPow(10, 4)) | 
					
						
							| 
									
										
										
										
											2014-03-03 00:55:10 +01:00
										 |  |  | 	wei := CurrencyToString(big.NewInt(10)) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-11-16 12:08:27 -06:00
										 |  |  | 	c.Assert(douglas, checker.Equals, "10 Douglas") | 
					
						
							|  |  |  | 	c.Assert(einstein, checker.Equals, "10 Einstein") | 
					
						
							|  |  |  | 	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") | 
					
						
							| 
									
										
										
										
											2014-02-25 11:20:24 +01:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2014-11-14 15:01:52 -06:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-11-16 12:08:27 -06:00
										 |  |  | func (s *CommonSuite) TestLarge(c *checker.C) { | 
					
						
							| 
									
										
										
										
											2014-11-14 15:01:52 -06:00
										 |  |  | 	douglaslarge := CurrencyToString(BigPow(100000000, 43)) | 
					
						
							|  |  |  | 	adalarge := CurrencyToString(BigPow(100000000, 4)) | 
					
						
							|  |  |  | 	weilarge := CurrencyToString(big.NewInt(100000000)) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-11-16 12:08:27 -06:00
										 |  |  | 	c.Assert(douglaslarge, checker.Equals, "10000E298 Douglas") | 
					
						
							|  |  |  | 	c.Assert(adalarge, checker.Equals, "10000E7 Einstein") | 
					
						
							|  |  |  | 	c.Assert(weilarge, checker.Equals, "100 Babbage") | 
					
						
							| 
									
										
										
										
											2014-11-14 15:01:52 -06:00
										 |  |  | } |