¿Cómo afirmar que dos listas contienen elementos con las mismas propiedades públicas en NUnit?

Quiero afirmar que los elementos de dos listas contienen valores que esperaba, algo así como:

var foundCollection = fooManager.LoadFoo();
var expectedCollection = new List<Foo>() 
{
    new Foo() { Bar = "a", Bar2 = "b" },
    new Foo() { Bar = "c", Bar2 = "d" }
};

//assert: I use AreEquivalent since the order does not matter
CollectionAssert.AreEquivalent(expectedCollection, foundCollection);

Sin embargo, el código anterior no funcionará (supongo que porque .Equals () no devuelve verdadero para diferentes objetos con el mismo valor). En mi prueba, solo me importan los valores de propiedad pública, no si los objetos son iguales. ¿Qué puedo hacer para hacer mi afirmación?