reactive_graph_std_value/
providers.rs

1use 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}