public void Should_create_joined_criteria()
{
var expected = DetachedCriteria.For<Person>("person")
.CreateAlias("Contacts", "contact", JoinType.None)
.Add(Restrictions.EqProperty("contact.FirstName", "person.FirstName"));
var person = Alias.For<Person>();
var contact = Alias.From<Person>(x => x.Contacts).For<Person>();
var actual = Criteria.For<Person>(() => person)
.Join(() => contact, JoinType.None)
.With<Person>(x => contact.FirstName == person.FirstName);
AssertCriteria.AreEqual(actual, expected);
}