Я хочу иметь возможность сравнивать два следующих объекта на сходство с помощью 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 , Я должен исправить свои модульные тесты (или, по крайней мере, помощники модульных тестов).
Есть ли способ сказать «Я хочу сравнить на сходство только подмножество, которое существует в обоих объектах»?