Решение на Logging от Даниела Русева
Обратно към всички решения
Към профила на Даниела Русева
Резултати
- 19 точки от тестове
- 0 бонус точки
- 19 точки общо
- 14 успешни тест(а)
- 1 неуспешни тест(а)
Код
Лог от изпълнението
Compiling solution v0.1.0 (/tmp/d20190123-22631-1s61bpx/solution)
Finished dev [unoptimized + debuginfo] target(s) in 5.58s
Running target/debug/deps/solution-2e785d603b538f71
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
Running target/debug/deps/solution_test-29808948fb50ed3a
running 15 tests
test solution_test::test_automatic_flushing_when_buffer_limit_is_reached ... ok
test solution_test::test_automatic_flushing_when_zero_buffer_limit ... FAILED
test solution_test::test_basic_log ... ok
test solution_test::test_basic_push ... ok
test solution_test::test_cloning_a_logger_shares_a_buffer ... ok
test solution_test::test_cloning_a_logger_shares_their_io ... ok
test solution_test::test_erroring_io ... ok
test solution_test::test_flushing_the_buffer ... ok
test solution_test::test_logger_combinations ... ok
test solution_test::test_multilogger_logs_and_flushes_when_needed ... ok
test solution_test::test_multilogger_logs_to_several_ios ... ok
test solution_test::test_reordering_logs_in_buffer ... ok
test solution_test::test_reordering_logs_in_io ... ok
test solution_test::test_scoped_logger ... ok
test solution_test::test_scoped_logger_with_a_string_tag ... ok
failures:
---- solution_test::test_automatic_flushing_when_zero_buffer_limit stdout ----
thread 'solution_test::test_automatic_flushing_when_zero_buffer_limit' panicked at 'assertion failed: `(left == right)`
left: `1`,
right: `0`', tests/solution_test.rs:210:9
note: Run with `RUST_BACKTRACE=1` for a backtrace.
failures:
solution_test::test_automatic_flushing_when_zero_buffer_limit
test result: FAILED. 14 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out
error: test failed, to rerun pass '--test solution_test'
История (1 версия и 3 коментара)
Даниела качи първо решение на 18.12.2018 02:39 (преди почти 7 години)
Харесва ми създаването на отделен тип за Event-и -- и аз така направих в моето решение :). Нещо, което можеше да направиш, е да имплементираш
PartialOrd
експлицитно, и там да сложиш сравнението им по time. Така щеше да можеш да ползвашsort_unstable
вместоsort_unstable_by
. Въпрос на вкус, донякъде.Хм, добра идея. Не се бях сетил да направя тест за двойни нови редове (и не съм сложил специален handling в моето решение).
Тук можеше да reuse-неш горния метод, но вероятно не си го направила с цел да не повтаряш clear-а. Можеше да го сложиш условно някак.
Друго нещо, което би могла да ползваш вместо това, е
drain
: https://doc.rust-lang.org/std/vec/struct.Vec.html#method.drain. Но не съм го пробвал. Трето нещо, което можеш да пробваш (което аз направих), е вместо вектор да използвамBinaryHeap
, който автоматично се поддържа в правилния ред.