Commit graph

476 commits

Author SHA1 Message Date
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