ソースを参照

AlertBox test.

Steve Thielemann 3 年 前
コミット
037c91506c
1 ファイル変更39 行追加0 行削除
  1. 39 0
      door/box_test.go

+ 39 - 0
door/box_test.go

@@ -27,3 +27,42 @@ func TestBoxUnicode(t *testing.T) {
 		}
 		}
 	}
 	}
 }
 }
+
+func TestBoxes(t *testing.T) {
+	// Normally done in door.init.
+	Unicode = true
+	BOXES = BOXES_UNICODE
+
+	box := Box{5, 0}
+	got := box.Top()
+	expected := "\u250c\u2500\u2500\u2500\u2500\u2500\u2510"
+	if got != expected {
+		t.Errorf("Boxes Top (0): Expected %#v, got %#v", got, expected)
+	}
+
+	got = box.Middle()
+	expected = "\u251c\u2500\u2500\u2500\u2500\u2500\u2524"
+	if got != expected {
+		t.Errorf("Boxes Middle (0): Expected %#v, got %#v", got, expected)
+	}
+
+	got = box.Bottom()
+	expected = "\u2514\u2500\u2500\u2500\u2500\u2500\u2518"
+	if got != expected {
+		t.Errorf("Boxes Bottom (0): Expected %#v, got %#v", got, expected)
+	}
+
+	got = box.Row("12345")
+	expected = "\u250212345\u2502"
+	if got != expected {
+		t.Errorf("Boxes Row (0): Expected %#v, got %#v", got, expected)
+	}
+
+	alert := AlertBox("ALERT", 1)
+	lines := []string{"\u2554\u2550\u2550\u2550\u2550\u2550\u2557", "\u2551ALERT\u2551", "\u255a\u2550\u2550\u2550\u2550\u2550\u255d"}
+	for idx, line := range alert {
+		if line != lines[idx] {
+			t.Errorf("AlertBox (%d): Expected %#v, got %#v", idx, line, lines[idx])
+		}
+	}
+}