use gun::core::GunCore;
use gun::storage::MemoryStorage;
use std::sync::Arc;
#[test]
fn test_gun_core_new() {
let core = GunCore::new();
let uuid = core.uuid(None);
assert!(!uuid.is_empty());
}
#[test]
fn test_gun_core_with_storage() {
let storage = Arc::new(MemoryStorage::new());
let core = GunCore::with_storage(storage);
assert!(core.storage.is_some());
}
#[test]
fn test_gun_core_uuid_generation() {
let core = GunCore::new();
let uuid1 = core.uuid(None);
let uuid2 = core.uuid(None);
let uuid3 = core.uuid(None);
assert_ne!(uuid1, uuid2);
assert_ne!(uuid2, uuid3);
assert_ne!(uuid1, uuid3);
}
#[test]
fn test_gun_core_uuid_format() {
let core = GunCore::new();
let uuid = core.uuid(None);
assert!(!uuid.is_empty());
assert!(uuid.len() > 10); }
#[test]
fn test_gun_core_uuid_custom_length() {
let core = GunCore::new();
let uuid = core.uuid(Some(20));
assert!(!uuid.is_empty());
}
#[test]
fn test_gun_core_random_id() {
let core = GunCore::new();
let id1 = core.random_id(10);
let id2 = core.random_id(10);
assert_ne!(id1, id2);
assert_eq!(id1.len(), 10);
assert_eq!(id2.len(), 10);
}
#[test]
fn test_gun_core_random_id_lengths() {
let core = GunCore::new();
assert_eq!(core.random_id(5).len(), 5);
assert_eq!(core.random_id(15).len(), 15);
assert_eq!(core.random_id(100).len(), 100);
}
#[test]
fn test_gun_core_next_chain_id() {
let core = GunCore::new();
let id1 = core.next_chain_id();
let id2 = core.next_chain_id();
let id3 = core.next_chain_id();
assert_eq!(id1 + 1, id2);
assert_eq!(id2 + 1, id3);
}
#[test]
fn test_gun_core_component_integration() {
let core = GunCore::new();
assert!(core.graph.get("test").is_none()); let _uuid = core.uuid(None); let _state = core.state.next(); let _id = core.next_chain_id(); }
#[test]
fn test_gun_core_default() {
let core = GunCore::default();
let uuid = core.uuid(None);
assert!(!uuid.is_empty());
}