Skip to content Search Apps Documentation Source Content File Folder Download Copy Actions State String Boolean Number Struct Map Slice Pointer Function Closure Reference Nil Package Type Interface Unknown

Community realm. Read the code first. Community realm, deployed by its author. Read the code before you interact or send coins.

gnoface_test.gno

1.67 Kb · 133 lines
  1package gnoface
  2
  3import (
  4	"testing"
  5
  6	"gno.land/p/nt/uassert/v0"
  7	"gno.land/p/nt/ufmt/v0"
  8)
  9
 10func TestDraw(t *testing.T) {
 11	cases := []struct {
 12		seed     uint64
 13		expected string
 14	}{
 15		{
 16			seed: 42,
 17			expected: `
 18  |||||||
 19 |||||||||
 20 |       |
 21 | .   ~ |
 22)| v   v |O
 23 |       |
 24 |   L   |
 25 |       |
 26 |  ___  |
 27 |       |
 28 \~~~~~~~/
 29`[1:],
 30		},
 31		{
 32			seed: 1337,
 33			expected: `
 34  .......
 35 |||||||||
 36 |       |
 37 | .   _ |
 38D| x   X |O
 39 |       |
 40 |   ~   |
 41 |       |
 42 |  ~~~  |
 43 |       |
 44 \~~~~~~~/
 45`[1:],
 46		},
 47		{
 48			seed: 123456789,
 49			expected: `
 50  .......
 51 ////////\
 52 |       |
 53 | ~   * |
 54|| x   X |o
 55 |       |
 56 |   V   |
 57 |       |
 58 |   .   |
 59 |       |
 60 \-------/
 61`[1:],
 62		},
 63	}
 64	for _, tc := range cases {
 65		name := ufmt.Sprintf("%d", tc.seed)
 66		t.Run(name, func(t *testing.T) {
 67			got := Draw(tc.seed)
 68			uassert.Equal(t, string(tc.expected), got)
 69		})
 70	}
 71}
 72
 73func TestRender(t *testing.T) {
 74	cases := []struct {
 75		path     string
 76		expected string
 77	}{
 78		{
 79			path: "42",
 80			expected: "Gnoface #42\n```" + `
 81  |||||||
 82 |||||||||
 83 |       |
 84 | .   ~ |
 85)| v   v |O
 86 |       |
 87 |   L   |
 88 |       |
 89 |  ___  |
 90 |       |
 91 \~~~~~~~/
 92` + "```\n",
 93		},
 94		{
 95			path: "1337",
 96			expected: "Gnoface #1337\n```" + `
 97  .......
 98 |||||||||
 99 |       |
100 | .   _ |
101D| x   X |O
102 |       |
103 |   ~   |
104 |       |
105 |  ~~~  |
106 |       |
107 \~~~~~~~/
108` + "```\n",
109		},
110		{
111			path: "123456789",
112			expected: "Gnoface #123456789\n```" + `
113  .......
114 ////////\
115 |       |
116 | ~   * |
117|| x   X |o
118 |       |
119 |   V   |
120 |       |
121 |   .   |
122 |       |
123 \-------/
124` + "```\n",
125		},
126	}
127	for _, tc := range cases {
128		t.Run(tc.path, func(t *testing.T) {
129			got := Render(tc.path)
130			uassert.Equal(t, tc.expected, got)
131		})
132	}
133}