comparison tests/farray-alist.t @ 743:6fcf7da87981

farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
author Franz Glasner <fzglas.hg@dom66.de>
date Tue, 08 Oct 2024 15:52:30 +0200
parents dae85cddc47b
children a5918c859fe9
comparison
equal deleted inserted replaced
742:5ba94d373199 743:6fcf7da87981
376 $ falist_release ARR 376 $ falist_release ARR
377 $ falist_release UPDATE1 377 $ falist_release UPDATE1
378 $ falist_release UPDATE2 378 $ falist_release UPDATE2
379 $ falist_release EMPTY 379 $ falist_release EMPTY
380 380
381 $ check_no_alist_artifacts
382
383
384 Merging
385 =======
386
387 $ falist_create RES
388 $ falist_create INPUT1 "K1" "V1" "K2" "V2" "K3" "V3"
389 $ falist_create INPUT2
390 $ falist_merge "$RES" "$INPUT1" "$INPUT2"
391 $ falist_release INPUT1
392 $ falist_release INPUT2
393 $ falist_debug RES
394 DEBUG: alist `RES' has length 3
395 DEBUG: the items:
396 DEBUG: `K1' -> `V1'
397 DEBUG: `K2' -> `V2'
398 DEBUG: `K3' -> `V3'
399 $ falist_release RES
400 $ check_no_alist_artifacts
401
402 $ falist_create RES
403 $ falist_create INPUT1
404 $ falist_create INPUT2 "k1" "v1" "k2" "v2" "k3" "v3"
405 $ falist_merge "$RES" "$INPUT1" "$INPUT2"
406 $ falist_release INPUT1
407 $ falist_release INPUT2
408 $ falist_debug RES
409 DEBUG: alist `RES' has length 3
410 DEBUG: the items:
411 DEBUG: `k1' -> `v1'
412 DEBUG: `k2' -> `v2'
413 DEBUG: `k3' -> `v3'
414 $ falist_release RES
415 $ check_no_alist_artifacts
416
417 $ falist_create RES
418 $ falist_create INPUT1 "K1" "V1" "K2" "V2" "K3" "V3"
419 $ falist_create INPUT2 "k1" "v1" "k2" "v2" "k3" "v3" "k4" "v4"
420 $ falist_merge "$RES" "$INPUT1" "$INPUT2"
421 $ falist_release INPUT1
422 $ falist_release INPUT2
423 $ falist_debug RES
424 DEBUG: alist `RES' has length 7
425 DEBUG: the items:
426 DEBUG: `K1' -> `V1'
427 DEBUG: `K2' -> `V2'
428 DEBUG: `K3' -> `V3'
429 DEBUG: `k1' -> `v1'
430 DEBUG: `k2' -> `v2'
431 DEBUG: `k3' -> `v3'
432 DEBUG: `k4' -> `v4'
433 $ falist_release RES
434 $ check_no_alist_artifacts
435
436 $ falist_create RES
437 $ falist_create INPUT1 "k1" "v1" "k2" "v2" "k3" "v3" "k4" "v4"
438 $ falist_create INPUT2 "K1" "V1" "K2" "V2" "K3" "V3"
439 $ falist_merge "$RES" "$INPUT1" "$INPUT2"
440 $ falist_release INPUT1
441 $ falist_release INPUT2
442 $ falist_debug RES
443 DEBUG: alist `RES' has length 7
444 DEBUG: the items:
445 DEBUG: `K1' -> `V1'
446 DEBUG: `K2' -> `V2'
447 DEBUG: `K3' -> `V3'
448 DEBUG: `k1' -> `v1'
449 DEBUG: `k2' -> `v2'
450 DEBUG: `k3' -> `v3'
451 DEBUG: `k4' -> `v4'
452 $ falist_release RES
453 $ check_no_alist_artifacts
454
455 $ falist_create RES
456 $ falist_create INPUT1 "K1" "V1" "K3" "V3" "k1" "v1" "k4" "v4"
457 $ falist_create INPUT2 "K2" "V2" "k2" "v2" "k3" "v3"
458 $ falist_merge "$RES" "$INPUT1" "$INPUT2"
459 $ falist_release INPUT1
460 $ falist_release INPUT2
461 $ falist_debug RES
462 DEBUG: alist `RES' has length 7
463 DEBUG: the items:
464 DEBUG: `K1' -> `V1'
465 DEBUG: `K2' -> `V2'
466 DEBUG: `K3' -> `V3'
467 DEBUG: `k1' -> `v1'
468 DEBUG: `k2' -> `v2'
469 DEBUG: `k3' -> `v3'
470 DEBUG: `k4' -> `v4'
471 $ falist_release RES
472 $ check_no_alist_artifacts
473
474 $ falist_create RES
475 $ falist_create INPUT1 "K1" "V1" "K3" "V3" "k1" "v1" "k4" "v4"
476 $ falist_create INPUT2 "K2" "V2" "k2" "v2" "k3" "v3"
477 $ falist_merge "$RES" INPUT2 INPUT1
478 $ falist_release INPUT1
479 $ falist_release INPUT2
480 $ falist_debug RES
481 DEBUG: alist `RES' has length 7
482 DEBUG: the items:
483 DEBUG: `K1' -> `V1'
484 DEBUG: `K2' -> `V2'
485 DEBUG: `K3' -> `V3'
486 DEBUG: `k1' -> `v1'
487 DEBUG: `k2' -> `v2'
488 DEBUG: `k3' -> `v3'
489 DEBUG: `k4' -> `v4'
490 $ falist_release RES
381 $ check_no_alist_artifacts 491 $ check_no_alist_artifacts
382 492
383 493
384 Items / Keys / Values 494 Items / Keys / Values
385 ===================== 495 =====================