quiero ser capaz de comparar los dos siguientes objetos de imagen utilizando AutoFixture.SemanticComparison:AutoFixture Semejanza - sólo se compare a juego propiedades
public class Object1
{
public int a;
}
public class Object2
{
public int a;
public int b;
}
Ahora, cuando lo haga de esta manera:
var o1 = new Object1 { a = 1 };
var o2 = new Object2 { a = 1, b = 2};
o1.AsSource().OfLikeness<Object2>().ShouldEqual(o2);
Recibo la siguiente excepción: "Los siguientes miembros no coinciden: - b."
descubrí que puedo omitir el miembro de 'b' de esta manera:
var o1 = new Object1 { a = 1 };
var o2 = new Object2 { a = 1, b = 2};
o1.AsSource().OfLikeness<Object2>().Without(object2 => object2.b).ShouldEqual(o2);
Sin embargo, me parece que esto es bastante engorroso, porque cada vez que añadir un nuevo miembro a la clase Object2, tengo que corregir las pruebas de mi unidad (o al menos los ayudantes de prueba de la unidad).
¿Hay alguna manera de decir "Quiero comparar para la semejanza solo para el subconjunto que existe en ambos objetos"?
El argumento que describió es bastante sólido. Me llevó a pensar en lo que es más engorroso: agregar nuevas propiedades a Without() o rastrear los dos objetos para cambiar los nombres de propiedad para evitar falsos positivos. ¡Gracias por dirigir mi atención a esto! –