use chrono::Duration;
use tiny_counter::{EventStore, TimeUnit};
#[test]
fn multiple_constraints_all_must_pass() {
let store = EventStore::new();
store.record("auth");
let result = store
.limit()
.at_most("action", 10, TimeUnit::Hours)
.within("auth", Duration::hours(1))
.check_and_record("action");
assert!(result.is_ok());
}
#[test]
fn multiple_constraints_any_failure_rejects() {
let store = EventStore::new();
let result = store
.limit()
.at_most("action", 10, TimeUnit::Hours)
.within("auth", Duration::hours(1))
.check_and_record("action");
assert!(result.is_err());
}