Comments (4)
Thanks!
I actually want to compare via ==
and not eq
($def{data}
could contain 300.00
for example).
I just didn't think of floating point arithmetic problems, although I should have known it ;-)
I fixed the test simply by avoiding rounding errors with sprintf
in 9e907d1
Could you test it?
from yaml-pp-p5.
It seems that the first change where cmp_ok() is changed from performing an 'eq' test to an '==' might be the wrong thing.
It produces thousands of non-numeric warnings of the form:
Argument "*" isn't numeric in numeric eq (==) at (eval in cmp_ok) t/31.schema.t line 120.
where "*" is such things as "true", "y", "yes", "no", "null", "off", "on", "~", to name a few.
That's not causing any tests to fail, but for me the second change, where $data is replaced by sprintf("%0.2f",$data), is alone sufficient to allow all tests to pass.
However, I don't think I'm using the exact same version of 31.schema.t as is presented at 9e907d1 .
What seems to be line 128 of that file is actually line 120 on my copy of the file.
The interesting thing about that second change is that it fixes the failures by coercing the LHS of the '==' comparison to the same incorrect representation of 685230.15 as held by the RHS ($def{data}).
That approach is a little unusual and threw me initially - though it's a totally sane, valid and most practical solution.
Cheers,
Rob
from yaml-pp-p5.
Huh, weird.
It looks like the change got accidentally applied to the $type eq 'str'
condition on your side. Then I get the same warnings as you.
Here's the direct link to the correct file (branch testfloat):
https://github.com/perlpunk/YAML-PP-p5/blob/testfloat/t/31.schema.t
Thanks!
from yaml-pp-p5.
Yep - https://github.com/perlpunk/YAML-PP-p5/blob/testfloat/t/31.schema.t is fine.
Cheers,
Rob
from yaml-pp-p5.
Related Issues (20)
- Suggestion: shorter alias for YAML::PP::Highlight HOT 2
- Update yamlpp-* tools to support the Merge feature. HOT 3
- Merge breaks when merging a node with a sequence. HOT 7
- boolean.pm values cannot be emitted HOT 16
- quote special YAML keywords when dumping HOT 3
- t/54.glob.t fails on perl 5.8.8 or lower HOT 2
- Question: is it possible to force all one-line string scalars to be single-quoted? HOT 1
- Getting a "Bad indendation in FLOWMAP" error HOT 3
- Option to indent lists relative to mapping keys HOT 1
- Schema to support TO_JSON methods HOT 2
- order is not preserved in new subhashes HOT 10
- Doc issue HOT 2
- Bug: Literal scalars with explicit indent seem to have a problem HOT 2
- ypp fails to parse !~ HOT 3
- Parse error on plain key ending with colon HOT 2
- YAML::PP::Load loops infinitely when given tainted string on perl < 5.14 HOT 1
- Recent released versions are prefixed with `v` HOT 1
- anchors don't survive when files are included using the Include Schema HOT 2
- Parser events have offset, but not line number HOT 2
- Windows and end of lines of multi-line string HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from yaml-pp-p5.