Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add tests for floating point and overridden Equals bug fix #23312

Closed
mazong1123 opened this issue Aug 24, 2017 · 0 comments
Closed

Add tests for floating point and overridden Equals bug fix #23312

mazong1123 opened this issue Aug 24, 2017 · 0 comments
Labels
area-System.Runtime test-enhancement Improvements of test source code
Milestone

Comments

@mazong1123
Copy link
Contributor

As discussed with @jkotas dotnet/coreclr#13164 (comment)

I'll add tests for the bug fixing of https://github.com/dotnet/coreclr/issues/11452 . My plan is to add the tests but disable them. After the new coreclr bits included in corefx, create another PR to enable them.

The tests should cover double/float number (0.0, -0.0 and NaNs) issues as well as overridden Equals issues.

@mazong1123 mazong1123 changed the title Add tests for floating point and overridden Equals bug in user defined struct Add tests for floating point and overridden Equals bug fix Aug 24, 2017
mazong1123 referenced this issue in mazong1123/corefx Aug 28, 2017
Added tests to cover following scenarios:

- Compare 2 tightly packed struct instances with double/float fields.
- Compare 2 tightly packed struct instances with nested struct which contains double/float fields.
- Compare 2 struct instances with overridden Equals and GetHashCode.

Fix #23516
mazong1123 referenced this issue in mazong1123/corefx Aug 28, 2017
Added tests to cover following scenarios:

- Compare 2 tightly packed struct instances with double/float fields.
- Compare 2 tightly packed struct instances with nested struct which contains double/float fields.
- Compare 2 struct instances with overridden Equals and GetHashCode.

Fix #23516
mazong1123 referenced this issue in mazong1123/corefx Aug 29, 2017
Added tests to cover following scenarios:

- Compare 2 tightly packed struct instances with double/float fields.
- Compare 2 tightly packed struct instances with nested struct which contains double/float fields.
- Compare 2 struct instances with overridden Equals and GetHashCode.

Note the tests have been disabled on netfx. Once the bug fix been included in full .NET Framework, we can enable these tests on netfx.

Fix #23516
ViktorHofer referenced this issue in dotnet/corefx Aug 30, 2017
* Added tests for struct Equals issue.

Added tests to cover following scenarios:

- Compare 2 tightly packed struct instances with double/float fields.
- Compare 2 tightly packed struct instances with nested struct which contains double/float fields.
- Compare 2 struct instances with overridden Equals and GetHashCode.

Note the tests have been disabled on netfx. Once the bug fix been included in full .NET Framework, we can enable these tests on netfx.

Fix #23516

* Added test cases for regular scenarios.

- Compare 2 struct instances contain pointers.
- Compare 2 not tightly packed struct instances with double/float fields.
- Compare 2 not tightly packed struct instances with nested struct contains double/fload fields.
- Compare 2 struct instances without overridden Equals and GetHashCode.

* Updated code according to the feedback.

- Assert.Equal(true, obj1.Equals(obj2)) -> Assert.True(obj1.Equals(obj2)).
- Assert.Equal(false, obj1.Equals(obje2)) -> Assert.False(obj1.Equals(obj2)).
- String -> string
- Rearranged field order in StructWithDoubleFieldNotTightlyPacked
@msftgits msftgits transferred this issue from dotnet/corefx Jan 31, 2020
@msftgits msftgits added this to the 2.1.0 milestone Jan 31, 2020
@ghost ghost locked as resolved and limited conversation to collaborators Dec 20, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-System.Runtime test-enhancement Improvements of test source code
Projects
None yet
Development

No branches or pull requests

2 participants