
Untitled
By: a guest on
May 9th, 2012 | syntax:
None | size: 0.82 KB | hits: 14 | expires: Never
//Base class
public abstract class Animal
{
public virtual string Name {get; set;}
public virtual int Age {get; set;}
}
public class Dog : Animal
{
public virtual bool WearsCollar {get; set;}
}
public class Cat: Animal
{
public virtual bool IsLazy {get; set;}
public virtual void Update(Pet pet)
{
//And now what?
}
}
public class AnimalOwner
{
public virtual int Id {get; set;}
public virtual Animal Pet {get; set;}
public virtual UpdatePet(Pet pet)
{
if(Pet==null)
{
Pet = pet;
return;
}
Pet.Update(pet);
}
}
//Now I want to do stuff like this@
[Test]
public void TestOwnersPet()
{
var owner = Session.Get<Owner>(1);
owner.Pet = new Dog();
Assert.That(owner.Pet.WearsCollar, false); //Can't do this!!!!!
}