namespace Eilon.Sample.Controls.Test {
using System;
using System.IO;
using System.Web.UI;
using Microsoft.VisualStudio.TestTools.UnitTesting;
[TestClass]
public class NewLabelTest {
[TestMethod]
public void TextReturnsEmptyStringDefault() {
NewLabel label = new NewLabel();
Assert.AreEqual(String.Empty, label.Text,
"Default text should be empty string (not null)");
}
[TestMethod]
public void GetSetText() {
const string value = "Some Text";
NewLabel label = new NewLabel();
label.Text = value;
Assert.AreEqual(value, label.Text,
"Property value isnt the same as what we set");
}
[TestMethod]
public void RenderEmpty() {
NewLabel label = new NewLabel();
Assert.AreEqual(String.Empty, GetRenderedText(label),
"Shouldnt have rendered anything");
}
[TestMethod]
public void RenderWithText() {
const string value = "Some Text";
NewLabel label = new NewLabel();
label.Text = value;
Assert.AreEqual(value, GetRenderedText(label),
"Should have rendered the text");
}
private static string GetRenderedText(Control c) {
HtmlTextWriter writer = new HtmlTextWriter(new StringWriter());
c.RenderControl(writer);
return writer.InnerWriter.ToString();
}
}
}