-
Notifications
You must be signed in to change notification settings - Fork 362
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 test for GH issue 1064, for main branch #1093
Conversation
d6728c9
to
978e854
Compare
Rather than adding a broken expectance I'd expect the right answer, and I'd expect the test to fail. If the picture you attached is correct the right answer should be: Maybe we can implement an "expected failure" that turns red in case the answer gets correct |
What is the "right" answer is very subtle. The best we can say is based on whatever numerical method is used to evaluate the Orientation predicate. (It can also depend on the fundamental imprecise representation of decimal numbers - e.g. 0.9, as in #968.). For current versions of GEOS the answer is as given above. Older versions use different arithmetic and get a different answer. I agree there should be a "correct" answer - but I don't know how to calculate it (do you?). And in any case, even if the computed answer is wrong, it doesn't help us to have CI failing all the time.
Yes, I've done this in JTS in a few places, mostly in order to capture cases which are known failures. But someone needs to figure out what the correct answer is in this case. At the moment all we have are two different answers, with no way to choose between them. |
I'm not sure there's much point in adding tests like this, where there is not a "known good" answer. If we change (or improve) the orientation predicate algorithm, that may cause this test to start failing, but it won't provide a solid indication that something is wrong. So we'd end up just changing or deleting it. I'm actually dealing with exactly this situation, with a change I'm considering for the orientation predicate. A bunch of tests fail with the new code, but they don't indicate it's wrong, just has different results. It's to handle #968 - and it does make that case work. |
It sounds like this test is actually not appropriate for main branch, as the Truth has Changed. |
See GH-1064
And see GH-1092 for the 3.8 runs