From 94105daca162be3c3a32a1e21595cbe3dc63edaa Mon Sep 17 00:00:00 2001 From: Markus Scully Date: Tue, 5 Aug 2025 11:40:56 +0300 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=E2=99=BB=EF=B8=8F=F0=9F=A7=AA=20vanth?= =?UTF-8?q?:=20Add=20From=20impl,=20make=20struct=20public,=20refactor=20t?= =?UTF-8?q?ests?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Implemented `From` for `HashedValue` - Made `ReferenceRetrievalTask` struct public - Removed extraneous space in `#[derive]` attribute for `ReferenceValue` - Consolidated integration tests into `tests/integration` directory - Added new `test_derive` function with debug output - Deleted obsolete test files: `main.rs`, `store.rs`, and `test_node.rs` --- crates/vanth/src/lib.rs | 13 ++++++-- .../vanth/tests/{ => integration}/derive.rs | 5 +++ .../tests/{fs/mod.rs => integration/fs.rs} | 0 .../{reference.rs => integration/main.rs} | 31 +++++++++++++++++++ crates/vanth/tests/main.rs | 0 crates/vanth/tests/store.rs | 24 -------------- crates/vanth/tests/test_node.rs | 7 ----- 7 files changed, 47 insertions(+), 33 deletions(-) rename crates/vanth/tests/{ => integration}/derive.rs (78%) rename crates/vanth/tests/{fs/mod.rs => integration/fs.rs} (100%) rename crates/vanth/tests/{reference.rs => integration/main.rs} (51%) delete mode 100644 crates/vanth/tests/main.rs delete mode 100644 crates/vanth/tests/store.rs delete mode 100644 crates/vanth/tests/test_node.rs diff --git a/crates/vanth/src/lib.rs b/crates/vanth/src/lib.rs index 9e08e6f..b2eace2 100644 --- a/crates/vanth/src/lib.rs +++ b/crates/vanth/src/lib.rs @@ -60,6 +60,15 @@ pub struct HashedValue { inner: Value } +impl From for HashedValue { + fn from(value: Value) -> Self { + Self { + content_hash: hash(&value), + inner: value, + } + } +} + #[derive(Clone, Debug, Deserialize, Serialize)] pub struct Value { ty: Ty, @@ -109,7 +118,7 @@ pub struct Reference { _marker: PhantomData } -#[derive( Clone, Debug, Deserialize, Component, Serialize)] +#[derive(Clone, Debug, Deserialize, Component, Serialize)] pub enum ReferenceValue { Absent, Retrieving(ReferenceRetrievalTask), @@ -127,7 +136,7 @@ impl Reference { } #[derive(Component, Clone, Debug, Deserialize, Serialize)] -struct ReferenceRetrievalTask { +pub struct ReferenceRetrievalTask { } diff --git a/crates/vanth/tests/derive.rs b/crates/vanth/tests/integration/derive.rs similarity index 78% rename from crates/vanth/tests/derive.rs rename to crates/vanth/tests/integration/derive.rs index 01a5a85..3b9fe46 100644 --- a/crates/vanth/tests/derive.rs +++ b/crates/vanth/tests/integration/derive.rs @@ -7,3 +7,8 @@ use vanth::Vanth; struct Foo { } + +#[test] +fn test_derive() { + println!("yeet"); +} diff --git a/crates/vanth/tests/fs/mod.rs b/crates/vanth/tests/integration/fs.rs similarity index 100% rename from crates/vanth/tests/fs/mod.rs rename to crates/vanth/tests/integration/fs.rs diff --git a/crates/vanth/tests/reference.rs b/crates/vanth/tests/integration/main.rs similarity index 51% rename from crates/vanth/tests/reference.rs rename to crates/vanth/tests/integration/main.rs index fb91860..6211317 100644 --- a/crates/vanth/tests/reference.rs +++ b/crates/vanth/tests/integration/main.rs @@ -1,6 +1,9 @@ use serde::{Deserialize, Serialize}; use vanth::{Component, Node, Reference}; +mod derive; +mod fs; + // #[test] // fn test_store() { // #[derive(Clone, Deserialize, Serialize)] @@ -26,3 +29,31 @@ use vanth::{Component, Node, Reference}; // node.save("entity_1", entity_components); // } + +// #[test] +// fn test_store() { +// #[derive(Deserialize, Serialize)] +// struct Foo { +// a: u32, +// b: f32, +// } + +// impl Component for Foo { +// fn id() -> String { +// "foo".into() +// } +// } + +// let node = Node::in_memory(); + +// let entity_id = "entity_1"; +// let entity_components = (Foo { a: 5, b: 6.0 },); + +// node.save("entity_1", entity_components); +// } + +// #[test] +// fn test_entity_count_zero() { +// let mut node = Node::new(); +// assert_eq!(node.entity_count(), 0); +// } diff --git a/crates/vanth/tests/main.rs b/crates/vanth/tests/main.rs deleted file mode 100644 index e69de29..0000000 diff --git a/crates/vanth/tests/store.rs b/crates/vanth/tests/store.rs deleted file mode 100644 index e1e2646..0000000 --- a/crates/vanth/tests/store.rs +++ /dev/null @@ -1,24 +0,0 @@ -use serde::{Deserialize, Serialize}; -use vanth::{Component, Node}; - -// #[test] -// fn test_store() { -// #[derive(Deserialize, Serialize)] -// struct Foo { -// a: u32, -// b: f32, -// } - -// impl Component for Foo { -// fn id() -> String { -// "foo".into() -// } -// } - -// let node = Node::in_memory(); - -// let entity_id = "entity_1"; -// let entity_components = (Foo { a: 5, b: 6.0 },); - -// node.save("entity_1", entity_components); -// } diff --git a/crates/vanth/tests/test_node.rs b/crates/vanth/tests/test_node.rs deleted file mode 100644 index e4249ab..0000000 --- a/crates/vanth/tests/test_node.rs +++ /dev/null @@ -1,7 +0,0 @@ -use vanth::Node; - -#[test] -fn test_entity_count_zero() { - let mut node = Node::new(); - assert_eq!(node.entity_count(), 0); -}