| pub mod dynamic_executor; | |
| pub mod node_registry; | |
| pub mod util; | |
| mod tests { | |
| use futures::executor::block_on; | |
| use graphene_core::*; | |
| fn double_number() { | |
| use graph_craft::document::*; | |
| use graph_craft::*; | |
| let network = NodeNetwork { | |
| exports: vec![NodeInput::node(NodeId(1), 0)], | |
| nodes: [ | |
| // Simple identity node taking a number as input from outside the graph | |
| ( | |
| NodeId(0), | |
| DocumentNode { | |
| inputs: vec![NodeInput::network(concrete!(u32), 0)], | |
| implementation: DocumentNodeImplementation::ProtoNode(ProtoNodeIdentifier::new("graphene_core::ops::IdentityNode")), | |
| ..Default::default() | |
| }, | |
| ), | |
| // An add node adding the result of the id node to its self | |
| ( | |
| NodeId(1), | |
| DocumentNode { | |
| inputs: vec![NodeInput::node(NodeId(0), 0), NodeInput::node(NodeId(0), 0)], | |
| implementation: DocumentNodeImplementation::ProtoNode(ProtoNodeIdentifier::new("graphene_core::ops::AddNode")), | |
| ..Default::default() | |
| }, | |
| ), | |
| ] | |
| .into_iter() | |
| .collect(), | |
| ..Default::default() | |
| }; | |
| use crate::dynamic_executor::DynamicExecutor; | |
| use graph_craft::graphene_compiler::Compiler; | |
| let compiler = Compiler {}; | |
| let protograph = compiler.compile_single(network).expect("Graph should be generated"); | |
| let _exec = block_on(DynamicExecutor::new(protograph)).map(|_e| panic!("The network should not type check ")).unwrap_err(); | |
| } | |
| } | |