public void GenericControlByField()
{
PrivateType t = new PrivateType(typeof(GenericFieldControl));
object obj = t.GetStaticProperty("ControlTable");
Dictionary<string, Type> qwer = (Dictionary<string, Type>)obj;
string message;
Assert.IsTrue(CheckTypes(typeof(ApprovingModeField), typeof(SnControls.DropDown), out message), message);
Assert.IsTrue(CheckTypes(typeof(BinaryField), typeof(SnControls.Binary), out message), message);
Assert.IsTrue(CheckTypes(typeof(BooleanField), typeof(SnControls.Boolean), out message), message);
Assert.IsTrue(CheckTypes(typeof(ChoiceField), typeof(SnControls.DropDown), out message), message);
Assert.IsTrue(CheckTypes(typeof(ColorField), typeof(SnControls.ShortText), out message), message);
Assert.IsTrue(CheckTypes(typeof(DateTimeField), typeof(SnControls.DatePicker), out message), message);
Assert.IsTrue(CheckTypes(typeof(HyperLinkField), typeof(SnControls.HyperLink), out message), message);
Assert.IsTrue(CheckTypes(typeof(InheritableApprovingModeField), typeof(SnControls.DropDown), out message), message);
Assert.IsTrue(CheckTypes(typeof(InheritableVersioningModeField), typeof(SnControls.DropDown), out message), message);
Assert.IsTrue(CheckTypes(typeof(IntegerField), typeof(SnControls.WholeNumber), out message), message);
Assert.IsTrue(CheckTypes(typeof(LockField), typeof(SnControls.ShortText), out message), message);
Assert.IsTrue(CheckTypes(typeof(LongTextField), typeof(SnControls.LongText), out message), message);
Assert.IsTrue(CheckTypes(typeof(NodeTypeField), typeof(SnControls.ShortText), out message), message);
Assert.IsTrue(CheckTypes(typeof(NumberField), typeof(SnControls.Number), out message), message);
Assert.IsTrue(CheckTypes(typeof(PasswordField), typeof(SnControls.Password), out message), message);
Assert.IsTrue(CheckTypes(typeof(ReferenceField), typeof(SnControls.ReferenceGrid), out message), message);
Assert.IsTrue(CheckTypes(typeof(SecurityField), typeof(SnControls.ShortText), out message), message);
Assert.IsTrue(CheckTypes(typeof(ShortTextField), typeof(SnControls.ShortText), out message), message);
//Assert.IsTrue(CheckTypes(typeof(SiteListField), typeof(SnControls.SiteList), out message), message);
Assert.IsTrue(CheckTypes(typeof(SiteRelativeUrlField), typeof(SnControls.SiteRelativeUrl), out message), message);
Assert.IsTrue(CheckTypes(typeof(UrlListField), typeof(SnControls.UrlList), out message), message);
Assert.IsTrue(CheckTypes(typeof(VersioningModeField), typeof(SnControls.DropDown), out message), message);
Assert.IsTrue(CheckTypes(typeof(WhoAndWhenField), typeof(SnControls.WhoAndWhen), out message), message);
}
private bool CheckTypes(Type fieldType, Type expectedType, out string message)