-
Notifications
You must be signed in to change notification settings - Fork 431
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
[EN .NET] Fix TimexProperty.ToString() to handle DateTimeRanges properly #2894
Conversation
This fixes the conversion to string of DateTimeRange Timex types such as`"(2022-03-15T16,2022-03-15T18,PT2H)"` to not assume there's a part of day in the `TimexProperty` object when there isn't one. Fixes microsoft#2893
[TestMethod] | ||
public void DataTypes_Timex_FromDateTimeRange_ToString() | ||
{ | ||
var timex = new TimexProperty("(2022-03-15T16,2022-03-15T18,PT2H)"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is not technicaly correct, as the timex specified doesn't correspond to just one date, but a date range. We need to properly correct this in a more general way.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Technically what I did here is make it not throw the exception, without changing the original logic of the output - this has always returned incorrect results for a date range, the logic was always wrong for that, but the exception is the issue I'm trying to fix here, because it's very hard to work around it without reimplementing a bunch of stuff on the user side.
I would very much like to have this return the correct output for a date range, that was going to be my next issue to open. Can we fix this exception now and I'll put together a separate PR to fix the output?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In this case, please add a code comment in that unit test along the lines of:
\\ @TODO Test documenting workaround to avoid exceptions when getting a timex. Proper timex generation fix needed.
Thanks!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added the TODO and resolved conflicts 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Accepting as-is as a workaround to avoid crashes. Pending proper fix.
@shana, please go ahead and create a new issue for the wrong text generation for ranges. We'll merge once build passes. |
…eTimeRanges (microsoft#2894) * Workaround for TimexProperty.ToString() to not crash on DateTimeRanges * Add TODO for fixing the TimexProperty date range representation properly according to review
This fixes the conversion to string of DateTimeRange Timex types such as
"(2022-03-15T16,2022-03-15T18,PT2H)"
to not assume there's a part of day in theTimexProperty
object when there isn't one.Fixes #2893