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

[EN .NET] Fix TimexProperty.ToString() to handle DateTimeRanges properly #2894

Merged
merged 3 commits into from
Mar 14, 2022

Conversation

shana
Copy link
Contributor

@shana shana commented Mar 11, 2022

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 #2893

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
@ghost
Copy link

ghost commented Mar 11, 2022

CLA assistant check
All CLA requirements met.

[TestMethod]
public void DataTypes_Timex_FromDateTimeRange_ToString()
{
var timex = new TimexProperty("(2022-03-15T16,2022-03-15T18,PT2H)");
Copy link
Collaborator

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.

Copy link
Contributor Author

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?

Copy link
Collaborator

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!

Copy link
Contributor Author

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 👍

@shana shana requested a review from tellarin March 14, 2022 10:42
Copy link
Collaborator

@tellarin tellarin left a 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.

@tellarin
Copy link
Collaborator

@shana, please go ahead and create a new issue for the wrong text generation for ranges. We'll merge once build passes.
Thanks!

@tellarin tellarin merged commit f5426e3 into microsoft:master Mar 14, 2022
Conor-Keaney pushed a commit to purecloudlabs/Recognizers-Text that referenced this pull request Mar 25, 2022
…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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[EN .NET] TimexProperty.ToString() throws exception for datetimerange
2 participants