@@ -1125,166 +1125,4 @@ impl<CT: ComponentType> Graph<CT> {
11251125}
11261126
11271127#[ cfg( test) ]
1128- mod tests {
1129-
1130- use super :: * ;
1131- use crate :: types:: { AnnoKey , Annotation , DefaultComponentType , Edge } ;
1132-
1133- #[ test]
1134- fn create_writeable_gs ( ) {
1135- let mut db = Graph :: < DefaultComponentType > :: new ( false ) . unwrap ( ) ;
1136-
1137- let anno_key = AnnoKey {
1138- ns : "test" . into ( ) ,
1139- name : "edge_anno" . into ( ) ,
1140- } ;
1141- let anno_val = "testValue" . into ( ) ;
1142-
1143- let component = Component :: new ( DefaultComponentType :: Edge , "test" . into ( ) , "dep" . into ( ) ) ;
1144- let gs: & mut dyn WriteableGraphStorage = db. get_or_create_writable ( & component) . unwrap ( ) ;
1145-
1146- gs. add_edge ( Edge {
1147- source : 0 ,
1148- target : 1 ,
1149- } )
1150- . unwrap ( ) ;
1151-
1152- gs. add_edge_annotation (
1153- Edge {
1154- source : 0 ,
1155- target : 1 ,
1156- } ,
1157- Annotation {
1158- key : anno_key,
1159- val : anno_val,
1160- } ,
1161- )
1162- . unwrap ( ) ;
1163- }
1164-
1165- #[ test]
1166- fn load_existing_graph_storage ( ) {
1167- let mut db = Graph :: < DefaultComponentType > :: new ( false ) . unwrap ( ) ;
1168-
1169- let component = Component :: new ( DefaultComponentType :: Edge , "test" . into ( ) , "dep" . into ( ) ) ;
1170- db. get_or_create_writable ( & component) . unwrap ( ) ;
1171-
1172- let tmp = tempfile:: tempdir ( ) . unwrap ( ) ;
1173-
1174- db. save_to ( tmp. path ( ) ) . unwrap ( ) ;
1175-
1176- let mut db = Graph :: new ( false ) . unwrap ( ) ;
1177- db. open ( tmp. path ( ) ) . unwrap ( ) ;
1178- assert_eq ! ( 1 , db. components. len( ) ) ;
1179- let gs = db. components . get ( & component) ;
1180- assert_eq ! ( true , gs. is_some( ) ) ;
1181- assert_eq ! ( false , gs. unwrap( ) . is_some( ) ) ;
1182-
1183- db. ensure_loaded ( & component) . unwrap ( ) ;
1184- assert_eq ! ( 1 , db. components. len( ) ) ;
1185- let gs = db. components . get ( & component) ;
1186- assert_eq ! ( true , gs. is_some( ) ) ;
1187- assert_eq ! ( true , gs. unwrap( ) . is_some( ) ) ;
1188- }
1189-
1190- #[ test]
1191- fn load_existing_graph_storage_parallel ( ) {
1192- let mut db = Graph :: < DefaultComponentType > :: new ( false ) . unwrap ( ) ;
1193-
1194- let component = Component :: new ( DefaultComponentType :: Edge , "test" . into ( ) , "dep" . into ( ) ) ;
1195- db. get_or_create_writable ( & component) . unwrap ( ) ;
1196-
1197- let tmp = tempfile:: tempdir ( ) . unwrap ( ) ;
1198-
1199- db. save_to ( tmp. path ( ) ) . unwrap ( ) ;
1200-
1201- let mut db = Graph :: new ( false ) . unwrap ( ) ;
1202- db. open ( tmp. path ( ) ) . unwrap ( ) ;
1203- assert_eq ! ( 1 , db. components. len( ) ) ;
1204- let gs = db. components . get ( & component) ;
1205- assert_eq ! ( true , gs. is_some( ) ) ;
1206- assert_eq ! ( false , gs. unwrap( ) . is_some( ) ) ;
1207-
1208- db. ensure_loaded_parallel ( & [ component. clone ( ) ] ) . unwrap ( ) ;
1209- assert_eq ! ( 1 , db. components. len( ) ) ;
1210- let gs = db. components . get ( & component) ;
1211- assert_eq ! ( true , gs. is_some( ) ) ;
1212- assert_eq ! ( true , gs. unwrap( ) . is_some( ) ) ;
1213- }
1214-
1215- #[ test]
1216- fn load_non_existing_graph_storage_parallel ( ) {
1217- let mut db = Graph :: < DefaultComponentType > :: new ( false ) . unwrap ( ) ;
1218-
1219- let component = Component :: new ( DefaultComponentType :: Edge , "test" . into ( ) , "dep" . into ( ) ) ;
1220-
1221- let tmp = tempfile:: tempdir ( ) . unwrap ( ) ;
1222-
1223- db. save_to ( tmp. path ( ) ) . unwrap ( ) ;
1224-
1225- let mut db = Graph :: new ( false ) . unwrap ( ) ;
1226- db. open ( tmp. path ( ) ) . unwrap ( ) ;
1227-
1228- db. ensure_loaded_parallel ( & [ component] ) . unwrap ( ) ;
1229- assert_eq ! ( 0 , db. components. len( ) ) ;
1230- }
1231-
1232- #[ test]
1233- fn load_with_wal_file ( ) {
1234- let mut db = Graph :: < DefaultComponentType > :: new ( false ) . unwrap ( ) ;
1235- let example_node = 0 ;
1236- db. node_annos
1237- . insert (
1238- example_node,
1239- Annotation {
1240- key : NODE_TYPE_KEY . as_ref ( ) . clone ( ) ,
1241- val : "corpus" . into ( ) ,
1242- } ,
1243- )
1244- . unwrap ( ) ;
1245- db. node_annos
1246- . insert (
1247- example_node,
1248- Annotation {
1249- key : NODE_NAME_KEY . as_ref ( ) . clone ( ) ,
1250- val : "root" . into ( ) ,
1251- } ,
1252- )
1253- . unwrap ( ) ;
1254-
1255- let tmp = tempfile:: tempdir ( ) . unwrap ( ) ;
1256- // Save and remember the location, so that updates are recorded in a WAL
1257- // file
1258- db. persist_to ( tmp. path ( ) ) . unwrap ( ) ;
1259-
1260- // Add an node annotation with apply_update
1261- let mut u = GraphUpdate :: new ( ) ;
1262- u. add_event ( UpdateEvent :: AddNodeLabel {
1263- node_name : "root" . into ( ) ,
1264- anno_ns : "example" . into ( ) ,
1265- anno_name : "anno-name" . into ( ) ,
1266- anno_value : "anno-value" . into ( ) ,
1267- } )
1268- . unwrap ( ) ;
1269- db. apply_update ( & mut u, |_| { } ) . unwrap ( ) ;
1270-
1271- std:: mem:: drop ( db) ;
1272-
1273- // Check that loading the database again contains the changes
1274- let mut db = Graph :: < DefaultComponentType > :: new ( false ) . unwrap ( ) ;
1275- db. open ( tmp. path ( ) ) . unwrap ( ) ;
1276- db. ensure_loaded_all ( ) . unwrap ( ) ;
1277- let anno_value = db
1278- . node_annos
1279- . get_value_for_item (
1280- & example_node,
1281- & AnnoKey {
1282- name : "anno-name" . into ( ) ,
1283- ns : "example" . into ( ) ,
1284- } ,
1285- )
1286- . unwrap ( )
1287- . unwrap ( ) ;
1288- assert_eq ! ( "anno-value" , anno_value) ;
1289- }
1290- }
1128+ mod tests;
0 commit comments