CodePaste Logo
New Snippet New Snippet Recent Snippets Recent Snippets My Snippets My Snippets Web Code Search Snippets Search
Sign inor Register
Language: C#

Tests for http://codepaste.net/dxs6ah

190 Views
Copy Code Show/Hide Line Numbers
 
/// <summary>
///This is a test class for MemberTest and is intended
///to contain all MemberTest Unit Tests
///</summary>
[TestClass()]
public class MemberTest
{
    public void CanGetArgHelper(string argument)
    {
        var member = Member.Of(() => argument);
 
        Assert.IsNotNull(member);
        Assert.AreEqual<string>("argument", member.Name);
 
        Assert.IsInstanceOfType(member, typeof(FieldInfo));
        Assert.AreEqual<Type>(typeof(string), (member as FieldInfo).FieldType);
    }
 
    [TestMethod]
    public void CanGetArg()
    {
        CanGetArgHelper("test");
    }
 
    [TestMethod]
    public void CanGetInt64Member()
    {
        Patron patron = null;
        var member = Member.Of(() => patron.Id);
 
        Assert.IsNotNull(member);
        Assert.AreEqual<string>("Id", member.Name);
 
        Assert.AreEqual<Type>(typeof(Patron), member.DeclaringType);
        Assert.IsInstanceOfType(member, typeof(PropertyInfo));
        Assert.AreEqual<Type>(typeof(Int64), (member as PropertyInfo).PropertyType);
    }
 
    [TestMethod]
    public void CanGetStringMember()
    {
        Patron patron = null;
        var member = Member.Of(() => patron.EmailAddress);
 
        Assert.IsNotNull(member);
        Assert.AreEqual<string>("EmailAddress", member.Name);
 
        Assert.AreEqual<Type>(typeof(Patron), member.DeclaringType);
        Assert.IsInstanceOfType(member, typeof(PropertyInfo));
        Assert.AreEqual<Type>(typeof(string), (member as PropertyInfo).PropertyType);
    }
 
    [TestMethod]
    public void CanGetDeeplyNestedMember()
    {
        Patron patron = null;
        
        var member = Member.Of(() => patron.Assets.First().Parts.First().Note);
 
        Assert.IsNotNull(member);
        Assert.AreEqual<string>("Note", member.Name);
 
        Assert.AreEqual<Type>(typeof(Part), member.DeclaringType);
        Assert.IsInstanceOfType(member, typeof(PropertyInfo));
        Assert.AreEqual<Type>(typeof(string), (member as PropertyInfo).PropertyType);
    }
 
    [TestMethod]
    public void CanGetPatronMember()
    {
        Asset asset = null;
        var member = Member.Of(() => asset.Patron);
 
        Assert.IsNotNull(member);
        Assert.AreEqual<string>("Patron", member.Name);
 
        Assert.AreEqual<Type>(typeof(Asset), member.DeclaringType);
        Assert.IsInstanceOfType(member, typeof(PropertyInfo));
        Assert.AreEqual<Type>(typeof(Patron), (member as PropertyInfo).PropertyType);
    }
 
    [TestMethod]
    public void CanGetMemberInfo()
    {
        Patron patron = null;
        MemberInfo member = Member.Of(() => patron.FirstName);
 
        Assert.IsInstanceOfType(member, typeof(MemberInfo));
        Assert.AreEqual<string>("FirstName", member.Name);
    }
 
    [TestMethod]
    public void CanGetMemberAsString()
    {
        Patron patron = null;
        string member = Name.Of(() => patron.FirstName);
 
        Assert.AreEqual<string>("FirstName", member);
    }
 
    [TestMethod]
    public void ToStringReturnsMemberName()
    {
        Patron patron = null;
        var member = Member.Of(() => patron.FirstName);
 
        Assert.AreEqual<string>("FirstName", member.Name);
    }
 
    [TestMethod]
    public void CanGetMethodName()
    {
        var member = Member.Of(() => this.CanGetMethodName());
        Assert.AreEqual<string>("CanGetMethodName", member.Name);
        Assert.IsInstanceOfType(member, typeof(MethodInfo));
    }
 
    [TestMethod]
    public void CanGetMethodNameWithParameters()
    {
        var member = Member.Of(() => this.Equals(null));
        Assert.AreEqual<string>("Equals", member.Name);
        Assert.IsInstanceOfType(member, typeof(MethodInfo));
    }
 
    [TestMethod]
    public void PropertyChangedEventArgsIsEasy()
    {
        PropertyChangedEventArgs args = new PropertyChangedEventArgs(Name.Of(() => this.SomeProperty));
        Assert.AreEqual<string>("SomeProperty", args.PropertyName);
    }
 
    [TestMethod]
    public void RaisePropertyChangedIsEasy()
    {
        string propertyName = this.RaisePropertyChanged(Name.Of(() => this.SomeProperty));
        Assert.AreEqual<string>("SomeProperty", propertyName);
    }
 
    public string SomeProperty { get; set; }
    private string RaisePropertyChanged(string propertyName)
    {
        return propertyName;
    }
}
by Jonathan Chayce Dickinson
  April 13, 2010 @ 3:07am
Tags:
Description:
Tests for http://codepaste.net/dxs6ah

Add a comment


Report Abuse
brought to you by:
West Wind Techologies



If you find this site useful and use it frequently please consider making a donation to support this free service.
Donate