use tiny_counter::EventStore;
#[test]
fn export_all_returns_all_events() {
let store = EventStore::new();
store.record_count("event1", 10);
store.record_count("event2", 20);
store.record_count("event3", 30);
let exported = store.export_all().unwrap();
assert_eq!(exported.len(), 3);
assert!(exported.contains_key("event1"));
assert!(exported.contains_key("event2"));
assert!(exported.contains_key("event3"));
}
#[test]
fn export_all_from_empty_store() {
let store = EventStore::new();
let exported = store.export_all().unwrap();
assert_eq!(exported.len(), 0);
}
#[test]
fn export_dirty_returns_only_modified() {
let store = EventStore::new();
store.record_count("event1", 10);
store.record_count("event2", 20);
store.reset_dirty();
store.record_count("event1", 5);
let exported = store.export_dirty().unwrap();
assert_eq!(exported.len(), 1);
assert!(exported.contains_key("event1"));
assert!(!exported.contains_key("event2"));
}
#[test]
fn export_all_preserves_counts() {
let store = EventStore::new();
store.record_count("event", 100);
let exported = store.export_all().unwrap();
let counter = &exported["event"];
let _ = counter; assert!(exported.contains_key("event"));
}