ich eine Klasse Vector3D
haben, die die Eigenschaften X
, Y
und Z
Typ hat doppelt (es hat auch andere Eigenschaften wie Magnitude
).Fließend Assertions: Vergleichen Ungefähr ein Klassen-Eigenschaften
Was ist der beste Weg, um alle Eigenschaften oder eine Auswahl der Eigenschaften mit Fluent Assertions in einer bestimmten Genauigkeit zu vergleichen?
Derzeit ist es wie dies zu tun habe ich:
calculated.X.Should().BeApproximately(expected.X, precision);
calculated.Y.Should().BeApproximately(expected.Y, precision);
calculated.Z.Should().BeApproximately(expected.Z, precision);
Gibt es eine einzige Zeile Ansatz, der das Gleiche erreichen? Wie zum Beispiel ShouldBeEquivalentTo
, oder erfordert dies die Konstruktion einer generischen Erweiterungsmethode, die das Einschließen/Ausschließen von Eigenschaften zulässt?
Das ist ordentlich. Also muss '.When' in diesem speziellen Fall anstelle von' .Including' verwendet werden, um anzugeben, welche Eigenschaften für den Äquivalenztest verwendet werden? – Ayb4btu
Einschließen ist, FluentAssertions ausdrücklich zu erklären, welche Eigenschaften während des Vergleichs zu verwenden sind. Ich habe meine Antwort mit einer Erklärung aktualisiert. –
Ich vermute, es ist eine Frage der Präferenz, aber gibt es einen Nachteil bei der Verwendung von '.Inklusive (info => info.X) .Inklusive (info => info.Y) .Inklusive (info => info.Z) 'über den' info.SelectedMemberPath == "X" ... '? – Ayb4btu