Colin Benner
9c74a38b4d
Simplify Resolver::lookup
...
Move duplicate code into a closure. Simplify inner using `.any()`.
Eliminate conditionals using logical operators.
2019-10-19 20:27:59 -07:00
Colin Benner
0b289c8966
Be more explicit in Num::to_rational
...
Rather than checking whether `x == ai`, we simply check whether their
difference, of which we want to take the reciprocal in the next step, is
zero.
2019-10-19 20:27:59 -07:00
Colin Benner
e68e4f6167
Use unreachable!()
instead of panic!()
...
This seems to capture the intended meaning more clearly.
2019-10-19 20:27:59 -07:00
Colin Benner
5a0189ff77
Use the dirs
crate to find the config dir
2019-10-19 20:27:59 -07:00
Colin Benner
62aec5a8a0
Handle division by zero with a macro
...
Eliminate repetitive code by using a simple macro all over
`substance.rs`.
2019-10-19 20:27:59 -07:00
Colin Benner
02f13cc7cb
Merge if statement with surrounding else block
2019-10-19 20:27:59 -07:00
Colin Benner
0e65b19e56
Simplify Context::describe_unit
...
Move duplicate code into a closure.
2019-10-19 20:27:59 -07:00
Colin Benner
612ca08306
Use is_empty
...
Check whether a collections is empty by using the `.is_empty` method
instead of comparing `.len()` to 0.
2019-10-19 20:27:59 -07:00
Colin Benner
72864485b7
Simplify Context::{lookup, canonicalize}
2019-10-19 20:27:59 -07:00
Colin Benner
8247a2415c
Fix lots of clippy warnings
2019-10-19 20:27:59 -07:00
Colin Benner
da9313f6fe
Simplify match in text_query::is_func
2019-10-19 20:25:56 -07:00
Colin Benner
b042663807
Eliminate temperature!
in eval::eval
...
Like the last, commit, replace the macro calls by putting the macro
arguments into variables and putting the macro body after that.
As we need the exact same match statement in both cases, it is
implemented as a method on `Degree`.
2019-10-19 20:25:56 -07:00
Colin Benner
249c9941af
Eliminate macro in eval::eval_outer
...
We can get rid of `temperature!` if we just put the macro arguments into
variables and put the macro body below that.
2019-10-19 20:25:56 -07:00
Colin Benner
232f35c108
Use Display
for Degree
in token::describe
2019-10-19 20:25:56 -07:00
Colin Benner
0581d8f247
Simplify temperature handling
...
Use a single enum, `Degree`, wherever a temperature scale is referenced.
That way, we can a simplify `Conversion` and `Token`, as well as some
matches.
2019-10-19 20:25:56 -07:00
Tiffany Bennett
79aebd9a17
Fix warnings
2019-10-19 20:19:03 -07:00
Tiffany Bennett
294adcd6a3
Release v0.4.4
2019-01-15 20:29:03 -08:00
Tiffany Bennett
a7d76f922d
Fix warnings about AsciiExt
2019-01-15 20:28:32 -08:00
Tiffany Bennett
0755cb5f9d
Update rust-gmp
2019-01-15 20:23:37 -08:00
Tiffany Bennett
f6e4a9a00a
Remove changelog from readme (use tag descriptions instead)
2019-01-15 19:26:03 -08:00
Tiffany Bennett
832d03d48f
Merge pull request #37 from yzhs/flags
...
Handle command line arguments, addresses #29
2018-11-20 19:23:22 -08:00
Colin Benner
60e644d17d
Fix pattern in kcov invocation
...
The old pattern would ignore test executables whose file name ends with
a 'd'. This should not happen any longer
2018-11-20 22:26:35 +01:00
Colin Benner
5beb4ba987
Handle file not found gracefully
...
If the input file provided on the command line cannot be opened, reprt
an error, rather than unwrapping.
2018-11-20 07:13:13 +01:00
Colin Benner
e8dd3a0b9e
Also support -V
and --version
2018-11-20 07:13:02 +01:00
Colin Benner
94e7bd00b1
Support -
h and --help
...
Print a usage message when called with `-h` or `--help`, or when called
with the wrong number of arguments.
2018-11-20 07:11:57 +01:00
Tiffany Bennett
002a87d88b
Add Travis & Codecov badges to readme
2018-11-15 21:02:58 -08:00
Tiffany Bennett
8f7642efe9
Merge pull request #36 from yzhs/add-tests
...
Tests
2018-11-15 20:30:49 -08:00
Colin Benner
4a41da18c8
Fix typo
2018-11-15 22:32:36 +01:00
Colin Benner
5f37f1506c
Test chemical formulas containing larger numbers
2018-11-15 22:32:36 +01:00
Colin Benner
f7bf043836
Test formula.rs
2018-11-15 22:32:36 +01:00
Colin Benner
d54d410d15
Document what substance_from_formula
does
2018-11-15 22:32:36 +01:00
Colin Benner
f97a076f52
Test additional cases in date::attempt
2018-11-15 22:32:36 +01:00
Colin Benner
d609611454
Test parse_datepattern
2018-11-15 22:32:32 +01:00
Colin Benner
963e2494ec
Test try_decode
failure case
2018-11-15 22:31:46 +01:00
Colin Benner
9cf86a5839
Test more cases in parse_{weekday, monthname}
2018-11-15 22:31:46 +01:00
Colin Benner
a3e061f0ca
Test definition with doc
2018-11-15 22:31:46 +01:00
Colin Benner
67e98857de
Test conversion to list
2018-11-15 22:31:46 +01:00
Colin Benner
62459d05b5
Make sure there is no call on the right hand side
2018-11-15 22:31:46 +01:00
Colin Benner
ebb6326503
Test try_decode
2018-11-15 22:31:46 +01:00
Colin Benner
7c35cbc9f0
Test 'now' and date arithmetic
2018-11-15 22:31:46 +01:00
Colin Benner
caa504da6a
Test unspecified base
2018-11-15 22:31:46 +01:00
Colin Benner
cffc40b1b3
Test timezone conversion
2018-11-15 22:31:46 +01:00
Colin Benner
94de4c033a
Test escape sequences between single quotes
2018-11-15 22:31:46 +01:00
Colin Benner
72a4e8e01f
Add more tests for text_query
2018-11-15 22:31:46 +01:00
Colin Benner
ec3bc1273e
Test fractional seconds
2018-11-15 22:31:46 +01:00
Colin Benner
77cfd49454
Fix bug found by test_date_input
2018-11-15 22:31:46 +01:00
Colin Benner
54ffee9945
Another test for the date parser
2018-11-15 22:31:36 +01:00
Colin Benner
16ecadb90c
Add a few more tests for text_query.rs
2018-11-15 21:51:51 +01:00
Colin Benner
317f07c3b9
Start testing input in different bases
2018-11-15 21:51:51 +01:00
Colin Benner
f396f8176e
Add tests for binary function error cases
2018-11-15 21:51:51 +01:00