reactive_graph_std_value/
providers.rs1use reactive_graph_plugin_api::prelude::providers::*;
2
3#[derive(TypeProvider, Component)]
4#[type_provider(tys = "Components", path = "types/components")]
5pub struct ValueComponentsProvider {}
6
7#[derive(TypeProvider, Component)]
8#[type_provider(tys = "EntityTypes", path = "types/entities")]
9pub struct ValueEntityTypesProvider {}
10
11#[cfg(test)]
12mod tests {
13 use reactive_graph_graph::prelude::*;
14
15 use reactive_graph_std_value_model::NAMESPACE_VALUE;
16
17 use super::*;
18
19 #[test]
20 fn components_should_exist() {
21 let expected_components = ComponentTypeIds::with_namespace(NAMESPACE_VALUE)
22 .ty("value_array")
23 .ty("value_boolean")
24 .ty("value_debugger_debug")
25 .ty("value_debugger_trace")
26 .ty("value_number")
27 .ty("value_object")
28 .ty("value_string");
29 let component_provider = ValueComponentsProvider {};
30 assert!(
31 component_provider
32 .get_types()
33 .iter()
34 .all(|component| expected_components.contains(component.key()))
35 );
36 }
37
38 #[test]
39 fn entity_types_should_exist() {
40 let expected_entity_types = EntityTypeIds::with_namespace(NAMESPACE_VALUE)
41 .ty("value_array")
42 .ty("value_boolean")
43 .ty("value_number")
44 .ty("value_object")
45 .ty("value_string");
46 let entity_type_provider = ValueEntityTypesProvider {};
47 assert!(
48 entity_type_provider
49 .get_types()
50 .iter()
51 .all(|entity_type| expected_entity_types.contains(entity_type.key()))
52 );
53 }
54}