From e2e98d2a5fd0bbbf128fcbe2e09d23fc63f04b9f Mon Sep 17 00:00:00 2001 From: Brandon Berhent Date: Thu, 14 May 2020 12:00:57 -0400 Subject: [PATCH] Add test-bd option --- .gitignore | 3 +++ server/main.go | 27 +++++++++++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/.gitignore b/.gitignore index 2930f8e..4a351b5 100644 --- a/.gitignore +++ b/.gitignore @@ -15,6 +15,9 @@ pids *.seed *.pid.lock +# Test docs +*.csv + # Directory for instrumented libs generated by jscoverage/JSCover lib-cov diff --git a/server/main.go b/server/main.go index ecfc5ad..38bdf79 100644 --- a/server/main.go +++ b/server/main.go @@ -4,6 +4,8 @@ import ( "flag" "fmt" "net/http" + "os" + "path" "strconv" "strings" @@ -219,9 +221,31 @@ func getNatricon(c *gin.Context) { }) } +func testBodyDistribution() { + wd, _ := os.Getwd() + output := path.Join(wd, "body_distribution.csv") + outputF, err := os.Create(output) + defer outputF.Close() + if err != nil { + fmt.Printf("Failed to open file for writing %s", output) + } + var address string + var sha256 string + var accessories image.Accessories + ret := "h,s,b\n" + for i := 0; i < 10000; i++ { + address = nano.GenerateAddress() + sha256 = nano.AddressSha256(address, *seed) + accessories, _ = image.GetAccessoriesForHash(sha256, false, nil) + ret += fmt.Sprintf("%f,%f,%f\n", accessories.BodyColor.ToHSB().H, accessories.BodyColor.ToHSB().S*100.0, accessories.BodyColor.ToHSB().B*100.0) + } + outputF.WriteString(ret) +} + func main() { // Parse server options loadFiles := flag.Bool("load-files", false, "Print assets as GO arrays") + testBodyDist := flag.Bool("test-bd", false, "Test body distribution") serverHost := flag.String("host", "127.0.0.1", "Host to listen on") serverPort := flag.Int("port", 8080, "Port to listen on") seed = flag.String("seed", "1234567890", "Seed to use for icon generation") @@ -230,6 +254,9 @@ func main() { if *loadFiles { LoadAssetsToArray() return + } else if *testBodyDist { + testBodyDistribution() + return } // Setup router