Тесты не пройдены, потому что ваши объекты не равны .Они могут иметь одинаковые значения в своих полях, но это не делает их равными.По умолчанию объекты равны, если они имеют один и тот же адрес и поэтому являются одним и тем же объектом.
Чтобы получить желаемое поведение (то есть, чтобы объекты, свойства которых имеют одинаковые значения, были равны), вам необходимо переопределить Equals
и определить, что делает ваши объекты равными.Если это все свойства, то проверьте все свойства здесь.Если это только некоторые из них, то только проверяйте их.Сделайте все, что нужно, чтобы определить равенство в вашем контексте.
Если вы переопределяете Equals
, вам также следует переопределить GetHashCode
и убедиться, что когда Equals
истинно для двух объектов, GetHashCode
вернетодинаковое значение для обоих.