@@ -522,49 +522,53 @@ pub struct NodeRelations {
522522// Helper functions
523523// ================
524524
525- #[ test]
526- fn test_tree ( ) {
527- let mut metadata = DocumentMetadata :: default ( ) ;
528- let root = LayerNodeIdentifier :: ROOT_PARENT ;
529- let metadata = & mut metadata;
530- root. push_child ( metadata, LayerNodeIdentifier :: new_unchecked ( NodeId ( 3 ) ) ) ;
531- assert_eq ! ( root. children( metadata) . collect:: <Vec <_>>( ) , vec![ LayerNodeIdentifier :: new_unchecked( NodeId ( 3 ) ) ] ) ;
532- root. push_child ( metadata, LayerNodeIdentifier :: new_unchecked ( NodeId ( 6 ) ) ) ;
533- assert_eq ! ( root. children( metadata) . map( LayerNodeIdentifier :: to_node) . collect:: <Vec <_>>( ) , vec![ NodeId ( 3 ) , NodeId ( 6 ) ] ) ;
534- assert_eq ! ( root. descendants( metadata) . map( LayerNodeIdentifier :: to_node) . collect:: <Vec <_>>( ) , vec![ NodeId ( 3 ) , NodeId ( 6 ) ] ) ;
535- LayerNodeIdentifier :: new_unchecked ( NodeId ( 3 ) ) . add_after ( metadata, LayerNodeIdentifier :: new_unchecked ( NodeId ( 4 ) ) ) ;
536- LayerNodeIdentifier :: new_unchecked ( NodeId ( 3 ) ) . add_before ( metadata, LayerNodeIdentifier :: new_unchecked ( NodeId ( 2 ) ) ) ;
537- LayerNodeIdentifier :: new_unchecked ( NodeId ( 6 ) ) . add_before ( metadata, LayerNodeIdentifier :: new_unchecked ( NodeId ( 5 ) ) ) ;
538- LayerNodeIdentifier :: new_unchecked ( NodeId ( 6 ) ) . add_after ( metadata, LayerNodeIdentifier :: new_unchecked ( NodeId ( 9 ) ) ) ;
539- LayerNodeIdentifier :: new_unchecked ( NodeId ( 6 ) ) . push_child ( metadata, LayerNodeIdentifier :: new_unchecked ( NodeId ( 8 ) ) ) ;
540- LayerNodeIdentifier :: new_unchecked ( NodeId ( 6 ) ) . push_front_child ( metadata, LayerNodeIdentifier :: new_unchecked ( NodeId ( 7 ) ) ) ;
541- root. push_front_child ( metadata, LayerNodeIdentifier :: new_unchecked ( NodeId ( 1 ) ) ) ;
542- assert_eq ! (
543- root. children( metadata) . map( LayerNodeIdentifier :: to_node) . collect:: <Vec <_>>( ) ,
544- vec![ NodeId ( 1 ) , NodeId ( 2 ) , NodeId ( 3 ) , NodeId ( 4 ) , NodeId ( 5 ) , NodeId ( 6 ) , NodeId ( 9 ) ]
545- ) ;
546- assert_eq ! (
547- root. descendants( metadata) . map( LayerNodeIdentifier :: to_node) . collect:: <Vec <_>>( ) ,
548- vec![ NodeId ( 1 ) , NodeId ( 2 ) , NodeId ( 3 ) , NodeId ( 4 ) , NodeId ( 5 ) , NodeId ( 6 ) , NodeId ( 7 ) , NodeId ( 8 ) , NodeId ( 9 ) ]
549- ) ;
550- assert_eq ! (
551- root. descendants( metadata) . map( LayerNodeIdentifier :: to_node) . rev( ) . collect:: <Vec <_>>( ) ,
552- vec![ NodeId ( 9 ) , NodeId ( 8 ) , NodeId ( 7 ) , NodeId ( 6 ) , NodeId ( 5 ) , NodeId ( 4 ) , NodeId ( 3 ) , NodeId ( 2 ) , NodeId ( 1 ) ]
553- ) ;
554- assert ! ( root. children( metadata) . all( |child| child. parent( metadata) == Some ( root) ) ) ;
555- LayerNodeIdentifier :: new_unchecked ( NodeId ( 6 ) ) . delete ( metadata) ;
556- LayerNodeIdentifier :: new_unchecked ( NodeId ( 1 ) ) . delete ( metadata) ;
557- LayerNodeIdentifier :: new_unchecked ( NodeId ( 9 ) ) . push_child ( metadata, LayerNodeIdentifier :: new_unchecked ( NodeId ( 10 ) ) ) ;
558- assert_eq ! (
559- root. children( metadata) . map( LayerNodeIdentifier :: to_node) . collect:: <Vec <_>>( ) ,
560- vec![ NodeId ( 2 ) , NodeId ( 3 ) , NodeId ( 4 ) , NodeId ( 5 ) , NodeId ( 9 ) ]
561- ) ;
562- assert_eq ! (
563- root. descendants( metadata) . map( LayerNodeIdentifier :: to_node) . collect:: <Vec <_>>( ) ,
564- vec![ NodeId ( 2 ) , NodeId ( 3 ) , NodeId ( 4 ) , NodeId ( 5 ) , NodeId ( 9 ) , NodeId ( 10 ) ]
565- ) ;
566- assert_eq ! (
567- root. descendants( metadata) . map( LayerNodeIdentifier :: to_node) . rev( ) . collect:: <Vec <_>>( ) ,
568- vec![ NodeId ( 10 ) , NodeId ( 9 ) , NodeId ( 5 ) , NodeId ( 4 ) , NodeId ( 3 ) , NodeId ( 2 ) ]
569- ) ;
525+ #[ cfg( test) ]
526+ mod tests {
527+ use super :: * ;
528+ #[ test]
529+ fn test_tree ( ) {
530+ let mut metadata = DocumentMetadata :: default ( ) ;
531+ let root = LayerNodeIdentifier :: ROOT_PARENT ;
532+ let metadata = & mut metadata;
533+ root. push_child ( metadata, LayerNodeIdentifier :: new_unchecked ( NodeId ( 3 ) ) ) ;
534+ assert_eq ! ( root. children( metadata) . collect:: <Vec <_>>( ) , vec![ LayerNodeIdentifier :: new_unchecked( NodeId ( 3 ) ) ] ) ;
535+ root. push_child ( metadata, LayerNodeIdentifier :: new_unchecked ( NodeId ( 6 ) ) ) ;
536+ assert_eq ! ( root. children( metadata) . map( LayerNodeIdentifier :: to_node) . collect:: <Vec <_>>( ) , vec![ NodeId ( 3 ) , NodeId ( 6 ) ] ) ;
537+ assert_eq ! ( root. descendants( metadata) . map( LayerNodeIdentifier :: to_node) . collect:: <Vec <_>>( ) , vec![ NodeId ( 3 ) , NodeId ( 6 ) ] ) ;
538+ LayerNodeIdentifier :: new_unchecked ( NodeId ( 3 ) ) . add_after ( metadata, LayerNodeIdentifier :: new_unchecked ( NodeId ( 4 ) ) ) ;
539+ LayerNodeIdentifier :: new_unchecked ( NodeId ( 3 ) ) . add_before ( metadata, LayerNodeIdentifier :: new_unchecked ( NodeId ( 2 ) ) ) ;
540+ LayerNodeIdentifier :: new_unchecked ( NodeId ( 6 ) ) . add_before ( metadata, LayerNodeIdentifier :: new_unchecked ( NodeId ( 5 ) ) ) ;
541+ LayerNodeIdentifier :: new_unchecked ( NodeId ( 6 ) ) . add_after ( metadata, LayerNodeIdentifier :: new_unchecked ( NodeId ( 9 ) ) ) ;
542+ LayerNodeIdentifier :: new_unchecked ( NodeId ( 6 ) ) . push_child ( metadata, LayerNodeIdentifier :: new_unchecked ( NodeId ( 8 ) ) ) ;
543+ LayerNodeIdentifier :: new_unchecked ( NodeId ( 6 ) ) . push_front_child ( metadata, LayerNodeIdentifier :: new_unchecked ( NodeId ( 7 ) ) ) ;
544+ root. push_front_child ( metadata, LayerNodeIdentifier :: new_unchecked ( NodeId ( 1 ) ) ) ;
545+ assert_eq ! (
546+ root. children( metadata) . map( LayerNodeIdentifier :: to_node) . collect:: <Vec <_>>( ) ,
547+ vec![ NodeId ( 1 ) , NodeId ( 2 ) , NodeId ( 3 ) , NodeId ( 4 ) , NodeId ( 5 ) , NodeId ( 6 ) , NodeId ( 9 ) ]
548+ ) ;
549+ assert_eq ! (
550+ root. descendants( metadata) . map( LayerNodeIdentifier :: to_node) . collect:: <Vec <_>>( ) ,
551+ vec![ NodeId ( 1 ) , NodeId ( 2 ) , NodeId ( 3 ) , NodeId ( 4 ) , NodeId ( 5 ) , NodeId ( 6 ) , NodeId ( 7 ) , NodeId ( 8 ) , NodeId ( 9 ) ]
552+ ) ;
553+ assert_eq ! (
554+ root. descendants( metadata) . map( LayerNodeIdentifier :: to_node) . rev( ) . collect:: <Vec <_>>( ) ,
555+ vec![ NodeId ( 9 ) , NodeId ( 8 ) , NodeId ( 7 ) , NodeId ( 6 ) , NodeId ( 5 ) , NodeId ( 4 ) , NodeId ( 3 ) , NodeId ( 2 ) , NodeId ( 1 ) ]
556+ ) ;
557+ assert ! ( root. children( metadata) . all( |child| child. parent( metadata) == Some ( root) ) ) ;
558+ LayerNodeIdentifier :: new_unchecked ( NodeId ( 6 ) ) . delete ( metadata) ;
559+ LayerNodeIdentifier :: new_unchecked ( NodeId ( 1 ) ) . delete ( metadata) ;
560+ LayerNodeIdentifier :: new_unchecked ( NodeId ( 9 ) ) . push_child ( metadata, LayerNodeIdentifier :: new_unchecked ( NodeId ( 10 ) ) ) ;
561+ assert_eq ! (
562+ root. children( metadata) . map( LayerNodeIdentifier :: to_node) . collect:: <Vec <_>>( ) ,
563+ vec![ NodeId ( 2 ) , NodeId ( 3 ) , NodeId ( 4 ) , NodeId ( 5 ) , NodeId ( 9 ) ]
564+ ) ;
565+ assert_eq ! (
566+ root. descendants( metadata) . map( LayerNodeIdentifier :: to_node) . collect:: <Vec <_>>( ) ,
567+ vec![ NodeId ( 2 ) , NodeId ( 3 ) , NodeId ( 4 ) , NodeId ( 5 ) , NodeId ( 9 ) , NodeId ( 10 ) ]
568+ ) ;
569+ assert_eq ! (
570+ root. descendants( metadata) . map( LayerNodeIdentifier :: to_node) . rev( ) . collect:: <Vec <_>>( ) ,
571+ vec![ NodeId ( 10 ) , NodeId ( 9 ) , NodeId ( 5 ) , NodeId ( 4 ) , NodeId ( 3 ) , NodeId ( 2 ) ]
572+ ) ;
573+ }
570574}
0 commit comments