Я хочу иметь возможность сравнивать два следующих объекта по подобию, используя AutoFixture.SemanticComparison:
public class Object1
{
public int a;
}
public class Object2
{
public int a;
public int b;
}
Теперь, когда я делаю это так:
var o1 = new Object1 { a = 1 };
var o2 = new Object2 { a = 1, b = 2};
o1.AsSource().OfLikeness<Object2>().ShouldEqual(o2);
Я получаю следующее исключение: «Следующие участники не совпадают: - b.»
Я обнаружил, что могу опустить член 'b' следующим образом:
var o1 = new Object1 { a = 1 };
var o2 = new Object2 { a = 1, b = 2};
o1.AsSource().OfLikeness<Object2>().Without(object2 => object2.b).ShouldEqual(o2);
Однако я считаю, что это довольно громоздко, потому что всякий раз, когда я добавляю нового члена в класс Object2, мне приходится исправлять свои модульные тесты (или, по крайней мере, помощников модульных тестов).
Есть ли способ сказать "Я хочу сравнить по подобию только для подмножества, которое существует в обоих объектах"?