Clone
1
run 1330 TEST commit c46be74
ci-bot edited this page 2025-07-29 16:45:05 +00:00

Test Report

View CI Run 1330 | Commit c46be74

🧪 Test Report

Generated on 2025-07-29 18:45:02 CEST

🧾 General Info

  • duration: 7.9840569496154785
  • root: /workspace/tligui_y/slic
  • environment: {}

📋 Summary

  • Passed: 205
  • Failed: 51
  • Total: 256
  • Collected: 256

🔎 Tests

Passed (205)
  • 📄 test_utils_ask_yes_no.py

    Function: test_ask_yes_no

    • Test 1
      params: default=null, user_input="y", expected_output=true, expected_prompt="Question? [y/n] "

      📌 Runtime Parameters

      params:
        default: None
        user_input: y
        expected_output: True
        expected_prompt: Question? [y/n] 
      id: None-y-True-Question? [y/n] 
      

      📌 Setup phase

      duration:

      0.0007558288052678108
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008721440099179745
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0003316858783364296
      

      outcome:

      passed
      
    • Test 2
      params: default=null, user_input="yes", expected_output=true, expected_prompt="Question? [y/n] "

      📌 Runtime Parameters

      params:
        default: None
        user_input: yes
        expected_output: True
        expected_prompt: Question? [y/n] 
      id: None-yes-True-Question? [y/n] 
      

      📌 Setup phase

      duration:

      0.0003691818565130234
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005681200418621302
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019959104247391224
      

      outcome:

      passed
      
    • Test 3
      params: default=null, user_input="n", expected_output=false, expected_prompt="Question? [y/n] "

      📌 Runtime Parameters

      params:
        default: None
        user_input: n
        expected_output: False
        expected_prompt: Question? [y/n] 
      id: None-n-False-Question? [y/n] 
      

      📌 Setup phase

      duration:

      0.0003363490104675293
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006564848590642214
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021207286044955254
      

      outcome:

      passed
      
    • Test 4
      params: default=null, user_input="no", expected_output=false, expected_prompt="Question? [y/n] "

      📌 Runtime Parameters

      params:
        default: None
        user_input: no
        expected_output: False
        expected_prompt: Question? [y/n] 
      id: None-no-False-Question? [y/n] 
      

      📌 Setup phase

      duration:

      0.0003485889174044132
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005396588239818811
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002008369192481041
      

      outcome:

      passed
      
    • Test 5
      params: default=null, user_input=["maybe", "y"], expected_output=true, expected_prompt="Question? [y/n] "

      📌 Runtime Parameters

      params:
        default: None
        user_input:
          - maybe
          - y
        expected_output: True
        expected_prompt: Question? [y/n] 
      id: None-user_input4-True-Question? [y/n] 
      

      📌 Setup phase

      duration:

      0.00036093383096158504
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005559821147471666
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001944920513778925
      

      outcome:

      passed
      
    • Test 6
      params: default=null, user_input=["", "no"], expected_output=false, expected_prompt="Question? [y/n] "

      📌 Runtime Parameters

      params:
        default: None
        user_input:
          - (vide)
          - no
        expected_output: False
        expected_prompt: Question? [y/n] 
      id: None-user_input5-False-Question? [y/n] 
      

      📌 Setup phase

      duration:

      0.0003491088282316923
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000651779118925333
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001981901004910469
      

      outcome:

      passed
      
    • Test 7
      params: default=null, user_input=["invalid", "", "invalid", "yes"], expected_output=true, expected_prompt="Question? [y/n] "

      📌 Runtime Parameters

      params:
        default: None
        user_input:
          - invalid
          - (vide)
          - invalid
          - yes
        expected_output: True
        expected_prompt: Question? [y/n] 
      id: None-user_input6-True-Question? [y/n] 
      

      📌 Setup phase

      duration:

      0.00034334510564804077
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005623479373753071
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020666816271841526
      

      outcome:

      passed
      
    • Test 8
      params: default="y", user_input="y", expected_output=true, expected_prompt="Question? [Y/n] "

      📌 Runtime Parameters

      params:
        default: y
        user_input: y
        expected_output: True
        expected_prompt: Question? [Y/n] 
      id: y-y-True-Question? [Y/n] 
      

      📌 Setup phase

      duration:

      0.0003559358883649111
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005339509807527065
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001994050107896328
      

      outcome:

      passed
      
    • Test 9
      params: default="y", user_input="n", expected_output=false, expected_prompt="Question? [Y/n] "

      📌 Runtime Parameters

      params:
        default: y
        user_input: n
        expected_output: False
        expected_prompt: Question? [Y/n] 
      id: y-n-False-Question? [Y/n] 
      

      📌 Setup phase

      duration:

      0.0003450110089033842
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005424059927463531
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020247185602784157
      

      outcome:

      passed
      
    • Test 10
      params: default="y", user_input="", expected_output=true, expected_prompt="Question? [Y/n] "

      📌 Runtime Parameters

      params:
        default: y
        user_input: None
        expected_output: True
        expected_prompt: Question? [Y/n] 
      id: y--True-Question? [Y/n] 
      

      📌 Setup phase

      duration:

      0.0003472359385341406
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006398120895028114
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020095007494091988
      

      outcome:

      passed
      
    • Test 11
      params: default="n", user_input="y", expected_output=true, expected_prompt="Question? [y/N] "

      📌 Runtime Parameters

      params:
        default: n
        user_input: y
        expected_output: True
        expected_prompt: Question? [y/N] 
      id: n-y-True-Question? [y/N] 
      

      📌 Setup phase

      duration:

      0.000342964893206954
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000506573123857379
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001984040718525648
      

      outcome:

      passed
      
    • Test 12
      params: default="n", user_input="n", expected_output=false, expected_prompt="Question? [y/N] "

      📌 Runtime Parameters

      params:
        default: n
        user_input: n
        expected_output: False
        expected_prompt: Question? [y/N] 
      id: n-n-False-Question? [y/N] 
      

      📌 Setup phase

      duration:

      0.00044917198829352856
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005450209137052298
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001962529495358467
      

      outcome:

      passed
      
    • Test 13
      params: default="n", user_input="", expected_output=false, expected_prompt="Question? [y/N] "

      📌 Runtime Parameters

      params:
        default: n
        user_input: None
        expected_output: False
        expected_prompt: Question? [y/N] 
      id: n--False-Question? [y/N] 
      

      📌 Setup phase

      duration:

      0.00032990099862217903
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005123058799654245
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001974648330360651
      

      outcome:

      passed
      

    Function: test_ask_yes_no_ctrl_c

    • Test 14
      params: default=null, user_input="", expected_output=false, ctrl_c="n"

      📌 Runtime Parameters

      params:
        default: None
        user_input: <class 'KeyboardInterrupt'>
        expected_output: False
        ctrl_c: n
      id: None-KeyboardInterrupt-False-n
      

      📌 Setup phase

      duration:

      0.0003321240656077862
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006482689641416073
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019753305241465569
      

      outcome:

      passed
      
    • Test 15
      params: default=null, user_input="", expected_output=true, ctrl_c="y"

      📌 Runtime Parameters

      params:
        default: None
        user_input: <class 'KeyboardInterrupt'>
        expected_output: True
        ctrl_c: y
      id: None-KeyboardInterrupt-True-y
      

      📌 Setup phase

      duration:

      0.00033546704798936844
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005257951561361551
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019639008678495884
      

      outcome:

      passed
      
    • Test 16
      params: default="y", user_input="", expected_output=false, ctrl_c="n"

      📌 Runtime Parameters

      params:
        default: y
        user_input: <class 'KeyboardInterrupt'>
        expected_output: False
        ctrl_c: n
      id: y-KeyboardInterrupt-False-n
      

      📌 Setup phase

      duration:

      0.000346343033015728
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005444020498543978
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001961959060281515
      

      outcome:

      passed
      
    • Test 17
      params: default="y", user_input="", expected_output=true, ctrl_c="y"

      📌 Runtime Parameters

      params:
        default: y
        user_input: <class 'KeyboardInterrupt'>
        expected_output: True
        ctrl_c: y
      id: y-KeyboardInterrupt-True-y
      

      📌 Setup phase

      duration:

      0.0003497109282761812
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005312571302056313
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000218577915802598
      

      outcome:

      passed
      
    • Test 18
      params: default="n", user_input="", expected_output=false, ctrl_c="n"

      📌 Runtime Parameters

      params:
        default: n
        user_input: <class 'KeyboardInterrupt'>
        expected_output: False
        ctrl_c: n
      id: n-KeyboardInterrupt-False-n
      

      📌 Setup phase

      duration:

      0.0003298770170658827
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006255540065467358
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002058129757642746
      

      outcome:

      passed
      
    • Test 19
      params: default=null, user_input="['invalid', '', 'invalid', ]", expected_output=false, ctrl_c="n"

      📌 Runtime Parameters

      params:
        default: None
        user_input: ['invalid', '', 'invalid', <class 'KeyboardInterrupt'>]
        expected_output: False
        ctrl_c: n
      id: None-user_input5-False-n
      

      📌 Setup phase

      duration:

      0.00033638300374150276
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005633588880300522
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019225687719881535
      

      outcome:

      passed
      
    • Test 20
      params: default=null, user_input="['invalid', '', 'invalid', ]", expected_output=true, ctrl_c="y"

      📌 Runtime Parameters

      params:
        default: None
        user_input: ['invalid', '', 'invalid', <class 'KeyboardInterrupt'>]
        expected_output: True
        ctrl_c: y
      id: None-user_input6-True-y
      

      📌 Setup phase

      duration:

      0.00033365399576723576
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006458910647779703
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020425394177436829
      

      outcome:

      passed
      
    • Test 21
      params: default=null, user_input="['foo', '', , '', 'invalid', , 'no']", expected_output=false, ctrl_c=null

      📌 Runtime Parameters

      params:
        default: None
        user_input: ['foo', '', <class 'KeyboardInterrupt'>, '', 'invalid', <class 'KeyboardInterrupt'>, 'no']
        expected_output: False
        ctrl_c: None
      id: None-user_input7-False-None
      

      📌 Setup phase

      duration:

      0.0003389059565961361
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007156720384955406
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00024244701489806175
      

      outcome:

      passed
      
    • Test 22
      params: default="n", user_input="[, , , '']", expected_output=false, ctrl_c=null

      📌 Runtime Parameters

      params:
        default: n
        user_input: [<class 'KeyboardInterrupt'>, <class 'KeyboardInterrupt'>, <class 'KeyboardInterrupt'>, '']
        expected_output: False
        ctrl_c: None
      id: n-user_input8-False-None
      

      📌 Setup phase

      duration:

      0.0003345480654388666
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005802388768643141
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019771698862314224
      

      outcome:

      passed
      
    • Test 23
      params: default="n", user_input="[, , , '']", expected_output=false, ctrl_c="Invalid"

      📌 Runtime Parameters

      params:
        default: n
        user_input: [<class 'KeyboardInterrupt'>, <class 'KeyboardInterrupt'>, <class 'KeyboardInterrupt'>, '']
        expected_output: False
        ctrl_c: Invalid
      id: n-user_input9-False-Invalid
      

      📌 Setup phase

      duration:

      0.00035063689574599266
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005558098200708628
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019478099420666695
      

      outcome:

      passed
      

    Function: test_ask_yes_no_ctrl_d

    • Test 24
      params: default=null, user_input="", expected_output=false, ctrl_d="n"

      📌 Runtime Parameters

      params:
        default: None
        user_input: <class 'EOFError'>
        expected_output: False
        ctrl_d: n
      id: None-EOFError-False-n
      

      📌 Setup phase

      duration:

      0.0003343350253999233
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005104390438646078
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020157895050942898
      

      outcome:

      passed
      
    • Test 25
      params: default=null, user_input="", expected_output=true, ctrl_d="y"

      📌 Runtime Parameters

      params:
        default: None
        user_input: <class 'EOFError'>
        expected_output: True
        ctrl_d: y
      id: None-EOFError-True-y
      

      📌 Setup phase

      duration:

      0.00034530600532889366
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006304860580712557
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001985379494726658
      

      outcome:

      passed
      
    • Test 26
      params: default="y", user_input="", expected_output=true, ctrl_d="y"

      📌 Runtime Parameters

      params:
        default: y
        user_input: <class 'EOFError'>
        expected_output: True
        ctrl_d: y
      id: y-EOFError-True-y
      

      📌 Setup phase

      duration:

      0.0003471339587122202
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005350671708583832
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002603719476610422
      

      outcome:

      passed
      
    • Test 27
      params: default="n", user_input="", expected_output=true, ctrl_d="y"

      📌 Runtime Parameters

      params:
        default: n
        user_input: <class 'EOFError'>
        expected_output: True
        ctrl_d: y
      id: n-EOFError-True-y
      

      📌 Setup phase

      duration:

      0.0003410701174288988
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005582589656114578
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020053796470165253
      

      outcome:

      passed
      
    • Test 28
      params: default="n", user_input="", expected_output=false, ctrl_d="n"

      📌 Runtime Parameters

      params:
        default: n
        user_input: <class 'EOFError'>
        expected_output: False
        ctrl_d: n
      id: n-EOFError-False-n
      

      📌 Setup phase

      duration:

      0.00035741901956498623
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006448761560022831
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002177860587835312
      

      outcome:

      passed
      
    • Test 29
      params: default=null, user_input="['foo', ]", expected_output=true, ctrl_d="y"

      📌 Runtime Parameters

      params:
        default: None
        user_input: ['foo', <class 'EOFError'>]
        expected_output: True
        ctrl_d: y
      id: None-user_input5-True-y
      

      📌 Setup phase

      duration:

      0.0003531891852617264
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005452369805425406
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001928431447595358
      

      outcome:

      passed
      
    • Test 30
      params: default=null, user_input="['foo', ]", expected_output=false, ctrl_d="n"

      📌 Runtime Parameters

      params:
        default: None
        user_input: ['foo', <class 'EOFError'>]
        expected_output: False
        ctrl_d: n
      id: None-user_input6-False-n
      

      📌 Setup phase

      duration:

      0.00037834886461496353
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000540412962436676
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018950016237795353
      

      outcome:

      passed
      
    • Test 31
      params: default="y", user_input="", expected_output=true, ctrl_d=null

      📌 Runtime Parameters

      params:
        default: y
        user_input: <class 'EOFError'>
        expected_output: True
        ctrl_d: None
      id: y-EOFError-True-None
      

      📌 Setup phase

      duration:

      0.00033966219052672386
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005314890295267105
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019519985653460026
      

      outcome:

      passed
      
    • Test 32
      params: default="n", user_input="", expected_output=false, ctrl_d=null

      📌 Runtime Parameters

      params:
        default: n
        user_input: <class 'EOFError'>
        expected_output: False
        ctrl_d: None
      id: n-EOFError-False-None
      

      📌 Setup phase

      duration:

      0.0003265100531280041
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006307510193437338
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019772304221987724
      

      outcome:

      passed
      
    • Test 33
      params: default=null, user_input="['invalid', 'ok', '', , 'ok', 'y']", expected_output=true, ctrl_d=null

      📌 Runtime Parameters

      params:
        default: None
        user_input: ['invalid', 'ok', '', <class 'EOFError'>, 'ok', 'y']
        expected_output: True
        ctrl_d: None
      id: None-user_input9-True-None
      

      📌 Setup phase

      duration:

      0.00033877184614539146
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005945570301264524
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002081750426441431
      

      outcome:

      passed
      
    • Test 34
      params: default="n", user_input="['no', ]", expected_output=false, ctrl_d=null

      📌 Runtime Parameters

      params:
        default: n
        user_input: ['no', <class 'EOFError'>]
        expected_output: False
        ctrl_d: None
      id: n-user_input10-False-None
      

      📌 Setup phase

      duration:

      0.00033881119452416897
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005308790132403374
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019365898333489895
      

      outcome:

      passed
      
    • Test 35
      params: default=null, user_input="[, , , 'y']", expected_output=true, ctrl_d=null

      📌 Runtime Parameters

      params:
        default: None
        user_input: [<class 'EOFError'>, <class 'EOFError'>, <class 'EOFError'>, 'y']
        expected_output: True
        ctrl_d: None
      id: None-user_input11-True-None
      

      📌 Setup phase

      duration:

      0.0003604758530855179
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005634070839732885
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002973009832203388
      

      outcome:

      passed
      
    • Test 36
      params: default=null, user_input="['invalid', '', 'nope', ]", expected_output=false, ctrl_d="n"

      📌 Runtime Parameters

      params:
        default: None
        user_input: ['invalid', '', 'nope', <class 'EOFError'>]
        expected_output: False
        ctrl_d: n
      id: None-user_input12-False-n
      

      📌 Setup phase

      duration:

      0.0003535670693963766
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005541848950088024
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019793398678302765
      

      outcome:

      passed
      
    • Test 37
      params: default=null, user_input="['nope', 'nope', ]", expected_output=true, ctrl_d="y"

      📌 Runtime Parameters

      params:
        default: None
        user_input: ['nope', 'nope', <class 'EOFError'>]
        expected_output: True
        ctrl_d: y
      id: None-user_input13-True-y
      

      📌 Setup phase

      duration:

      0.0003410349600017071
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005655321292579174
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021606218069791794
      

      outcome:

      passed
      

    Function: test_ask_yes_no_mixed_sequences

    • Test 38
      params: default=null, ctrl_c="invalid", ctrl_d=null, user_input="['what', '', 'nope', , 'ok', , 'no']", expected_output=false

      📌 Runtime Parameters

      params:
        default: None
        ctrl_c: invalid
        ctrl_d: None
        user_input: ['what', '', 'nope', <class 'KeyboardInterrupt'>, 'ok', <class 'EOFError'>, 'no']
        expected_output: False
      id: None-invalid-None-user_input0-False
      

      📌 Setup phase

      duration:

      0.0004087828565388918
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006537209264934063
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002391368616372347
      

      outcome:

      passed
      
    • Test 39
      params: default=null, ctrl_c=null, ctrl_d="notananswer", user_input="['maybe', , 'nop', 'yep', , 'yes']", expected_output=true

      📌 Runtime Parameters

      params:
        default: None
        ctrl_c: None
        ctrl_d: notananswer
        user_input: ['maybe', <class 'KeyboardInterrupt'>, 'nop', 'yep', <class 'EOFError'>, 'yes']
        expected_output: True
      id: None-None-notananswer-user_input1-True
      

      📌 Setup phase

      duration:

      0.00039872806519269943
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0011406210251152515
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002028129529207945
      

      outcome:

      passed
      
    • Test 40
      params: default=null, ctrl_c="n", ctrl_d="nop", user_input="['ok', , , 'maybe', , 'nah', ]", expected_output=false

      📌 Runtime Parameters

      params:
        default: None
        ctrl_c: n
        ctrl_d: nop
        user_input: ['ok', <class 'EOFError'>, <class 'EOFError'>, 'maybe', <class 'EOFError'>, 'nah', <class 'KeyboardInterrupt'>]
        expected_output: False
      id: None-n-nop-user_input2-False
      

      📌 Setup phase

      duration:

      0.00041199312545359135
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005915798246860504
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021754601038992405
      

      outcome:

      passed
      
  • 📄 test_utils_channels.py

    Function: test_load_channels_and_channels_class_with_professional_names

    • Test 41

      📌 Setup phase

      duration:

      0.00016111391596496105
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0011619159486144781
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012400583364069462
      

      outcome:

      passed
      
  • 📄 test_utils_cpint.py

    Function: test_load_color_variants_all_keys_and_types

    • Test 42
      params: base_color="red"

      📌 Runtime Parameters

      params:
        base_color: red
      id: red
      

      📌 Setup phase

      duration:

      0.00021110987290740013
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001728460192680359
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019620591774582863
      

      outcome:

      passed
      
    • Test 43
      params: base_color="blue"

      📌 Runtime Parameters

      params:
        base_color: blue
      id: blue
      

      📌 Setup phase

      duration:

      0.00019580405205488205
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015637697651982307
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013422593474388123
      

      outcome:

      passed
      
    • Test 44
      params: base_color="yellow"

      📌 Runtime Parameters

      params:
        base_color: yellow
      id: yellow
      

      📌 Setup phase

      duration:

      0.000179423950612545
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001507860142737627
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001301600132137537
      

      outcome:

      passed
      
    • Test 45
      params: base_color="green"

      📌 Runtime Parameters

      params:
        base_color: green
      id: green
      

      📌 Setup phase

      duration:

      0.0001812258269637823
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017238478176295757
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013631093315780163
      

      outcome:

      passed
      
    • Test 46
      params: base_color="cyan"

      📌 Runtime Parameters

      params:
        base_color: cyan
      id: cyan
      

      📌 Setup phase

      duration:

      0.00017883512191474438
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017719902098178864
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012307707220315933
      

      outcome:

      passed
      
    • Test 47
      params: base_color="magenta"

      📌 Runtime Parameters

      params:
        base_color: magenta
      id: magenta
      

      📌 Setup phase

      duration:

      0.00018938211724162102
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015838700346648693
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001232100185006857
      

      outcome:

      passed
      
    • Test 48
      params: base_color="white"

      📌 Runtime Parameters

      params:
        base_color: white
      id: white
      

      📌 Setup phase

      duration:

      0.0001932589802891016
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016358215361833572
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001247781328856945
      

      outcome:

      passed
      
    • Test 49
      params: base_color="black"

      📌 Runtime Parameters

      params:
        base_color: black
      id: black
      

      📌 Setup phase

      duration:

      0.0002133469097316265
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001492088194936514
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012590596452355385
      

      outcome:

      passed
      

    Function: test_cprint_all_cases_fancy

    • Test 50
      params: objects=[["Fancy", "list"], {"a": 7}, null], color_spec=["red", "+"], sep=" | ", expected_flatten="['Fancy', 'list'] | {'a': 7} | None", expected_error=null

      📌 Runtime Parameters

      params:
        objects:
          -       - Fancy
            - list
          -       a: 7
          - (vide)
        color_spec:
          - red
          - +
        sep:  | 
        expected_flatten: ['Fancy', 'list'] | {'a': 7} | None
        expected_error: None
      id: objects0-color_spec0- | -['Fancy', 'list'] | {'a': 7} | None-None
      

      📌 Setup phase

      duration:

      0.0006518079899251461
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004032889846712351
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00026777805760502815
      

      outcome:

      passed
      
    • Test 51
      params: objects=[{"k": [1, 2]}, 99, ["X", ["Y"]]], color_spec=["blue", "++"], sep=" - ", expected_flatten="{'k': [1, 2]} - 99 - ['X', ['Y']]", expected_error=null

      📌 Runtime Parameters

      params:
        objects:
          -       k:
              - 1
              - 2
          - 99
          -       - X
            -         - Y
        color_spec:
          - blue
          - ++
        sep:  - 
        expected_flatten: {'k': [1, 2]} - 99 - ['X', ['Y']]
        expected_error: None
      id: objects1-color_spec1- - -{'k': [1, 2]} - 99 - ['X', ['Y']]-None
      

      📌 Setup phase

      duration:

      0.0005301579367369413
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002692798152565956
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00025130598805844784
      

      outcome:

      passed
      
    • Test 52
      params: objects=[[], {}, "End"], color_spec=["magenta", "--"], sep=" / ", expected_flatten="[] / {} / End", expected_error=null

      📌 Runtime Parameters

      params:
        objects:
          - (vide)
          - (vide)
          - End
        color_spec:
          - magenta
          - --
        sep:  / 
        expected_flatten: [] / {} / End
        expected_error: None
      id: objects2-color_spec2- / -[] / {} / End-None
      

      📌 Setup phase

      duration:

      0.0004962889943271875
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022267899475991726
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00029701204039156437
      

      outcome:

      passed
      
    • Test 53
      params: objects="", [3, 4, "done", 0], color_spec=["green", ""], sep=";", expected_flatten="['', [3, 4]];done;0", expected_error=null

      📌 Runtime Parameters

      params:
        objects:
          -       - (vide)
            -         - 3
              - 4
          - done
          - (vide)
        color_spec:
          - green
          - (vide)
        sep: ;
        expected_flatten: ['', [3, 4]];done;0
        expected_error: None
      id: objects3-color_spec3-;-['', [3, 4]];done;0-None
      

      📌 Setup phase

      duration:

      0.0004862200003117323
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00023896689526736736
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002448491286486387
      

      outcome:

      passed
      
    • Test 54
      params: objects=[["alpha", null], ["beta", {}], "stop"], color_spec=["yellow", ""], sep="::", expected_flatten="['alpha', None]::['beta', {}]::stop", expected_error=null

      📌 Runtime Parameters

      params:
        objects:
          -       - alpha
            - (vide)
          -       - beta
            - (vide)
          - stop
        color_spec:
          - yellow
          - (vide)
        sep: ::
        expected_flatten: ['alpha', None]::['beta', {}]::stop
        expected_error: None
      id: objects4-color_spec4-::-['alpha', None]::['beta', {}]::stop-None
      

      📌 Setup phase

      duration:

      0.00045514898374676704
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00023256894201040268
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002460670657455921
      

      outcome:

      passed
      
    • Test 55
      params: objects="deep", ["deeper", ["deepest"], "X"], color_spec=["cyan", "+"], sep=" ... ", expected_flatten="['deep', ['deeper', ['deepest']]] ... X", expected_error=null

      📌 Runtime Parameters

      params:
        objects:
          -       - deep
            -         - deeper
              -           - deepest
          - X
        color_spec:
          - cyan
          - +
        sep:  ... 
        expected_flatten: ['deep', ['deeper', ['deepest']]] ... X
        expected_error: None
      id: objects5-color_spec5- ... -['deep', ['deeper', ['deepest']]] ... X-None
      

      📌 Setup phase

      duration:

      0.00048182811588048935
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022259680554270744
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002677161246538162
      

      outcome:

      passed
      
    • Test 56
      params: objects=[{"dict": {"nested": [4, 5]}}, [true, false], 6.28], color_spec=["white", "++"], sep=" // ", expected_flatten="{'dict': {'nested': [4, 5]}} // [True, False] // 6.28", expected_error=null

      📌 Runtime Parameters

      params:
        objects:
          -       dict:
              nested:
                - 4
                - 5
          -       - True
            - (vide)
          - 6.28
        color_spec:
          - white
          - ++
        sep:  // 
        expected_flatten: {'dict': {'nested': [4, 5]}} // [True, False] // 6.28
        expected_error: None
      id: objects6-color_spec6- // -{'dict': {'nested': [4, 5]}} // [True, False] // 6.28-None
      

      📌 Setup phase

      duration:

      0.0004651059862226248
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002468610182404518
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00023976899683475494
      

      outcome:

      passed
      
    • Test 57
      params: objects="A", ["B", "string", "C"], color_spec=["red", "--"], sep="==", expected_flatten="['A', ['B']]==string==C", expected_error=null

      📌 Runtime Parameters

      params:
        objects:
          -       - A
            -         - B
          - string
          - C
        color_spec:
          - red
          - --
        sep: ==
        expected_flatten: ['A', ['B']]==string==C
        expected_error: None
      id: objects7-color_spec7-==-['A', ['B']]==string==C-None
      

      📌 Setup phase

      duration:

      0.0005024680867791176
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022397399879992008
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002563761081546545
      

      outcome:

      passed
      
    • Test 58
      params: objects="Test", null, [, {"v": 0}], color_spec=["green", "++"], sep=" ++ ", expected_flatten="['Test', None, []] ++ {'v': 0}", expected_error=null

      📌 Runtime Parameters

      params:
        objects:
          -       - Test
            - (vide)
            - (vide)
          -       v: 0
        color_spec:
          - green
          - ++
        sep:  ++ 
        expected_flatten: ['Test', None, []] ++ {'v': 0}
        expected_error: None
      id: objects8-color_spec8- ++ -['Test', None, []] ++ {'v': 0}-None
      

      📌 Setup phase

      duration:

      0.0004776371642947197
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021875696256756783
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00023749913088977337
      

      outcome:

      passed
      
    • Test 59
      params: objects=[["no", "color"], "plain"], color_spec=null, sep=";", expected_flatten="['no', 'color'];plain", expected_error=null

      📌 Runtime Parameters

      params:
        objects:
          -       - no
            - color
          - plain
        color_spec: None
        sep: ;
        expected_flatten: ['no', 'color'];plain
        expected_error: None
      id: objects9-None-;-['no', 'color'];plain-None
      

      📌 Setup phase

      duration:

      0.00044329604133963585
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00023373891599476337
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00024755881167948246
      

      outcome:

      passed
      
    • Test 60
      params: objects=[["simple"], "", 12], color_spec=null, sep=" | ", expected_flatten="['simple'] | | 12", expected_error=null

      📌 Runtime Parameters

      params:
        objects:
          -       - simple
          - (vide)
          - 12
        color_spec: None
        sep:  | 
        expected_flatten: ['simple'] |  | 12
        expected_error: None
      id: objects10-None- | -['simple'] |  | 12-None
      

      📌 Setup phase

      duration:

      0.00048422813415527344
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002131350338459015
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0003873351961374283
      

      outcome:

      passed
      
    • Test 61
      params: objects=["very", "deep", {"ok": true}], color_spec=null, sep=" : ", expected_flatten="'very', 'deep' : {'ok': True}", expected_error=null

      📌 Runtime Parameters

      params:
        objects:
          -       -         - very
              - deep
          -       ok: True
        color_spec: None
        sep:  : 
        expected_flatten: [['very', 'deep']] : {'ok': True}
        expected_error: None
      id: objects11-None- : -[['very', 'deep']] : {'ok': True}-None
      

      📌 Setup phase

      duration:

      0.0005039959214627743
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021540699526667595
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002494370564818382
      

      outcome:

      passed
      
    • Test 62
      params: objects=[["fail", "color"], 123], color_spec=["green", "!!"], sep="|", expected_flatten="['fail', 'color']|123", expected_error=""

      📌 Runtime Parameters

      params:
        objects:
          -       - fail
            - color
          - 123
        color_spec:
          - green
          - !!
        sep: |
        expected_flatten: ['fail', 'color']|123
        expected_error: <class 'ValueError'>
      id: objects12-color_spec12-|-['fail', 'color']|123-ValueError
      

      📌 Setup phase

      duration:

      0.0004686040338128805
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005264051724225283
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002531751524657011
      

      outcome:

      passed
      
    • Test 63
      params: objects=[["error"], {}], color_spec=["cyan", "xxx"], sep=" * ", expected_flatten="['error'] * {}", expected_error=""

      📌 Runtime Parameters

      params:
        objects:
          -       - error
          - (vide)
        color_spec:
          - cyan
          - xxx
        sep:  * 
        expected_flatten: ['error'] * {}
        expected_error: <class 'ValueError'>
      id: objects13-color_spec13- * -['error'] * {}-ValueError
      

      📌 Setup phase

      duration:

      0.000477055087685585
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002859968226402998
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00025350088253617287
      

      outcome:

      passed
      
    • Test 64
      params: objects="nope"], ["bad", color_spec=["magenta", "invalid"], sep="//", expected_flatten="['nope']//['bad']", expected_error=""

      📌 Runtime Parameters

      params:
        objects:
          -       - nope
          -       - bad
        color_spec:
          - magenta
          - invalid
        sep: //
        expected_flatten: ['nope']//['bad']
        expected_error: <class 'ValueError'>
      id: objects14-color_spec14-//-['nope']//['bad']-ValueError
      

      📌 Setup phase

      duration:

      0.0004759861622005701
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00023797503672540188
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002961240243166685
      

      outcome:

      passed
      
    • Test 65
      params: objects=["wrong", "base"], color_spec=["notacolor", ""], sep="--", expected_flatten="wrong--base", expected_error=""

      📌 Runtime Parameters

      params:
        objects:
          - wrong
          - base
        color_spec:
          - notacolor
          - (vide)
        sep: --
        expected_flatten: wrong--base
        expected_error: <class 'ValueError'>
      id: objects15-color_spec15----wrong--base-ValueError
      

      📌 Setup phase

      duration:

      0.00047392607666552067
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002283731009811163
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00024751806631684303
      

      outcome:

      passed
      
  • 📄 test_utils_debug.py

    Function: test_traceable

    • Test 66
      params: cls="", entry=[[10, 20], {}], expected="creating: A(10, 20)"

      📌 Runtime Parameters

      params:
        cls: <class 'test_utils_debug.A'>
        entry:
          -       - 10
            - 20
          - (vide)
        expected: creating: A(10, 20)
      id: A-entry0-creating: A(10, 20)
      

      📌 Setup phase

      duration:

      0.0003019459545612335
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009466039482504129
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002172631211578846
      

      outcome:

      passed
      
    • Test 67
      params: cls="", entry=[[10, 20], {"e": 100}], expected="creating: A(10, 20, e=100)"

      📌 Runtime Parameters

      params:
        cls: <class 'test_utils_debug.A'>
        entry:
          -       - 10
            - 20
          -       e: 100
        expected: creating: A(10, 20, e=100)
      id: A-entry1-creating: A(10, 20, e=100)
      

      📌 Setup phase

      duration:

      0.0002955349627882242
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008071509655565023
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019674887880682945
      

      outcome:

      passed
      
    • Test 68
      params: cls="", entry="foo", [1, 2, 3, {"flag": true, "data": {"x": 9}}], expected="creating: A('foo', [1, 2, 3], flag=True, data={'x': 9})"

      📌 Runtime Parameters

      params:
        cls: <class 'test_utils_debug.A'>
        entry:
          -       - foo
            -         - 1
              - 2
              - 3
          -       flag: True
            data:
              x: 9
        expected: creating: A('foo', [1, 2, 3], flag=True, data={'x': 9})
      id: A-entry2-creating: A('foo', [1, 2, 3], flag=True, data={'x': 9})
      

      📌 Setup phase

      duration:

      0.00029790005646646023
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009036960545927286
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019085686653852463
      

      outcome:

      passed
      
    • Test 69
      params: cls="", entry="([CustomObj(big), [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], {'name': 'test', 'meta': 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'})", expected="creating: A(CustomObj(big), [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], name='test', meta='yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy...)"

      📌 Runtime Parameters

      params:
        cls: <class 'test_utils_debug.A'>
        entry: ([CustomObj(big), [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], {'name': 'test', 'meta': 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'})
        expected: creating: A(CustomObj(big), [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], name='test', meta='yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy...)
      id: A-entry3-creating: A(CustomObj(big), [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], name='test', meta='yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy...)
      

      📌 Setup phase

      duration:

      0.0002811509184539318
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007893429137766361
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019819685257971287
      

      outcome:

      passed
      
    • Test 70
      params: cls="", entry="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", [0, 0, 0, 0, 0, {}], expected="creating: A('AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA..., [0, 0, 0, 0, 0])"

      📌 Runtime Parameters

      params:
        cls: <class 'test_utils_debug.A'>
        entry:
          -       - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
            -         - (vide)
              - (vide)
              - (vide)
              - (vide)
              - (vide)
          - (vide)
        expected: creating: A('AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA..., [0, 0, 0, 0, 0])
      id: A-entry4-creating: A('AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA..., [0, 0, 0, 0, 0])
      

      📌 Setup phase

      duration:

      0.0002978758420795202
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008801051881164312
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018853298388421535
      

      outcome:

      passed
      

    Function: test_short_repr

    • Test 71
      params: value="abc", cutoff=10, expected="'abc'"

      📌 Runtime Parameters

      params:
        value: abc
        cutoff: 10
        expected: 'abc'
      id: abc-10-'abc'
      

      📌 Setup phase

      duration:

      0.0002824098337441683
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017316010780632496
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018157600425183773
      

      outcome:

      passed
      
    • Test 73
      params: value=12345, cutoff=10, expected="12345"

      📌 Runtime Parameters

      params:
        value: 12345
        cutoff: 10
        expected: 12345
      id: 12345-10-12345
      

      📌 Setup phase

      duration:

      0.00037830695509910583
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016748113557696342
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017406698316335678
      

      outcome:

      passed
      
    • Test 74
      params: value=[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], cutoff=15, expected="[0, 0, 0, 0, 0,..."

      📌 Runtime Parameters

      params:
        value:
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
        cutoff: 15
        expected: [0, 0, 0, 0, 0,...
      id: value3-15-[0, 0, 0, 0, 0,...
      

      📌 Setup phase

      duration:

      0.0002779001370072365
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017102505080401897
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015904405154287815
      

      outcome:

      passed
      
    • Test 75
      params: value=null, cutoff=10, expected="None"

      📌 Runtime Parameters

      params:
        value: None
        cutoff: 10
        expected: None
      id: None-10-None
      

      📌 Setup phase

      duration:

      0.00027966988272964954
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013766693882644176
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015144702047109604
      

      outcome:

      passed
      
  • 📄 test_utils_dictext.py

    Function: test_attrdict_getattr

    • Test 77
      params: data={"x": 1, "y": 2}, attr="x", expected=1

      📌 Runtime Parameters

      params:
        data:
          x: 1
          y: 2
        attr: x
        expected: 1
      id: data0-x-1
      

      📌 Setup phase

      duration:

      0.0003182440996170044
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015922612510621548
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001582519616931677
      

      outcome:

      passed
      
    • Test 78
      params: data={"world": "ok"}, attr="world", expected="ok"

      📌 Runtime Parameters

      params:
        data:
          world: ok
        attr: world
        expected: ok
      id: data1-world-ok
      

      📌 Setup phase

      duration:

      0.0002763348165899515
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001432551071047783
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015296507626771927
      

      outcome:

      passed
      
    • Test 79
      params: data={"outer": {"inner": 42}}, attr="outer", expected={"inner": 42}

      📌 Runtime Parameters

      params:
        data:
          outer:
            inner: 42
        attr: outer
        expected:
          inner: 42
      id: data2-outer-expected2
      

      📌 Setup phase

      duration:

      0.00025757099501788616
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014236196875572205
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001543781254440546
      

      outcome:

      passed
      

    Function: test_attrdict_setattr

    • Test 80
      params: initial={}, attr="nouveau", value=123

      📌 Runtime Parameters

      params:
        initial:
      {}
        attr: nouveau
        value: 123
      id: initial0-nouveau-123
      

      📌 Setup phase

      duration:

      0.00026957294903695583
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015627010725438595
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015286682173609734
      

      outcome:

      passed
      
    • Test 81
      params: initial={"a": 1}, attr="b", value="valeur"

      📌 Runtime Parameters

      params:
        initial:
          a: 1
        attr: b
        value: valeur
      id: initial1-b-valeur
      

      📌 Setup phase

      duration:

      0.0002739459741860628
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013635610230267048
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016277912072837353
      

      outcome:

      passed
      

    Function: test_attrdict_delattr

    • Test 82
      params: initial={"a": 1, "b": 2}, to_del="a", expected_keys=["b"]

      📌 Runtime Parameters

      params:
        initial:
          a: 1
          b: 2
        to_del: a
        expected_keys:
          - b
      id: initial0-a-expected_keys0
      

      📌 Setup phase

      duration:

      0.00028614094480872154
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001903281081467867
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001590619795024395
      

      outcome:

      passed
      
    • Test 83
      params: initial={"k": "v"}, to_del="k", expected_keys=[]

      📌 Runtime Parameters

      params:
        initial:
          k: v
        to_del: k
        expected_keys:
      []
      id: initial1-k-expected_keys1
      

      📌 Setup phase

      duration:

      0.0002659810706973076
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016380520537495613
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015885010361671448
      

      outcome:

      passed
      

    Function: test_attrdict_dir

    • Test 84
      params: data={"alpha": 1, "beta": 2}, expected_keys="{'alpha', 'beta'}"

      📌 Runtime Parameters

      params:
        data:
          alpha: 1
          beta: 2
        expected_keys: {'alpha', 'beta'}
      id: data0-expected_keys0
      

      📌 Setup phase

      duration:

      0.0002559430431574583
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014600204303860664
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001445920206606388
      

      outcome:

      passed
      
    • Test 85
      params: data={}, expected_keys="set()"

      📌 Runtime Parameters

      params:
        data:
      {}
        expected_keys: set()
      id: data1-expected_keys1
      

      📌 Setup phase

      duration:

      0.00022373907268047333
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017313705757260323
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013578892685472965
      

      outcome:

      passed
      

    Function: test_attrdict_getattr_and_missing

    • Test 86
      params: data={"x": 1, "y": 2}, attr="x", expect_value=1, expect_error=null

      📌 Runtime Parameters

      params:
        data:
          x: 1
          y: 2
        attr: x
        expect_value: 1
        expect_error: None
      id: data0-x-1-None
      

      📌 Setup phase

      duration:

      0.00032984395511448383
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016974494792521
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017202203162014484
      

      outcome:

      passed
      
    • Test 87
      params: data={"number": 42}, attr="missing", expect_value=null, expect_error="'MyDict' object has no attribute 'missing'"

      📌 Runtime Parameters

      params:
        data:
          number: 42
        attr: missing
        expect_value: None
        expect_error: 'MyDict' object has no attribute 'missing'
      id: data1-missing-None-'MyDict' object has no attribute 'missing'
      

      📌 Setup phase

      duration:

      0.00033465493470430374
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001674049999564886
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016994518227875233
      

      outcome:

      passed
      

    Function: test_dictupdatemixin_init_and_update

    • Test 88
      params: init_kwargs={"a": 1, "b": 2}, other=null, kwargs={}, expected={"a": 1, "b": 2}

      📌 Runtime Parameters

      params:
        init_kwargs:
          a: 1
          b: 2
        other: None
        kwargs:
      {}
        expected:
          a: 1
          b: 2
      id: init_kwargs0-None-kwargs0-expected0
      

      📌 Setup phase

      duration:

      0.00031547597609460354
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001507799606770277
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001655209343880415
      

      outcome:

      passed
      
    • Test 89
      params: init_kwargs={}, other={"x": 10, "y": 20}, kwargs={}, expected={"x": 10, "y": 20}

      📌 Runtime Parameters

      params:
        init_kwargs:
      {}
        other:
          x: 10
          y: 20
        kwargs:
      {}
        expected:
          x: 10
          y: 20
      id: init_kwargs1-other1-kwargs1-expected1
      

      📌 Setup phase

      duration:

      0.0003027480561286211
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017457804642617702
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016734004020690918
      

      outcome:

      passed
      
    • Test 90
      params: init_kwargs={"world": "ok"}, other={"number": 42}, kwargs={"num2": 100}, expected={"world": "ok", "number": 42, "num2": 100}

      📌 Runtime Parameters

      params:
        init_kwargs:
          world: ok
        other:
          number: 42
        kwargs:
          num2: 100
        expected:
          world: ok
          number: 42
          num2: 100
      id: init_kwargs2-other2-kwargs2-expected2
      

      📌 Setup phase

      duration:

      0.0003163670189678669
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014381320215761662
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016887509264051914
      

      outcome:

      passed
      
    • Test 91
      params: init_kwargs={}, other=null, kwargs={"alpha": "beta"}, expected={"alpha": "beta"}

      📌 Runtime Parameters

      params:
        init_kwargs:
      {}
        other: None
        kwargs:
          alpha: beta
        expected:
          alpha: beta
      id: init_kwargs3-None-kwargs3-expected3
      

      📌 Setup phase

      duration:

      0.00031702895648777485
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017250515520572662
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001663551665842533
      

      outcome:

      passed
      
    • Test 92
      params: init_kwargs={}, other={"key": "value"}, kwargs={"extra": 1}, expected={"key": "value", "extra": 1}

      📌 Runtime Parameters

      params:
        init_kwargs:
      {}
        other:
          key: value
        kwargs:
          extra: 1
        expected:
          key: value
          extra: 1
      id: init_kwargs4-other4-kwargs4-expected4
      

      📌 Setup phase

      duration:

      0.00031339097768068314
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014795106835663319
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016700197011232376
      

      outcome:

      passed
      
    • Test 93
      params: init_kwargs={}, other="key", "value"], ["list", [5, 6], kwargs={"extra": {"subkey": 123}}, expected={"key": "value", "list": [5, 6], "extra": {"subkey": 123}}

      📌 Runtime Parameters

      params:
        init_kwargs:
      {}
        other:
          -       - key
            - value
          -       - list
            -         - 5
              - 6
        kwargs:
          extra:
            subkey: 123
        expected:
          key: value
          list:
            - 5
            - 6
          extra:
            subkey: 123
      id: init_kwargs5-other5-kwargs5-expected5
      

      📌 Setup phase

      duration:

      0.0002960050478577614
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00029914802871644497
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018660584464669228
      

      outcome:

      passed
      
  • 📄 test_utils_dotdir.py

    Function: test_dotdir_creation_and_base_exists

    • Test 94

      📌 Setup phase

      duration:

      0.0015023509040474892
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002635619603097439
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002535819076001644
      

      outcome:

      passed
      

    Function: test_dotdir_repr_returns_path_str

    • Test 95

      📌 Setup phase

      duration:

      0.0006121948827058077
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002485171426087618
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000231513986364007
      

      outcome:

      passed
      

    Function: test_dotdir_call

    • Test 96

      📌 Setup phase

      duration:

      0.0006257130298763514
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00024146120995283127
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002116051036864519
      

      outcome:

      passed
      
  • 📄 test_utils_jsonext.py

    Function: test_json_validate_save_load

    • Test 97
      params: input_obj="[1 2 3]", expected=[1, 2, 3]

      📌 Runtime Parameters

      params:
        input_obj: [1 2 3]
        expected:
          - 1
          - 2
          - 3
      id: input_obj0-expected0
      

      📌 Setup phase

      duration:

      0.0005736800376325846
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004833389539271593
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019378983415663242
      

      outcome:

      passed
      
    • Test 98
      params: input_obj="42", expected=42

      📌 Runtime Parameters

      params:
        input_obj: 42
        expected: 42
      id: input_obj1-42
      

      📌 Setup phase

      duration:

      0.0006123220082372427
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003964609932154417
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001784090418368578
      

      outcome:

      passed
      
    • Test 99
      params: input_obj="(1-1j)", expected={"real": 1.0, "imag": -1.0}

      📌 Runtime Parameters

      params:
        input_obj: (1-1j)
        expected:
          real: 1.0
          imag: -1.0
      id: (1-1j)-expected2
      

      📌 Setup phase

      duration:

      0.0005313081201165915
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00042072986252605915
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018477905541658401
      

      outcome:

      passed
      
    • Test 100
      params: input_obj="/tmp/file.txt", expected="/tmp/file.txt"

      📌 Runtime Parameters

      params:
        input_obj: /tmp/file.txt
        expected: /tmp/file.txt
      id: input_obj3-/tmp/file.txt
      

      📌 Setup phase

      duration:

      0.0005734479054808617
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003887878265231848
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017571402713656425
      

      outcome:

      passed
      
    • Test 101
      params: input_obj="{1, 2, 3}", expected=[1, 2, 3]

      📌 Runtime Parameters

      params:
        input_obj: {1, 2, 3}
        expected:
          - 1
          - 2
          - 3
      id: input_obj4-expected4
      

      📌 Setup phase

      duration:

      0.0006090609822422266
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000399900134652853
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018367194570600986
      

      outcome:

      passed
      
    • Test 102
      params: input_obj="{'a': array([10, 20])}", expected={"a": [10, 20]}

      📌 Runtime Parameters

      params:
        input_obj: {'a': array([10, 20])}
        expected:
          a:
            - 10
            - 20
      id: input_obj5-expected5
      

      📌 Setup phase

      duration:

      0.0005898629315197468
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00038807117380201817
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018278509378433228
      

      outcome:

      passed
      
    • Test 103
      params: input_obj="{'c': (2+3j)}", expected={"c": {"real": 2.0, "imag": 3.0}}

      📌 Runtime Parameters

      params:
        input_obj: {'c': (2+3j)}
        expected:
          c:
            real: 2.0
            imag: 3.0
      id: input_obj6-expected6
      

      📌 Setup phase

      duration:

      0.000615960918366909
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00039157806895673275
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018282700330018997
      

      outcome:

      passed
      
    • Test 104
      params: input_obj="{'nested': {'arr': array(10, 20],\n [30, 40), 'complex_num': (-1+5j), 'files': [PosixPath('/file1'), PosixPath('/file2')], 'set_values': {200, 100}, 'inner': {'num': 7}}}", expected={"nested": {"arr": 10, 20], [30, 40, "complex_num": {"real": -1.0, "imag": 5.0}, "files": ["/file1", "/file2"], "set_values": [100, 200], "inner": {"num": 7}}}

      📌 Runtime Parameters

      params:
        input_obj: {'nested': {'arr': array([[10, 20],
             [30, 40]]), 'complex_num': (-1+5j), 'files': [PosixPath('/file1'), PosixPath('/file2')], 'set_values': {200, 100}, 'inner': {'num': 7}}}
        expected:
          nested:
            arr:
              -           - 10
                - 20
              -           - 30
                - 40
            complex_num:
              real: -1.0
              imag: 5.0
            files:
              - /file1
              - /file2
            set_values:
              - 100
              - 200
            inner:
              num: 7
      id: input_obj7-expected7
      

      📌 Setup phase

      duration:

      0.0007139220833778381
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005817350465804338
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001889299601316452
      

      outcome:

      passed
      
  • 📄 test_utils_lazypv.py

    Function: test_getattr

    • Test 105

      📌 Setup phase

      duration:

      0.0001356089487671852
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.09741063788533211
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0005616708658635616
      

      outcome:

      passed
      
  • 📄 test_utils_logcfg.py

    Function: test_custom_log_outputs

    • Test 106
      params: levelname="LONG", logfunc=" at 0x7fe79d8bdca0>", message="This is a LONG message"

      📌 Runtime Parameters

      params:
        levelname: LONG
        logfunc: <function <lambda> at 0x7fe79d8bdca0>
        message: This is a LONG message
      id: LONG-<lambda>-This is a LONG message
      

      📌 Setup phase

      duration:

      0.0023336359299719334
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009248328860849142
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0003079269081354141
      

      outcome:

      passed
      
    • Test 107
      params: levelname="ENLARGE", logfunc=" at 0x7fe79d8bdd30>", message="Please ENLARGE this!"

      📌 Runtime Parameters

      params:
        levelname: ENLARGE
        logfunc: <function <lambda> at 0x7fe79d8bdd30>
        message: Please ENLARGE this!
      id: ENLARGE-<lambda>-Please ENLARGE this!
      

      📌 Setup phase

      duration:

      0.0004301199223846197
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00041850190609693527
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00026202318258583546
      

      outcome:

      passed
      
  • 📄 test_utils_logign.py

    Function: test_ignore_log_msg_behavior

    • Test 109
      params: levelname="WARNING", msg_to_ignore="This should be ignored", msg_to_keep="This should appear"

      📌 Runtime Parameters

      params:
        levelname: WARNING
        msg_to_ignore: This should be ignored
        msg_to_keep: This should appear
      id: WARNING-This should be ignored-This should appear
      

      📌 Setup phase

      duration:

      0.0006950630340725183
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009219890926033258
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002736840397119522
      

      outcome:

      passed
      
    • Test 110
      params: levelname="ENLARGE", msg_to_ignore="ENLARGE this", msg_to_keep="Keep this ENLARGE"

      📌 Runtime Parameters

      params:
        levelname: ENLARGE
        msg_to_ignore: ENLARGE this
        msg_to_keep: Keep this ENLARGE
      id: ENLARGE-ENLARGE this-Keep this ENLARGE
      

      📌 Setup phase

      duration:

      0.0004541371017694473
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005385230761021376
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002334071323275566
      

      outcome:

      passed
      

    Function: test_ignore_only_by_level

    • Test 111

      📌 Setup phase

      duration:

      0.0002463108394294977
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00042316620238125324
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018836604431271553
      

      outcome:

      passed
      

    Function: test_ignore_only_by_msg

    • Test 112

      📌 Setup phase

      duration:

      0.0002769159618765116
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00040852208621799946
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018789502792060375
      

      outcome:

      passed
      

    Function: test_filter_removed_after_context

    • Test 113

      📌 Setup phase

      duration:

      0.00027789617888629436
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004027241375297308
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017163599841296673
      

      outcome:

      passed
      
  • 📄 test_utils_metaclasses.py

    Function: test_combine_classes_combines_methods

    • Test 114

      📌 Setup phase

      duration:

      0.0001449261326342821
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002244270872324705
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011110305786132812
      

      outcome:

      passed
      

    Function: test_registryabc_combines_registrymeta_and_abcmeta

    • Test 115

      📌 Setup phase

      duration:

      0.00012385286390781403
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00568760116584599
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012869108468294144
      

      outcome:

      passed
      
  • 📄 test_utils_npy.py

    Function: test_nice_arange

    • Test 116
      params: start=0, stop=5, step=1, expected="[0. 1. 2. 3. 4. 5.]"

      📌 Runtime Parameters

      params:
        start: 0
        stop: 5
        step: 1
        expected: [0. 1. 2. 3. 4. 5.]
      id: 0-5-1-expected0
      

      📌 Setup phase

      duration:

      0.00042013986967504025
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.021568647818639874
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002727110404521227
      

      outcome:

      passed
      
    • Test 118
      params: start=1, stop=2, step=0.3, expected="[1. 1.33333333 1.66666667 2. ]"

      📌 Runtime Parameters

      params:
        start: 1
        stop: 2
        step: 0.3
        expected: [1.         1.33333333 1.66666667 2.        ]
      id: 1-2-0.3-expected2
      

      📌 Setup phase

      duration:

      0.00037005008198320866
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00042508402839303017
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019595888443291187
      

      outcome:

      passed
      

    Function: test_nice_linspace

    • Test 121
      params: start=0, stop=10, num=4, expected="[ 0. 2.5 5. 7.5 10. ]"

      📌 Runtime Parameters

      params:
        start: 0
        stop: 10
        num: 4
        expected: [ 0.   2.5  5.   7.5 10. ]
      id: 0-10-4-expected0
      

      📌 Setup phase

      duration:

      0.00036020693369209766
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00043205986730754375
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002038218080997467
      

      outcome:

      passed
      
    • Test 122
      params: start=5, stop=15, num=2, expected="[ 5. 10. 15.]"

      📌 Runtime Parameters

      params:
        start: 5
        stop: 15
        num: 2
        expected: [ 5. 10. 15.]
      id: 5-15-2-expected1
      

      📌 Setup phase

      duration:

      0.0003533419221639633
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003989660181105137
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019501685164868832
      

      outcome:

      passed
      
    • Test 123
      params: start=-5, stop=5, num=4, expected="[-5. -2.5 0. 2.5 5. ]"

      📌 Runtime Parameters

      params:
        start: -5
        stop: 5
        num: 4
        expected: [-5.  -2.5  0.   2.5  5. ]
      id: -5-5-4-expected2
      

      📌 Setup phase

      duration:

      0.0003829959314316511
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003551831468939781
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019497517496347427
      

      outcome:

      passed
      
    • Test 124
      params: start=0, stop=1, num=3, expected="[0. 0.33333333 0.66666667 1. ]"

      📌 Runtime Parameters

      params:
        start: 0
        stop: 1
        num: 3
        expected: [0.         0.33333333 0.66666667 1.        ]
      id: 0-1-3-expected3
      

      📌 Setup phase

      duration:

      0.0003722480032593012
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003475451376289129
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002999750431627035
      

      outcome:

      passed
      
    • Test 125
      params: start=2, stop=2, num=3, expected="[2. 2. 2. 2.]"

      📌 Runtime Parameters

      params:
        start: 2
        stop: 2
        num: 3
        expected: [2. 2. 2. 2.]
      id: 2-2-3-expected4
      

      📌 Setup phase

      duration:

      0.00037498888559639454
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003571789711713791
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020297314040362835
      

      outcome:

      passed
      
    • Test 126
      params: start=3, stop=0, num=3, expected="[3. 2. 1. 0.]"

      📌 Runtime Parameters

      params:
        start: 3
        stop: 0
        num: 3
        expected: [3. 2. 1. 0.]
      id: 3-0-3-expected5
      

      📌 Setup phase

      duration:

      0.000343934865668416
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003581459168344736
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021732202731072903
      

      outcome:

      passed
      
    • Test 127
      params: start=0, stop=1, num=0, expected="[0.]"

      📌 Runtime Parameters

      params:
        start: 0
        stop: 1
        num: 0
        expected: [0.]
      id: 0-1-0-expected6
      

      📌 Setup phase

      duration:

      0.0003932020626962185
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00041587604209780693
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020210607908666134
      

      outcome:

      passed
      

    Function: test_nice_steps_centered

    • Test 128
      params: start=-2, stop=2, step=2, endpoint=true, expected="[-2. 0. 2.]"

      📌 Runtime Parameters

      params:
        start: -2
        stop: 2
        step: 2
        endpoint: True
        expected: [-2.  0.  2.]
      id: -2-2-2-True-expected0
      

      📌 Setup phase

      duration:

      0.00041807210072875023
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00039519090205430984
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002119569107890129
      

      outcome:

      passed
      
    • Test 129
      params: start=0, stop=5, step=2, endpoint=true, expected="[0. 2. 4.]"

      📌 Runtime Parameters

      params:
        start: 0
        stop: 5
        step: 2
        endpoint: True
        expected: [0. 2. 4.]
      id: 0-5-2-True-expected1
      

      📌 Setup phase

      duration:

      0.0004226141609251499
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003564062062650919
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020740902982652187
      

      outcome:

      passed
      
    • Test 130
      params: start=0, stop=5, step=2, endpoint=false, expected="[0. 2.]"

      📌 Runtime Parameters

      params:
        start: 0
        stop: 5
        step: 2
        endpoint: False
        expected: [0. 2.]
      id: 0-5-2-False-expected2
      

      📌 Setup phase

      duration:

      0.0004204378928989172
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000382876954972744
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00022795796394348145
      

      outcome:

      passed
      
    • Test 131
      params: start=-1, stop=2, step=1.5, endpoint=true, expected="[-1.5 0. 1.5]"

      📌 Runtime Parameters

      params:
        start: -1
        stop: 2
        step: 1.5
        endpoint: True
        expected: [-1.5  0.   1.5]
      id: -1-2-1.5-True-expected3
      

      📌 Setup phase

      duration:

      0.00039983494207262993
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00036276597529649734
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021042907610535622
      

      outcome:

      passed
      

    Function: test_nice_steps_left_aligned

    • Test 134
      params: start=-1, stop=2, step=1.5, endpoint=true, expected="[-1. 0.5 2. ]"

      📌 Runtime Parameters

      params:
        start: -1
        stop: 2
        step: 1.5
        endpoint: True
        expected: [-1.   0.5  2. ]
      id: -1-2-1.5-True-expected2
      

      📌 Setup phase

      duration:

      0.00039824703708291054
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003340120892971754
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020809099078178406
      

      outcome:

      passed
      
    • Test 135
      params: start=-1, stop=2, step=1.5, endpoint=false, expected="[-1. 0.5]"

      📌 Runtime Parameters

      params:
        start: -1
        stop: 2
        step: 1.5
        endpoint: False
        expected: [-1.   0.5]
      id: -1-2-1.5-False-expected3
      

      📌 Setup phase

      duration:

      0.0003886669874191284
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00033008307218551636
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021450407803058624
      

      outcome:

      passed
      

    Function: test_within_scalar

    • Test 146
      params: val=5, vmin=0, vmax=10, expected=true

      📌 Runtime Parameters

      params:
        val: 5
        vmin: 0
        vmax: 10
        expected: True
      id: 5-0-10-True
      

      📌 Setup phase

      duration:

      0.00045221205800771713
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021288194693624973
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018968409858644009
      

      outcome:

      passed
      
    • Test 147
      params: val=5, vmin=6, vmax=10, expected=false

      📌 Runtime Parameters

      params:
        val: 5
        vmin: 6
        vmax: 10
        expected: False
      id: 5-6-10-False
      

      📌 Setup phase

      duration:

      0.00038612005300819874
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015501887537539005
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018843798898160458
      

      outcome:

      passed
      
    • Test 148
      params: val=5, vmin=null, vmax=10, expected=true

      📌 Runtime Parameters

      params:
        val: 5
        vmin: None
        vmax: 10
        expected: True
      id: 5-None-10-True
      

      📌 Setup phase

      duration:

      0.00046664290130138397
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015157600864768028
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018099788576364517
      

      outcome:

      passed
      
    • Test 149
      params: val=5, vmin=0, vmax=null, expected=true

      📌 Runtime Parameters

      params:
        val: 5
        vmin: 0
        vmax: None
        expected: True
      id: 5-0-None-True
      

      📌 Setup phase

      duration:

      0.0003237910568714142
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001395998988300562
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017231306992471218
      

      outcome:

      passed
      
    • Test 150
      params: val=5, vmin=null, vmax=null, expected=true

      📌 Runtime Parameters

      params:
        val: 5
        vmin: None
        vmax: None
        expected: True
      id: 5-None-None-True
      

      📌 Setup phase

      duration:

      0.0003186489921063185
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013906718231737614
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001944268587976694
      

      outcome:

      passed
      

    Function: test_within_fraction

    • Test 151
      params: data=[1, 2, 3, 4, 5], vmin=2, vmax=5, expected=0.6

      📌 Runtime Parameters

      params:
        data:
          - 1
          - 2
          - 3
          - 4
          - 5
        vmin: 2
        vmax: 5
        expected: 0.6
      id: data0-2-5-0.6
      

      📌 Setup phase

      duration:

      0.00034163380041718483
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000406085979193449
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019615492783486843
      

      outcome:

      passed
      
    • Test 152
      params: data=[10, 20, 30], vmin=5, vmax=25, expected=0.6666666666666666

      📌 Runtime Parameters

      params:
        data:
          - 10
          - 20
          - 30
        vmin: 5
        vmax: 25
        expected: 0.6666666666666666
      id: data1-5-25-0.6666666666666666
      

      📌 Setup phase

      duration:

      0.0003458741120994091
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00027604401111602783
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020603113807737827
      

      outcome:

      passed
      
    • Test 153
      params: data=[1, 2, 3], vmin=null, vmax=2, expected=0.3333333333333333

      📌 Runtime Parameters

      params:
        data:
          - 1
          - 2
          - 3
        vmin: None
        vmax: 2
        expected: 0.3333333333333333
      id: data2-None-2-0.3333333333333333
      

      📌 Setup phase

      duration:

      0.00034102494828402996
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00028249784372746944
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019253604114055634
      

      outcome:

      passed
      
    • Test 154
      params: data=[], vmin=0, vmax=1, expected=0

      📌 Runtime Parameters

      params:
        data:
      []
        vmin: 0
        vmax: 1
        expected: 0
      id: data3-0-1-0
      

      📌 Setup phase

      duration:

      0.0003605019301176071
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002517709508538246
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002108339685946703
      

      outcome:

      passed
      

    Function: test_fraction_to_percentage

    • Test 155
      params: fraction=0.456, ndigits=1, expected=45.6

      📌 Runtime Parameters

      params:
        fraction: 0.456
        ndigits: 1
        expected: 45.6
      id: 0.456-1-45.6
      

      📌 Setup phase

      duration:

      0.0003136519808322191
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001848810352385044
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000180321978405118
      

      outcome:

      passed
      
    • Test 156
      params: fraction=0.12345, ndigits=2, expected=12.35

      📌 Runtime Parameters

      params:
        fraction: 0.12345
        ndigits: 2
        expected: 12.35
      id: 0.12345-2-12.35
      

      📌 Setup phase

      duration:

      0.00032167602330446243
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014887098222970963
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016447808593511581
      

      outcome:

      passed
      
    • Test 157
      params: fraction=0.9999, ndigits=0, expected=100.0

      📌 Runtime Parameters

      params:
        fraction: 0.9999
        ndigits: 0
        expected: 100.0
      id: 0.9999-0-100.0
      

      📌 Setup phase

      duration:

      0.00028656795620918274
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014695408754050732
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017757108435034752
      

      outcome:

      passed
      

    Function: test_get_dtype

    • Test 158
      params: val="[1 2 3]", expected=""

      📌 Runtime Parameters

      params:
        val: [1 2 3]
        expected: <class 'numpy.ndarray'>
      id: val0-ndarray
      

      📌 Setup phase

      duration:

      0.0002453278284519911
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017586490139365196
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016256002709269524
      

      outcome:

      passed
      
    • Test 159
      params: val=[1, 2, 3], expected=""

      📌 Runtime Parameters

      params:
        val:
          - 1
          - 2
          - 3
        expected: <class 'list'>
      id: val1-list
      

      📌 Setup phase

      duration:

      0.000261964974924922
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014039198867976665
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015854602679610252
      

      outcome:

      passed
      
    • Test 160
      params: val=3.14, expected=""

      📌 Runtime Parameters

      params:
        val: 3.14
        expected: <class 'float'>
      id: 3.14-float
      

      📌 Setup phase

      duration:

      0.0002416099887341261
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014449283480644226
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016300613060593605
      

      outcome:

      passed
      

    Function: test_get_shape

    • Test 161
      params: val="1 2]\n [3 4", expected=[2, 2]

      📌 Runtime Parameters

      params:
        val: [[1 2]
       [3 4]]
        expected:
          - 2
          - 2
      id: val0-expected0
      

      📌 Setup phase

      duration:

      0.00024088402278721333
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014338199980556965
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001591260079294443
      

      outcome:

      passed
      
    • Test 162
      params: val=[1, 2, 3], expected=[]

      📌 Runtime Parameters

      params:
        val:
          - 1
          - 2
          - 3
        expected:
      []
      id: val1-expected1
      

      📌 Setup phase

      duration:

      0.0002901360858231783
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001497231423854828
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001439389307051897
      

      outcome:

      passed
      
    • Test 163
      params: val=42, expected=[]

      📌 Runtime Parameters

      params:
        val: 42
        expected:
      []
      id: 42-expected2
      

      📌 Setup phase

      duration:

      0.0002350308932363987
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014159991405904293
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013848603703081608
      

      outcome:

      passed
      

    Function: test_is_array

    • Test 164
      params: val="[1 2 3]", expected=true

      📌 Runtime Parameters

      params:
        val: [1 2 3]
        expected: True
      id: val0-True
      

      📌 Setup phase

      duration:

      0.00023185508325695992
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001478369813412428
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016932585276663303
      

      outcome:

      passed
      
    • Test 165
      params: val=[1, 2, 3], expected=false

      📌 Runtime Parameters

      params:
        val:
          - 1
          - 2
          - 3
        expected: False
      id: val1-False
      

      📌 Setup phase

      duration:

      0.0002330699935555458
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001422688364982605
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015193293802440166
      

      outcome:

      passed
      
    • Test 166
      params: val=42, expected=false

      📌 Runtime Parameters

      params:
        val: 42
        expected: False
      id: 42-False
      

      📌 Setup phase

      duration:

      0.00022464804351329803
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014352495782077312
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001411230769008398
      

      outcome:

      passed
      
  • 📄 test_utils_path.py

    Function: test_make_missing_dir_creates_folder

    • Test 169

      📌 Setup phase

      duration:

      0.0001436830498278141
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006184959784150124
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012217205949127674
      

      outcome:

      passed
      

    Function: test_glob_files_returns_matching_files_only

    • Test 170

      📌 Setup phase

      duration:

      0.00012272200547158718
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0010542890522629023
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011564511805772781
      

      outcome:

      passed
      
  • 📄 test_utils_picklio.py

    Function: test_pickle_and_unpickle

    • Test 172
      params: test_obj={"a": 1, "b": [2, 3], "c": {"world": "ok"}}

      📌 Runtime Parameters

      params:
        test_obj:
          a: 1
          b:
            - 2
            - 3
          c:
            world: ok
      id: test_obj0
      

      📌 Setup phase

      duration:

      0.0007961089722812176
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003995520528405905
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017591100186109543
      

      outcome:

      passed
      
    • Test 173
      params: test_obj=[1, 2, 3, 4, 5]

      📌 Runtime Parameters

      params:
        test_obj:
          - 1
          - 2
          - 3
          - 4
          - 5
      id: test_obj1
      

      📌 Setup phase

      duration:

      0.0006188841070979834
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000317008001729846
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001639381516724825
      

      outcome:

      passed
      
    • Test 174
      params: test_obj="simple string"

      📌 Runtime Parameters

      params:
        test_obj: simple string
      id: simple string
      

      📌 Setup phase

      duration:

      0.0005670289974659681
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002868860028684139
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017580506391823292
      

      outcome:

      passed
      
    • Test 175
      params: test_obj=42

      📌 Runtime Parameters

      params:
        test_obj: 42
      id: 42
      

      📌 Setup phase

      duration:

      0.000518120126798749
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003376551903784275
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016394699923694134
      

      outcome:

      passed
      
    • Test 176
      params: test_obj=3.14159

      📌 Runtime Parameters

      params:
        test_obj: 3.14159
      id: 3.14159
      

      📌 Setup phase

      duration:

      0.0005410509184002876
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002829600125551224
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001757380086928606
      

      outcome:

      passed
      
    • Test 177
      params: test_obj=[true, false, null]

      📌 Runtime Parameters

      params:
        test_obj:
          - True
          - (vide)
          - (vide)
      id: test_obj5
      

      📌 Setup phase

      duration:

      0.000554278027266264
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003021231386810541
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017560506239533424
      

      outcome:

      passed
      
    • Test 178
      params: test_obj={"complex": [{"list": [1, 2]}, {"dict": {"x": 10}}]}

      📌 Runtime Parameters

      params:
        test_obj:
          complex:
            -         list:
                - 1
                - 2
            -         dict:
                x: 10
      id: test_obj6
      

      📌 Setup phase

      duration:

      0.0005372059531509876
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002971240319311619
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017261598259210587
      

      outcome:

      passed
      
  • 📄 test_utils_printing.py

    Function: test_maxlen_valid

    • Test 179
      params: seq=["a", "abc", ""], expected=3

      📌 Runtime Parameters

      params:
        seq:
          - a
          - abc
          - (vide)
        expected: 3
      id: seq0-3
      

      📌 Setup phase

      duration:

      0.00024537998251616955
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017293891869485378
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021251593716442585
      

      outcome:

      passed
      
    • Test 180
      params: seq=[], expected=0

      📌 Runtime Parameters

      params:
        seq:
      []
        expected: 0
      id: seq1-0
      

      📌 Setup phase

      duration:

      0.00024800514802336693
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001441549975425005
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015753810293972492
      

      outcome:

      passed
      
    • Test 181
      params: seq=1, 2], [3], [4, 5, 6, expected=3

      📌 Runtime Parameters

      params:
        seq:
          -       - 1
            - 2
          -       - 3
          -       - 4
            - 5
            - 6
        expected: 3
      id: seq2-3
      

      📌 Setup phase

      duration:

      0.00024419999681413174
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001477960031479597
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014674291014671326
      

      outcome:

      passed
      
    • Test 182
      params: seq=[{"a": 2, "b": 3}, {}, {"c": 4}], expected=2

      📌 Runtime Parameters

      params:
        seq:
          -       a: 2
            b: 3
          - (vide)
          -       c: 4
        expected: 2
      id: seq3-2
      

      📌 Setup phase

      duration:

      0.0002387138083577156
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015042908489704132
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001401570625603199
      

      outcome:

      passed
      

    Function: test_maxstrlen

    • Test 183
      params: seq=[1, true, 3.1415], expected=6

      📌 Runtime Parameters

      params:
        seq:
          - 1
          - True
          - 3.1415
        expected: 6
      id: seq0-6
      

      📌 Setup phase

      duration:

      0.00024075107648968697
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017061620019376278
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014632311649620533
      

      outcome:

      passed
      
    • Test 184
      params: seq=["aa", "bbb", "c"], expected=3

      📌 Runtime Parameters

      params:
        seq:
          - aa
          - bbb
          - c
        expected: 3
      id: seq1-3
      

      📌 Setup phase

      duration:

      0.0002300068736076355
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014226697385311127
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014090398326516151
      

      outcome:

      passed
      
    • Test 185
      params: seq=1, 2], [], [1, 2, 3, expected=9

      📌 Runtime Parameters

      params:
        seq:
          -       - 1
            - 2
          - (vide)
          -       - 1
            - 2
            - 3
        expected: 9
      id: seq2-9
      

      📌 Setup phase

      duration:

      0.00023294799029827118
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015331385657191277
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016945693641901016
      

      outcome:

      passed
      
    • Test 187
      params: seq=[null, false, 12345], expected=5

      📌 Runtime Parameters

      params:
        seq:
          - (vide)
          - (vide)
          - 12345
        expected: 5
      id: seq4-5
      

      📌 Setup phase

      duration:

      0.0002615989651530981
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015552109107375145
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015534204430878162
      

      outcome:

      passed
      

    Function: test_strlen

    • Test 188
      params: value=42, expected=2

      📌 Runtime Parameters

      params:
        value: 42
        expected: 2
      id: 42-2
      

      📌 Setup phase

      duration:

      0.0002516871318221092
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000153333880007267
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017977296374738216
      

      outcome:

      passed
      
    • Test 189
      params: value="hello", expected=5

      📌 Runtime Parameters

      params:
        value: hello
        expected: 5
      id: hello-5
      

      📌 Setup phase

      duration:

      0.00022850185632705688
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015482399612665176
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014944793656468391
      

      outcome:

      passed
      
    • Test 190
      params: value=false, expected=5

      📌 Runtime Parameters

      params:
        value: False
        expected: 5
      id: False-5
      

      📌 Setup phase

      duration:

      0.00023374496959149837
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015345984138548374
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014205090701580048
      

      outcome:

      passed
      
    • Test 191
      params: value=null, expected=4

      📌 Runtime Parameters

      params:
        value: None
        expected: 4
      id: None-4
      

      📌 Setup phase

      duration:

      0.0002741841599345207
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001419049222022295
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014540785923600197
      

      outcome:

      passed
      
    • Test 192
      params: value=[1, 2, 3], expected=9

      📌 Runtime Parameters

      params:
        value:
          - 1
          - 2
          - 3
        expected: 9
      id: value4-9
      

      📌 Setup phase

      duration:

      0.00024679210036993027
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014540902338922024
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014572800137102604
      

      outcome:

      passed
      
    • Test 193
      params: value={"a": 1}, expected=8

      📌 Runtime Parameters

      params:
        value:
          a: 1
        expected: 8
      id: value5-8
      

      📌 Setup phase

      duration:

      0.00022656796500086784
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014397711493074894
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014237593859434128
      

      outcome:

      passed
      
    • Test 194
      params: value=[1, 2], expected=6

      📌 Runtime Parameters

      params:
        value:
          - 1
          - 2
        expected: 6
      id: value6-6
      

      📌 Setup phase

      duration:

      0.00022908509708940983
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015086610801517963
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015012011863291264
      

      outcome:

      passed
      
    • Test 195
      params: value="", expected=0

      📌 Runtime Parameters

      params:
        value: None
        expected: 0
      id: -0
      

      📌 Setup phase

      duration:

      0.00023043504916131496
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013914820738136768
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013601500540971756
      

      outcome:

      passed
      
    • Test 196
      params: value="ok ok", expected=5

      📌 Runtime Parameters

      params:
        value: ok ok
        expected: 5
      id: ok ok-5
      

      📌 Setup phase

      duration:

      0.00023972010239958763
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001536170020699501
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014398712664842606
      

      outcome:

      passed
      

    Function: test_mk_pad

    • Test 197
      params: x="a", length=4, expected=" "

      📌 Runtime Parameters

      params:
        x: a
        length: 4
        expected:    
      id: a-4-   
      

      📌 Setup phase

      duration:

      0.0002592031378298998
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014646584168076515
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016363500617444515
      

      outcome:

      passed
      
    • Test 198
      params: x="abc", length=4, expected=" "

      📌 Runtime Parameters

      params:
        x: abc
        length: 4
        expected:  
      id: abc-4- 
      

      📌 Setup phase

      duration:

      0.0002861169632524252
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001464479137212038
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001530628651380539
      

      outcome:

      passed
      
    • Test 199
      params: x="abcd", length=4, expected=""

      📌 Runtime Parameters

      params:
        x: abcd
        length: 4
        expected: None
      id: abcd-4-
      

      📌 Setup phase

      duration:

      0.00028920313343405724
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014384393580257893
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016013416461646557
      

      outcome:

      passed
      

    Function: test_format_header

    • Test 200
      params: msg="Title", line="-", expected="Title:\n------"

      📌 Runtime Parameters

      params:
        msg: Title
        line: -
        expected: Title:
      ------
      id: Title---Title:\n------
      

      📌 Setup phase

      duration:

      0.00029078288935124874
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014838483184576035
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001545038539916277
      

      outcome:

      passed
      

    Function: test_itemize

    • Test 202
      params: items=["apple", "banana"], header=null, bullet="-", expected_lines=["- apple", "- banana"]

      📌 Runtime Parameters

      params:
        items:
          - apple
          - banana
        header: None
        bullet: -
        expected_lines:
          - - apple
          - - banana
      id: items0-None---expected_lines0
      

      📌 Setup phase

      duration:

      0.0003563759382814169
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016134302131831646
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017202901653945446
      

      outcome:

      passed
      
    • Test 203
      params: items=["x", "y"], header="Vars", bullet="*", expected_lines=["Vars:\n-----", "* x", "* y"]

      📌 Runtime Parameters

      params:
        items:
          - x
          - y
        header: Vars
        bullet: *
        expected_lines:
          - Vars:
      -----
          - * x
          - * y
      id: items1-Vars-*-expected_lines1
      

      📌 Setup phase

      duration:

      0.00031064683571457863
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001628110185265541
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018067401833832264
      

      outcome:

      passed
      
  • 📄 test_utils_xrange.py

    Function: test_xrange_finite

    • Test 232
      params: args=[10], kwargs={}, expected=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

      📌 Runtime Parameters

      params:
        args:
          - 10
        kwargs:
      {}
        expected:
          - (vide)
          - 1
          - 2
          - 3
          - 4
          - 5
          - 6
          - 7
          - 8
          - 9
      id: args0-kwargs0-expected0
      

      📌 Setup phase

      duration:

      0.00039683212526142597
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020110211335122585
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00022522802464663982
      

      outcome:

      passed
      
    • Test 233
      params: args=[0, 10], kwargs={}, expected=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

      📌 Runtime Parameters

      params:
        args:
          - (vide)
          - 10
        kwargs:
      {}
        expected:
          - (vide)
          - 1
          - 2
          - 3
          - 4
          - 5
          - 6
          - 7
          - 8
          - 9
      id: args1-kwargs1-expected1
      

      📌 Setup phase

      duration:

      0.0002928180620074272
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015555997379124165
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002039060927927494
      

      outcome:

      passed
      
    • Test 234
      params: args=[0, 10, 2], kwargs={}, expected=[0, 2, 4, 6, 8]

      📌 Runtime Parameters

      params:
        args:
          - (vide)
          - 10
          - 2
        kwargs:
      {}
        expected:
          - (vide)
          - 2
          - 4
          - 6
          - 8
      id: args2-kwargs2-expected2
      

      📌 Setup phase

      duration:

      0.0003267989959567785
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014739297330379486
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001513659954071045
      

      outcome:

      passed
      
    • Test 235
      params: args=[10], kwargs={"step": 2}, expected=[0, 2, 4, 6, 8]

      📌 Runtime Parameters

      params:
        args:
          - 10
        kwargs:
          step: 2
        expected:
          - (vide)
          - 2
          - 4
          - 6
          - 8
      id: args3-kwargs3-expected3
      

      📌 Setup phase

      duration:

      0.0003080880269408226
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014331098645925522
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000165147939696908
      

      outcome:

      passed
      

    Function: test_xrange_infinite

    • Test 236
      params: args=[], kwargs={}, expected_repr="count(0)"

      📌 Runtime Parameters

      params:
        args:
      []
        kwargs:
      {}
        expected_repr: count(0)
      id: args0-kwargs0-count(0)
      

      📌 Setup phase

      duration:

      0.00029213004745543003
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001815080177038908
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015891622751951218
      

      outcome:

      passed
      
    • Test 237
      params: args=[], kwargs={"step": 2}, expected_repr="count(0, 2)"

      📌 Runtime Parameters

      params:
        args:
      []
        kwargs:
          step: 2
        expected_repr: count(0, 2)
      id: args1-kwargs1-count(0, 2)
      

      📌 Setup phase

      duration:

      0.00030234805308282375
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017574895173311234
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016443408094346523
      

      outcome:

      passed
      

    Function: test_xrange_too_many_args

    • Test 238
      params: args=[1, 2, 3, 4]

      📌 Runtime Parameters

      params:
        args:
          - 1
          - 2
          - 3
          - 4
      id: args0
      

      📌 Setup phase

      duration:

      0.00021664914675056934
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004934710450470448
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018855812959372997
      

      outcome:

      passed
      
  • 📄 test_ytils_utils.py

    Function: test_singleton_instance

    • Test 239

      📌 Setup phase

      duration:

      0.00012227613478899002
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001518060453236103
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013155490159988403
      

      outcome:

      passed
      

    Function: test_singleton_identity

    • Test 240

      📌 Setup phase

      duration:

      0.00010680011473596096
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013540894724428654
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012165703810751438
      

      outcome:

      passed
      

    Function: test_typename

    • Test 241
      params: obj=42, expected="int"

      📌 Runtime Parameters

      params:
        obj: 42
        expected: int
      id: 42-int
      

      📌 Setup phase

      duration:

      0.00024065794423222542
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017162691801786423
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014866492711007595
      

      outcome:

      passed
      
    • Test 242
      params: obj="hello", expected="str"

      📌 Runtime Parameters

      params:
        obj: hello
        expected: str
      id: hello-str
      

      📌 Setup phase

      duration:

      0.000252363970503211
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014247093349695206
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013654795475304127
      

      outcome:

      passed
      
    • Test 243
      params: obj="", expected="test_singleton_class"

      📌 Runtime Parameters

      params:
        obj: <test_ytils_utils.test_singleton_class object at 0x7fe79e134af0>
        expected: test_singleton_class
      id: obj2-test_singleton_class
      

      📌 Setup phase

      duration:

      0.00023218104615807533
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001541879028081894
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000147518003359437
      

      outcome:

      passed
      

    Function: test_next_int

    • Test 244
      params: nums=[1, 2, 3], expected=4

      📌 Runtime Parameters

      params:
        nums:
          - 1
          - 2
          - 3
        expected: 4
      id: nums0-4
      

      📌 Setup phase

      duration:

      0.0002593540120869875
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013872887939214706
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015353388153016567
      

      outcome:

      passed
      
    • Test 245
      params: nums=[10, 20], expected=21

      📌 Runtime Parameters

      params:
        nums:
          - 10
          - 20
        expected: 21
      id: nums1-21
      

      📌 Setup phase

      duration:

      0.00022056885063648224
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001367749646306038
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017841998487710953
      

      outcome:

      passed
      
    • Test 246
      params: nums=[], expected=0

      📌 Runtime Parameters

      params:
        nums:
      []
        expected: 0
      id: nums2-0
      

      📌 Setup phase

      duration:

      0.00022553512826561928
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001400990877300501
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014338595792651176
      

      outcome:

      passed
      

    Function: test_zero_pad

    • Test 247
      params: i=7, n=3, expected="007"

      📌 Runtime Parameters

      params:
        i: 7
        n: 3
        expected: 007
      id: 7-3-007
      

      📌 Setup phase

      duration:

      0.0002811460290104151
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018305215053260326
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001669861376285553
      

      outcome:

      passed
      
    • Test 248
      params: i=123, n=5, expected="00123"

      📌 Runtime Parameters

      params:
        i: 123
        n: 5
        expected: 00123
      id: 123-5-00123
      

      📌 Setup phase

      duration:

      0.00028101401403546333
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014433404430747032
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019599799998104572
      

      outcome:

      passed
      
    • Test 249
      params: i=0, n=2, expected="00"

      📌 Runtime Parameters

      params:
        i: 0
        n: 2
        expected: 00
      id: 0-2-00
      

      📌 Setup phase

      duration:

      0.00028117699548602104
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014040409587323666
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001940499059855938
      

      outcome:

      passed
      

    Function: test_iround

    • Test 250
      params: val=3.6, expected=4

      📌 Runtime Parameters

      params:
        val: 3.6
        expected: 4
      id: 3.6-4
      

      📌 Setup phase

      duration:

      0.00023624300956726074
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015735207125544548
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001622240524739027
      

      outcome:

      passed
      
    • Test 251
      params: val=2.1, expected=2

      📌 Runtime Parameters

      params:
        val: 2.1
        expected: 2
      id: 2.1-2
      

      📌 Setup phase

      duration:

      0.00026200595311820507
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016379705630242825
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014901510439813137
      

      outcome:

      passed
      
    • Test 252
      params: val=-1.5, expected=-2

      📌 Runtime Parameters

      params:
        val: -1.5
        expected: -2
      id: -1.5--2
      

      📌 Setup phase

      duration:

      0.0002680260222405195
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013904785737395287
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001455510500818491
      

      outcome:

      passed
      
    • Test 253
      params: val=-1.4, expected=-1

      📌 Runtime Parameters

      params:
        val: -1.4
        expected: -1
      id: -1.4--1
      

      📌 Setup phase

      duration:

      0.00023258686996996403
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013595097698271275
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001403649803251028
      

      outcome:

      passed
      

    Function: test_sorted_naturally

    • Test 254
      params: items=["file1", "file10", "file2"], expected=["file1", "file2", "file10"]

      📌 Runtime Parameters

      params:
        items:
          - file1
          - file10
          - file2
        expected:
          - file1
          - file2
          - file10
      id: items0-expected0
      

      📌 Setup phase

      duration:

      0.0002866520080715418
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016987603157758713
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014262297190725803
      

      outcome:

      passed
      
    • Test 255
      params: items=["z9", "z10", "z2", "z1"], expected=["z1", "z2", "z9", "z10"]

      📌 Runtime Parameters

      params:
        items:
          - z9
          - z10
          - z2
          - z1
        expected:
          - z1
          - z2
          - z9
          - z10
      id: items1-expected1
      

      📌 Setup phase

      duration:

      0.00023130583576858044
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001582771074026823
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015048799104988575
      

      outcome:

      passed
      

    Function: test_sorted_naturally_reverse

    • Test 256
      params: items=["file1", "file10", "file2"], expected=["file10", "file2", "file1"]

      📌 Runtime Parameters

      params:
        items:
          - file1
          - file10
          - file2
        expected:
          - file10
          - file2
          - file1
      id: items0-expected0
      

      📌 Setup phase

      duration:

      0.00025012600235641
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016009993851184845
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0006049750372767448
      

      outcome:

      passed
      
Failed (51)
  • 📄 test_utils_debug.py

    Function: test_short_repr

    • Test 72
      params: value="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", cutoff=10, expected="'aaaaaaaaaa..."

      📌 Runtime Parameters

      params:
        value: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
        cutoff: 10
        expected: 'aaaaaaaaaa...
      id: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-10-'aaaaaaaaaa...
      

      📌 Setup phase

      duration:

      0.0003000108990818262
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009516330901533365
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_debug.py
      lineno: 66
      message: assert "'aaaaaaaaa..." == "'aaaaaaaaaa..."
      
        - 'aaaaaaaaaa...
        ?  -
        + 'aaaaaaaaa...
      

      traceback:

      -   path: tests/test_utils_debug.py
        lineno: 66
        message: AssertionError
      

      longrepr:

      value = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
      cutoff = 10, expected = "'aaaaaaaaaa..."
      
          @pytest.mark.parametrize(
              "value, cutoff, expected",
              [
                  ("abc", 10, "'abc'"),
                  ("a" * 100, 10, "'aaaaaaaaaa..."),
                  (12345, 10, "12345"),
                  ([0]*100, 15, str(repr([0]*100))[:15] + "..."),
                  (None, 10, "None"),
                  (type("Obj", (), {"__repr__": lambda self: "Obj(" + "x"*50 + ")"})(), 20, "Obj(xxxxxxxxxxxxxxxxx..."),
              ]
          )
      
          def test_short_repr(value, cutoff, expected):
      >       assert short_repr(value, cutoff) == expected
      E       assert "'aaaaaaaaa..." == "'aaaaaaaaaa..."
      E         
      E         - 'aaaaaaaaaa...
      E         ?  -
      E         + 'aaaaaaaaa...
      
      tests/test_utils_debug.py:66: AssertionError
      

      📌 Teardown phase

      duration:

      0.0003421690780669451
      

      outcome:

      passed
      
    • Test 76
      params: value="Obj(xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)", cutoff=20, expected="Obj(xxxxxxxxxxxxxxxxx..."

      📌 Runtime Parameters

      params:
        value: Obj(xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)
        cutoff: 20
        expected: Obj(xxxxxxxxxxxxxxxxx...
      id: value5-20-Obj(xxxxxxxxxxxxxxxxx...
      

      📌 Setup phase

      duration:

      0.0002830750308930874
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005952229257673025
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_debug.py
      lineno: 66
      message: AssertionError: assert 'Obj(xxxxxxxxxxxxxxxx...' == 'Obj(xxxxxxxxxxxxxxxxx...'
      
        - Obj(xxxxxxxxxxxxxxxxx...
        ?                     -
        + Obj(xxxxxxxxxxxxxxxx...
      

      traceback:

      -   path: tests/test_utils_debug.py
        lineno: 66
        message: AssertionError
      

      longrepr:

      value = Obj(xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx), cutoff = 20
      expected = 'Obj(xxxxxxxxxxxxxxxxx...'
      
          @pytest.mark.parametrize(
              "value, cutoff, expected",
              [
                  ("abc", 10, "'abc'"),
                  ("a" * 100, 10, "'aaaaaaaaaa..."),
                  (12345, 10, "12345"),
                  ([0]*100, 15, str(repr([0]*100))[:15] + "..."),
                  (None, 10, "None"),
                  (type("Obj", (), {"__repr__": lambda self: "Obj(" + "x"*50 + ")"})(), 20, "Obj(xxxxxxxxxxxxxxxxx..."),
              ]
          )
      
          def test_short_repr(value, cutoff, expected):
      >       assert short_repr(value, cutoff) == expected
      E       AssertionError: assert 'Obj(xxxxxxxxxxxxxxxx...' == 'Obj(xxxxxxxxxxxxxxxxx...'
      E         
      E         - Obj(xxxxxxxxxxxxxxxxx...
      E         ?                     -
      E         + Obj(xxxxxxxxxxxxxxxx...
      
      tests/test_utils_debug.py:66: AssertionError
      

      📌 Teardown phase

      duration:

      0.00020802300423383713
      

      outcome:

      passed
      
  • 📄 test_utils_logcfg.py

    Function: test_import_logging_once_per_module

    • Test 108

      📌 Setup phase

      duration:

      0.00015681586228311062
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      1.8661437658593059
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_logcfg.py
      lineno: 87
      message: AssertionError: Expected 1 import log for 'json', found 2
      assert 2 == 1
      

      traceback:

      -   path: tests/test_utils_logcfg.py
        lineno: 87
        message: AssertionError
      

      longrepr:

      def test_import_logging_once_per_module():
              code = textwrap.dedent("""
                  import sys
                  from slic.utils.logcfg import setup_import_logging, add_log_Level, logcfg
                  from logzero import logger as log
                  import logging
      
                  add_log_Level(log, "TRACE", logging.DEBUG - 1, func_name="trace")
                  logcfg("TRACE")
                  setup_import_logging()
      
                  import json
                  import math
                  import io
                  import random
              """)
      
              with tempfile.NamedTemporaryFile("w", suffix=".py", delete=False) as tmp:
                  tmp.write(code)
                  tmp_path = tmp.name
      
              env = os.environ.copy()
              root_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
              env["PYTHONPATH"] = root_path + os.pathsep + env.get("PYTHONPATH", "")
      
              result = subprocess.run([sys.executable, tmp_path], capture_output=True, text=True, env=env)
              os.remove(tmp_path)
      
              assert result.returncode == 0, f"Script failed:\n{result.stderr}"
      
              stderr = result.stderr
              lines = stderr.splitlines()
      
              for mod in ["json", "math", "io", "random"]:
                  count = sum(1 for line in lines if f"importing: {mod}" in line)
      >           assert count == 1, f"Expected 1 import log for '{mod}', found {count}"
      E           AssertionError: Expected 1 import log for 'json', found 2
      E           assert 2 == 1
      
      tests/test_utils_logcfg.py:87: AssertionError
      

      📌 Teardown phase

      duration:

      0.00042781000956892967
      

      outcome:

      passed
      
  • 📄 test_utils_npy.py

    Function: test_nice_arange

    • Test 117
      params: start=5, stop=0, step=-1, expected="[5. 4. 3. 2. 1. 0.]"

      📌 Runtime Parameters

      params:
        start: 5
        stop: 0
        step: -1
        expected: [5. 4. 3. 2. 1. 0.]
      id: 5-0--1-expected1
      

      📌 Setup phase

      duration:

      0.0003873850218951702
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0010977520141750574
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/contextlib.py
      lineno: 75
      message: AssertionError: 
      Not equal to tolerance rtol=1e-06, atol=0
      
      Mismatched elements: 6 / 6 (100%)
      Max absolute difference: 5.
      Max relative difference: 3.
       x: array([0., 1., 2., 3., 4., 5.])
       y: array([5., 4., 3., 2., 1., 0.])
      

      traceback:

      -   path: tests/test_utils_npy.py
        lineno: 16
        message: None
      -   path: .pixi/envs/default/lib/python3.8/contextlib.py
        lineno: 75
        message: AssertionError
      

      longrepr:

      start = 5, stop = 0, step = -1, expected = array([5., 4., 3., 2., 1., 0.])
      
          @pytest.mark.parametrize("start, stop, step, expected", [
              (0, 5, 1, np.linspace(0, 5, 6)),                       # regular integer step
              (5, 0, -1, np.linspace(5, 0, 6)),                      # reversed with negative step
              (1, 2, 0.3, np.linspace(1, 2, 4)),                     # step doesn't divide evenly
              (-2, 2, 1.5, np.linspace(-2, 2, 3)),                   # centered range
              (2.5, 0.5, -0.4, np.linspace(2.5, 0.5, 6)),            # reversed float
          ])
          def test_nice_arange(start, stop, step, expected):
      >       np.testing.assert_allclose(nice_arange(start, stop, step), expected, rtol=1e-6)
      
      tests/test_utils_npy.py:16: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      args = (<function assert_allclose.<locals>.compare at 0x7fe79dfc8f70>, array([0., 1., 2., 3., 4., 5.]), array([5., 4., 3., 2., 1., 0.]))
      kwds = {'equal_nan': True, 'err_msg': '', 'header': 'Not equal to tolerance rtol=1e-06, atol=0', 'verbose': True}
      
          @wraps(func)
          def inner(*args, **kwds):
              with self._recreate_cm():
      >           return func(*args, **kwds)
      E           AssertionError: 
      E           Not equal to tolerance rtol=1e-06, atol=0
      E           
      E           Mismatched elements: 6 / 6 (100%)
      E           Max absolute difference: 5.
      E           Max relative difference: 3.
      E            x: array([0., 1., 2., 3., 4., 5.])
      E            y: array([5., 4., 3., 2., 1., 0.])
      
      .pixi/envs/default/lib/python3.8/contextlib.py:75: AssertionError
      

      📌 Teardown phase

      duration:

      0.0002229670062661171
      

      outcome:

      passed
      
    • Test 119
      params: start=-2, stop=2, step=1.5, expected="[-2. 0. 2.]"

      📌 Runtime Parameters

      params:
        start: -2
        stop: 2
        step: 1.5
        expected: [-2.  0.  2.]
      id: -2-2-1.5-expected3
      

      📌 Setup phase

      duration:

      0.000358266057446599
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005441631656140089
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/contextlib.py
      lineno: 75
      message: AssertionError: 
      Not equal to tolerance rtol=1e-06, atol=0
      
      (shapes (4,), (3,) mismatch)
       x: array([-2.      , -0.666667,  0.666667,  2.      ])
       y: array([-2.,  0.,  2.])
      

      traceback:

      -   path: tests/test_utils_npy.py
        lineno: 16
        message: None
      -   path: .pixi/envs/default/lib/python3.8/contextlib.py
        lineno: 75
        message: AssertionError
      

      longrepr:

      start = -2, stop = 2, step = 1.5, expected = array([-2.,  0.,  2.])
      
          @pytest.mark.parametrize("start, stop, step, expected", [
              (0, 5, 1, np.linspace(0, 5, 6)),                       # regular integer step
              (5, 0, -1, np.linspace(5, 0, 6)),                      # reversed with negative step
              (1, 2, 0.3, np.linspace(1, 2, 4)),                     # step doesn't divide evenly
              (-2, 2, 1.5, np.linspace(-2, 2, 3)),                   # centered range
              (2.5, 0.5, -0.4, np.linspace(2.5, 0.5, 6)),            # reversed float
          ])
          def test_nice_arange(start, stop, step, expected):
      >       np.testing.assert_allclose(nice_arange(start, stop, step), expected, rtol=1e-6)
      
      tests/test_utils_npy.py:16: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      args = (<function assert_allclose.<locals>.compare at 0x7fe79dfc8d30>, array([-2.        , -0.66666667,  0.66666667,  2.        ]), array([-2.,  0.,  2.]))
      kwds = {'equal_nan': True, 'err_msg': '', 'header': 'Not equal to tolerance rtol=1e-06, atol=0', 'verbose': True}
      
          @wraps(func)
          def inner(*args, **kwds):
              with self._recreate_cm():
      >           return func(*args, **kwds)
      E           AssertionError: 
      E           Not equal to tolerance rtol=1e-06, atol=0
      E           
      E           (shapes (4,), (3,) mismatch)
      E            x: array([-2.      , -0.666667,  0.666667,  2.      ])
      E            y: array([-2.,  0.,  2.])
      
      .pixi/envs/default/lib/python3.8/contextlib.py:75: AssertionError
      

      📌 Teardown phase

      duration:

      0.00022149388678371906
      

      outcome:

      passed
      
    • Test 120
      params: start=2.5, stop=0.5, step=-0.4, expected="[2.5 2.1 1.7 1.3 0.9 0.5]"

      📌 Runtime Parameters

      params:
        start: 2.5
        stop: 0.5
        step: -0.4
        expected: [2.5 2.1 1.7 1.3 0.9 0.5]
      id: 2.5-0.5--0.4-expected4
      

      📌 Setup phase

      duration:

      0.0003988449461758137
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008725621737539768
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/contextlib.py
      lineno: 75
      message: AssertionError: 
      Not equal to tolerance rtol=1e-06, atol=0
      
      Mismatched elements: 6 / 6 (100%)
      Max absolute difference: 2.
      Max relative difference: 4.
       x: array([0.5, 0.9, 1.3, 1.7, 2.1, 2.5])
       y: array([2.5, 2.1, 1.7, 1.3, 0.9, 0.5])
      

      traceback:

      -   path: tests/test_utils_npy.py
        lineno: 16
        message: None
      -   path: .pixi/envs/default/lib/python3.8/contextlib.py
        lineno: 75
        message: AssertionError
      

      longrepr:

      start = 2.5, stop = 0.5, step = -0.4
      expected = array([2.5, 2.1, 1.7, 1.3, 0.9, 0.5])
      
          @pytest.mark.parametrize("start, stop, step, expected", [
              (0, 5, 1, np.linspace(0, 5, 6)),                       # regular integer step
              (5, 0, -1, np.linspace(5, 0, 6)),                      # reversed with negative step
              (1, 2, 0.3, np.linspace(1, 2, 4)),                     # step doesn't divide evenly
              (-2, 2, 1.5, np.linspace(-2, 2, 3)),                   # centered range
              (2.5, 0.5, -0.4, np.linspace(2.5, 0.5, 6)),            # reversed float
          ])
          def test_nice_arange(start, stop, step, expected):
      >       np.testing.assert_allclose(nice_arange(start, stop, step), expected, rtol=1e-6)
      
      tests/test_utils_npy.py:16: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      args = (<function assert_allclose.<locals>.compare at 0x7fe79dfc8f70>, array([0.5, 0.9, 1.3, 1.7, 2.1, 2.5]), array([2.5, 2.1, 1.7, 1.3, 0.9, 0.5]))
      kwds = {'equal_nan': True, 'err_msg': '', 'header': 'Not equal to tolerance rtol=1e-06, atol=0', 'verbose': True}
      
          @wraps(func)
          def inner(*args, **kwds):
              with self._recreate_cm():
      >           return func(*args, **kwds)
      E           AssertionError: 
      E           Not equal to tolerance rtol=1e-06, atol=0
      E           
      E           Mismatched elements: 6 / 6 (100%)
      E           Max absolute difference: 2.
      E           Max relative difference: 4.
      E            x: array([0.5, 0.9, 1.3, 1.7, 2.1, 2.5])
      E            y: array([2.5, 2.1, 1.7, 1.3, 0.9, 0.5])
      
      .pixi/envs/default/lib/python3.8/contextlib.py:75: AssertionError
      

      📌 Teardown phase

      duration:

      0.0002327950205653906
      

      outcome:

      passed
      

    Function: test_nice_steps_left_aligned

    • Test 132
      params: start=0, stop=5, step=2, endpoint=true, expected="[0. 2. 4. 6.]"

      📌 Runtime Parameters

      params:
        start: 0
        stop: 5
        step: 2
        endpoint: True
        expected: [0. 2. 4. 6.]
      id: 0-5-2-True-expected0
      

      📌 Setup phase

      duration:

      0.00040006102062761784
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005281118210405111
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/contextlib.py
      lineno: 75
      message: AssertionError: 
      Not equal to tolerance rtol=1e-07, atol=0
      
      (shapes (3,), (4,) mismatch)
       x: array([0, 2, 4])
       y: array([0., 2., 4., 6.])
      

      traceback:

      -   path: tests/test_utils_npy.py
        lineno: 53
        message: None
      -   path: .pixi/envs/default/lib/python3.8/contextlib.py
        lineno: 75
        message: AssertionError
      

      longrepr:

      start = 0, stop = 5, step = 2, endpoint = True
      expected = array([0., 2., 4., 6.])
      
          @pytest.mark.parametrize("start, stop, step, endpoint, expected", [
              (0, 5, 2, True, np.array([0., 2., 4., 6.])),               # Normal case with endpoint overshooting
              (0, 5, 2, False, np.array([0., 2., 4.])),                  # No endpoint
              (-1, 2, 1.5, True, np.array([-1., 0.5, 2.])),              # Needs fractional alignment to include stop
              (-1, 2, 1.5, False, np.array([-1., 0.5])),                 # Same range but no endpoint
              (-2, 1, 1.2, True, np.array([-2., -0.8, 0.4, 1.6])),       # Step overshoots
              (5, 0, -2, True, np.array([5., 3., 1., -1.])),             # Backward steps with overshoot
              (5, 0, -2, False, np.array([5., 3., 1.])),                 # No endpoint, backward
          ])
          def test_nice_steps_left_aligned(start, stop, step, endpoint, expected):
      >       np.testing.assert_allclose(nice_steps_left_aligned(start, stop, step, endpoint), expected)
      
      tests/test_utils_npy.py:53: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      args = (<function assert_allclose.<locals>.compare at 0x7fe79c774a60>, array([0, 2, 4]), array([0., 2., 4., 6.]))
      kwds = {'equal_nan': True, 'err_msg': '', 'header': 'Not equal to tolerance rtol=1e-07, atol=0', 'verbose': True}
      
          @wraps(func)
          def inner(*args, **kwds):
              with self._recreate_cm():
      >           return func(*args, **kwds)
      E           AssertionError: 
      E           Not equal to tolerance rtol=1e-07, atol=0
      E           
      E           (shapes (3,), (4,) mismatch)
      E            x: array([0, 2, 4])
      E            y: array([0., 2., 4., 6.])
      
      .pixi/envs/default/lib/python3.8/contextlib.py:75: AssertionError
      

      📌 Teardown phase

      duration:

      0.0002468191087245941
      

      outcome:

      passed
      
    • Test 133
      params: start=0, stop=5, step=2, endpoint=false, expected="[0. 2. 4.]"

      📌 Runtime Parameters

      params:
        start: 0
        stop: 5
        step: 2
        endpoint: False
        expected: [0. 2. 4.]
      id: 0-5-2-False-expected1
      

      📌 Setup phase

      duration:

      0.00038793496787548065
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004729069769382477
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/contextlib.py
      lineno: 75
      message: AssertionError: 
      Not equal to tolerance rtol=1e-07, atol=0
      
      (shapes (2,), (3,) mismatch)
       x: array([0, 2])
       y: array([0., 2., 4.])
      

      traceback:

      -   path: tests/test_utils_npy.py
        lineno: 53
        message: None
      -   path: .pixi/envs/default/lib/python3.8/contextlib.py
        lineno: 75
        message: AssertionError
      

      longrepr:

      start = 0, stop = 5, step = 2, endpoint = False, expected = array([0., 2., 4.])
      
          @pytest.mark.parametrize("start, stop, step, endpoint, expected", [
              (0, 5, 2, True, np.array([0., 2., 4., 6.])),               # Normal case with endpoint overshooting
              (0, 5, 2, False, np.array([0., 2., 4.])),                  # No endpoint
              (-1, 2, 1.5, True, np.array([-1., 0.5, 2.])),              # Needs fractional alignment to include stop
              (-1, 2, 1.5, False, np.array([-1., 0.5])),                 # Same range but no endpoint
              (-2, 1, 1.2, True, np.array([-2., -0.8, 0.4, 1.6])),       # Step overshoots
              (5, 0, -2, True, np.array([5., 3., 1., -1.])),             # Backward steps with overshoot
              (5, 0, -2, False, np.array([5., 3., 1.])),                 # No endpoint, backward
          ])
          def test_nice_steps_left_aligned(start, stop, step, endpoint, expected):
      >       np.testing.assert_allclose(nice_steps_left_aligned(start, stop, step, endpoint), expected)
      
      tests/test_utils_npy.py:53: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      args = (<function assert_allclose.<locals>.compare at 0x7fe79c774790>, array([0, 2]), array([0., 2., 4.]))
      kwds = {'equal_nan': True, 'err_msg': '', 'header': 'Not equal to tolerance rtol=1e-07, atol=0', 'verbose': True}
      
          @wraps(func)
          def inner(*args, **kwds):
              with self._recreate_cm():
      >           return func(*args, **kwds)
      E           AssertionError: 
      E           Not equal to tolerance rtol=1e-07, atol=0
      E           
      E           (shapes (2,), (3,) mismatch)
      E            x: array([0, 2])
      E            y: array([0., 2., 4.])
      
      .pixi/envs/default/lib/python3.8/contextlib.py:75: AssertionError
      

      📌 Teardown phase

      duration:

      0.00022158492356538773
      

      outcome:

      passed
      
    • Test 136
      params: start=-2, stop=1, step=1.2, endpoint=true, expected="[-2. -0.8 0.4 1.6]"

      📌 Runtime Parameters

      params:
        start: -2
        stop: 1
        step: 1.2
        endpoint: True
        expected: [-2.  -0.8  0.4  1.6]
      id: -2-1-1.2-True-expected4
      

      📌 Setup phase

      duration:

      0.00039109610952436924
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004978529177606106
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/contextlib.py
      lineno: 75
      message: AssertionError: 
      Not equal to tolerance rtol=1e-07, atol=0
      
      (shapes (3,), (4,) mismatch)
       x: array([-2. , -0.8,  0.4])
       y: array([-2. , -0.8,  0.4,  1.6])
      

      traceback:

      -   path: tests/test_utils_npy.py
        lineno: 53
        message: None
      -   path: .pixi/envs/default/lib/python3.8/contextlib.py
        lineno: 75
        message: AssertionError
      

      longrepr:

      start = -2, stop = 1, step = 1.2, endpoint = True
      expected = array([-2. , -0.8,  0.4,  1.6])
      
          @pytest.mark.parametrize("start, stop, step, endpoint, expected", [
              (0, 5, 2, True, np.array([0., 2., 4., 6.])),               # Normal case with endpoint overshooting
              (0, 5, 2, False, np.array([0., 2., 4.])),                  # No endpoint
              (-1, 2, 1.5, True, np.array([-1., 0.5, 2.])),              # Needs fractional alignment to include stop
              (-1, 2, 1.5, False, np.array([-1., 0.5])),                 # Same range but no endpoint
              (-2, 1, 1.2, True, np.array([-2., -0.8, 0.4, 1.6])),       # Step overshoots
              (5, 0, -2, True, np.array([5., 3., 1., -1.])),             # Backward steps with overshoot
              (5, 0, -2, False, np.array([5., 3., 1.])),                 # No endpoint, backward
          ])
          def test_nice_steps_left_aligned(start, stop, step, endpoint, expected):
      >       np.testing.assert_allclose(nice_steps_left_aligned(start, stop, step, endpoint), expected)
      
      tests/test_utils_npy.py:53: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      args = (<function assert_allclose.<locals>.compare at 0x7fe79c774670>, array([-2. , -0.8,  0.4]), array([-2. , -0.8,  0.4,  1.6]))
      kwds = {'equal_nan': True, 'err_msg': '', 'header': 'Not equal to tolerance rtol=1e-07, atol=0', 'verbose': True}
      
          @wraps(func)
          def inner(*args, **kwds):
              with self._recreate_cm():
      >           return func(*args, **kwds)
      E           AssertionError: 
      E           Not equal to tolerance rtol=1e-07, atol=0
      E           
      E           (shapes (3,), (4,) mismatch)
      E            x: array([-2. , -0.8,  0.4])
      E            y: array([-2. , -0.8,  0.4,  1.6])
      
      .pixi/envs/default/lib/python3.8/contextlib.py:75: AssertionError
      

      📌 Teardown phase

      duration:

      0.00022360705770552158
      

      outcome:

      passed
      
    • Test 137
      params: start=5, stop=0, step=-2, endpoint=true, expected="[ 5. 3. 1. -1.]"

      📌 Runtime Parameters

      params:
        start: 5
        stop: 0
        step: -2
        endpoint: True
        expected: [ 5.  3.  1. -1.]
      id: 5-0--2-True-expected5
      

      📌 Setup phase

      duration:

      0.00038692401722073555
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004775659181177616
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/contextlib.py
      lineno: 75
      message: AssertionError: 
      Not equal to tolerance rtol=1e-07, atol=0
      
      (shapes (3,), (4,) mismatch)
       x: array([0, 2, 4])
       y: array([ 5.,  3.,  1., -1.])
      

      traceback:

      -   path: tests/test_utils_npy.py
        lineno: 53
        message: None
      -   path: .pixi/envs/default/lib/python3.8/contextlib.py
        lineno: 75
        message: AssertionError
      

      longrepr:

      start = 5, stop = 0, step = -2, endpoint = True
      expected = array([ 5.,  3.,  1., -1.])
      
          @pytest.mark.parametrize("start, stop, step, endpoint, expected", [
              (0, 5, 2, True, np.array([0., 2., 4., 6.])),               # Normal case with endpoint overshooting
              (0, 5, 2, False, np.array([0., 2., 4.])),                  # No endpoint
              (-1, 2, 1.5, True, np.array([-1., 0.5, 2.])),              # Needs fractional alignment to include stop
              (-1, 2, 1.5, False, np.array([-1., 0.5])),                 # Same range but no endpoint
              (-2, 1, 1.2, True, np.array([-2., -0.8, 0.4, 1.6])),       # Step overshoots
              (5, 0, -2, True, np.array([5., 3., 1., -1.])),             # Backward steps with overshoot
              (5, 0, -2, False, np.array([5., 3., 1.])),                 # No endpoint, backward
          ])
          def test_nice_steps_left_aligned(start, stop, step, endpoint, expected):
      >       np.testing.assert_allclose(nice_steps_left_aligned(start, stop, step, endpoint), expected)
      
      tests/test_utils_npy.py:53: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      args = (<function assert_allclose.<locals>.compare at 0x7fe79c779310>, array([0, 2, 4]), array([ 5.,  3.,  1., -1.]))
      kwds = {'equal_nan': True, 'err_msg': '', 'header': 'Not equal to tolerance rtol=1e-07, atol=0', 'verbose': True}
      
          @wraps(func)
          def inner(*args, **kwds):
              with self._recreate_cm():
      >           return func(*args, **kwds)
      E           AssertionError: 
      E           Not equal to tolerance rtol=1e-07, atol=0
      E           
      E           (shapes (3,), (4,) mismatch)
      E            x: array([0, 2, 4])
      E            y: array([ 5.,  3.,  1., -1.])
      
      .pixi/envs/default/lib/python3.8/contextlib.py:75: AssertionError
      

      📌 Teardown phase

      duration:

      0.00022359401918947697
      

      outcome:

      passed
      
    • Test 138
      params: start=5, stop=0, step=-2, endpoint=false, expected="[5. 3. 1.]"

      📌 Runtime Parameters

      params:
        start: 5
        stop: 0
        step: -2
        endpoint: False
        expected: [5. 3. 1.]
      id: 5-0--2-False-expected6
      

      📌 Setup phase

      duration:

      0.000382730970159173
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004515519831329584
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/contextlib.py
      lineno: 75
      message: AssertionError: 
      Not equal to tolerance rtol=1e-07, atol=0
      
      (shapes (2,), (3,) mismatch)
       x: array([0, 2])
       y: array([5., 3., 1.])
      

      traceback:

      -   path: tests/test_utils_npy.py
        lineno: 53
        message: None
      -   path: .pixi/envs/default/lib/python3.8/contextlib.py
        lineno: 75
        message: AssertionError
      

      longrepr:

      start = 5, stop = 0, step = -2, endpoint = False, expected = array([5., 3., 1.])
      
          @pytest.mark.parametrize("start, stop, step, endpoint, expected", [
              (0, 5, 2, True, np.array([0., 2., 4., 6.])),               # Normal case with endpoint overshooting
              (0, 5, 2, False, np.array([0., 2., 4.])),                  # No endpoint
              (-1, 2, 1.5, True, np.array([-1., 0.5, 2.])),              # Needs fractional alignment to include stop
              (-1, 2, 1.5, False, np.array([-1., 0.5])),                 # Same range but no endpoint
              (-2, 1, 1.2, True, np.array([-2., -0.8, 0.4, 1.6])),       # Step overshoots
              (5, 0, -2, True, np.array([5., 3., 1., -1.])),             # Backward steps with overshoot
              (5, 0, -2, False, np.array([5., 3., 1.])),                 # No endpoint, backward
          ])
          def test_nice_steps_left_aligned(start, stop, step, endpoint, expected):
      >       np.testing.assert_allclose(nice_steps_left_aligned(start, stop, step, endpoint), expected)
      
      tests/test_utils_npy.py:53: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      args = (<function assert_allclose.<locals>.compare at 0x7fe79c779ee0>, array([0, 2]), array([5., 3., 1.]))
      kwds = {'equal_nan': True, 'err_msg': '', 'header': 'Not equal to tolerance rtol=1e-07, atol=0', 'verbose': True}
      
          @wraps(func)
          def inner(*args, **kwds):
              with self._recreate_cm():
      >           return func(*args, **kwds)
      E           AssertionError: 
      E           Not equal to tolerance rtol=1e-07, atol=0
      E           
      E           (shapes (2,), (3,) mismatch)
      E            x: array([0, 2])
      E            y: array([5., 3., 1.])
      
      .pixi/envs/default/lib/python3.8/contextlib.py:75: AssertionError
      

      📌 Teardown phase

      duration:

      0.00022038305178284645
      

      outcome:

      passed
      

    Function: test_nice_steps_right_aligned

    • Test 139
      params: start=0, stop=5, step=2, endpoint=true, expected="[6. 4. 2. 0.]"

      📌 Runtime Parameters

      params:
        start: 0
        stop: 5
        step: 2
        endpoint: True
        expected: [6. 4. 2. 0.]
      id: 0-5-2-True-expected0
      

      📌 Setup phase

      duration:

      0.0003872760571539402
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000465604942291975
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/contextlib.py
      lineno: 75
      message: AssertionError: 
      Not equal to tolerance rtol=1e-07, atol=0
      
      (shapes (3,), (4,) mismatch)
       x: array([1, 3, 5])
       y: array([6., 4., 2., 0.])
      

      traceback:

      -   path: tests/test_utils_npy.py
        lineno: 67
        message: None
      -   path: .pixi/envs/default/lib/python3.8/contextlib.py
        lineno: 75
        message: AssertionError
      

      longrepr:

      start = 0, stop = 5, step = 2, endpoint = True
      expected = array([6., 4., 2., 0.])
      
          @pytest.mark.parametrize("start, stop, step, endpoint, expected", [
              (0, 5, 2, True, np.array([6., 4., 2., 0.])),               # Right-aligned, overshoots left
              (0, 5, 2, False, np.array([4., 2., 0.])),                  # Right-aligned, no endpoint
              (-1, 2, 1.5, True, np.array([2., 0.5, -1.])),              # Step doesn t divide evenly, reverse it
              (-1, 2, 1.5, False, np.array([0.5, -1.])),                 # Without endpoint
              (5, 0, -2, True, np.array([5., 3., 1., -1.])),             # Negative step, includes endpoint overshoot
              (5, 0, -2, False, np.array([3., 1., -1.])),                # No endpoint, skips last one
              (-3, 3, 2, True, np.array([5., 3., 1., -1., -3.])),        # Large symmetric range, reverse
          ])
          def test_nice_steps_right_aligned(start, stop, step, endpoint, expected):
      >       np.testing.assert_allclose(nice_steps_right_aligned(start, stop, step, endpoint), expected)
      
      tests/test_utils_npy.py:67: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      args = (<function assert_allclose.<locals>.compare at 0x7fe79c779af0>, array([1, 3, 5]), array([6., 4., 2., 0.]))
      kwds = {'equal_nan': True, 'err_msg': '', 'header': 'Not equal to tolerance rtol=1e-07, atol=0', 'verbose': True}
      
          @wraps(func)
          def inner(*args, **kwds):
              with self._recreate_cm():
      >           return func(*args, **kwds)
      E           AssertionError: 
      E           Not equal to tolerance rtol=1e-07, atol=0
      E           
      E           (shapes (3,), (4,) mismatch)
      E            x: array([1, 3, 5])
      E            y: array([6., 4., 2., 0.])
      
      .pixi/envs/default/lib/python3.8/contextlib.py:75: AssertionError
      

      📌 Teardown phase

      duration:

      0.0002284729853272438
      

      outcome:

      passed
      
    • Test 140
      params: start=0, stop=5, step=2, endpoint=false, expected="[4. 2. 0.]"

      📌 Runtime Parameters

      params:
        start: 0
        stop: 5
        step: 2
        endpoint: False
        expected: [4. 2. 0.]
      id: 0-5-2-False-expected1
      

      📌 Setup phase

      duration:

      0.000376909039914608
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00047154701314866543
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/contextlib.py
      lineno: 75
      message: AssertionError: 
      Not equal to tolerance rtol=1e-07, atol=0
      
      (shapes (2,), (3,) mismatch)
       x: array([3, 5])
       y: array([4., 2., 0.])
      

      traceback:

      -   path: tests/test_utils_npy.py
        lineno: 67
        message: None
      -   path: .pixi/envs/default/lib/python3.8/contextlib.py
        lineno: 75
        message: AssertionError
      

      longrepr:

      start = 0, stop = 5, step = 2, endpoint = False, expected = array([4., 2., 0.])
      
          @pytest.mark.parametrize("start, stop, step, endpoint, expected", [
              (0, 5, 2, True, np.array([6., 4., 2., 0.])),               # Right-aligned, overshoots left
              (0, 5, 2, False, np.array([4., 2., 0.])),                  # Right-aligned, no endpoint
              (-1, 2, 1.5, True, np.array([2., 0.5, -1.])),              # Step doesn t divide evenly, reverse it
              (-1, 2, 1.5, False, np.array([0.5, -1.])),                 # Without endpoint
              (5, 0, -2, True, np.array([5., 3., 1., -1.])),             # Negative step, includes endpoint overshoot
              (5, 0, -2, False, np.array([3., 1., -1.])),                # No endpoint, skips last one
              (-3, 3, 2, True, np.array([5., 3., 1., -1., -3.])),        # Large symmetric range, reverse
          ])
          def test_nice_steps_right_aligned(start, stop, step, endpoint, expected):
      >       np.testing.assert_allclose(nice_steps_right_aligned(start, stop, step, endpoint), expected)
      
      tests/test_utils_npy.py:67: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      args = (<function assert_allclose.<locals>.compare at 0x7fe79c75cd30>, array([3, 5]), array([4., 2., 0.]))
      kwds = {'equal_nan': True, 'err_msg': '', 'header': 'Not equal to tolerance rtol=1e-07, atol=0', 'verbose': True}
      
          @wraps(func)
          def inner(*args, **kwds):
              with self._recreate_cm():
      >           return func(*args, **kwds)
      E           AssertionError: 
      E           Not equal to tolerance rtol=1e-07, atol=0
      E           
      E           (shapes (2,), (3,) mismatch)
      E            x: array([3, 5])
      E            y: array([4., 2., 0.])
      
      .pixi/envs/default/lib/python3.8/contextlib.py:75: AssertionError
      

      📌 Teardown phase

      duration:

      0.0002252901904284954
      

      outcome:

      passed
      
    • Test 141
      params: start=-1, stop=2, step=1.5, endpoint=true, expected="[ 2. 0.5 -1. ]"

      📌 Runtime Parameters

      params:
        start: -1
        stop: 2
        step: 1.5
        endpoint: True
        expected: [ 2.   0.5 -1. ]
      id: -1-2-1.5-True-expected2
      

      📌 Setup phase

      duration:

      0.00037917797453701496
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008366620168089867
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/contextlib.py
      lineno: 75
      message: AssertionError: 
      Not equal to tolerance rtol=1e-07, atol=0
      
      Mismatched elements: 2 / 3 (66.7%)
      Max absolute difference: 3.
      Max relative difference: 3.
       x: array([-1. ,  0.5,  2. ])
       y: array([ 2. ,  0.5, -1. ])
      

      traceback:

      -   path: tests/test_utils_npy.py
        lineno: 67
        message: None
      -   path: .pixi/envs/default/lib/python3.8/contextlib.py
        lineno: 75
        message: AssertionError
      

      longrepr:

      start = -1, stop = 2, step = 1.5, endpoint = True
      expected = array([ 2. ,  0.5, -1. ])
      
          @pytest.mark.parametrize("start, stop, step, endpoint, expected", [
              (0, 5, 2, True, np.array([6., 4., 2., 0.])),               # Right-aligned, overshoots left
              (0, 5, 2, False, np.array([4., 2., 0.])),                  # Right-aligned, no endpoint
              (-1, 2, 1.5, True, np.array([2., 0.5, -1.])),              # Step doesn t divide evenly, reverse it
              (-1, 2, 1.5, False, np.array([0.5, -1.])),                 # Without endpoint
              (5, 0, -2, True, np.array([5., 3., 1., -1.])),             # Negative step, includes endpoint overshoot
              (5, 0, -2, False, np.array([3., 1., -1.])),                # No endpoint, skips last one
              (-3, 3, 2, True, np.array([5., 3., 1., -1., -3.])),        # Large symmetric range, reverse
          ])
          def test_nice_steps_right_aligned(start, stop, step, endpoint, expected):
      >       np.testing.assert_allclose(nice_steps_right_aligned(start, stop, step, endpoint), expected)
      
      tests/test_utils_npy.py:67: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      args = (<function assert_allclose.<locals>.compare at 0x7fe79c75c940>, array([-1. ,  0.5,  2. ]), array([ 2. ,  0.5, -1. ]))
      kwds = {'equal_nan': True, 'err_msg': '', 'header': 'Not equal to tolerance rtol=1e-07, atol=0', 'verbose': True}
      
          @wraps(func)
          def inner(*args, **kwds):
              with self._recreate_cm():
      >           return func(*args, **kwds)
      E           AssertionError: 
      E           Not equal to tolerance rtol=1e-07, atol=0
      E           
      E           Mismatched elements: 2 / 3 (66.7%)
      E           Max absolute difference: 3.
      E           Max relative difference: 3.
      E            x: array([-1. ,  0.5,  2. ])
      E            y: array([ 2. ,  0.5, -1. ])
      
      .pixi/envs/default/lib/python3.8/contextlib.py:75: AssertionError
      

      📌 Teardown phase

      duration:

      0.00023710913956165314
      

      outcome:

      passed
      
    • Test 142
      params: start=-1, stop=2, step=1.5, endpoint=false, expected="[ 0.5 -1. ]"

      📌 Runtime Parameters

      params:
        start: -1
        stop: 2
        step: 1.5
        endpoint: False
        expected: [ 0.5 -1. ]
      id: -1-2-1.5-False-expected3
      

      📌 Setup phase

      duration:

      0.0003812259528785944
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008192639797925949
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/contextlib.py
      lineno: 75
      message: AssertionError: 
      Not equal to tolerance rtol=1e-07, atol=0
      
      Mismatched elements: 1 / 2 (50%)
      Max absolute difference: 3.
      Max relative difference: 3.
       x: array([0.5, 2. ])
       y: array([ 0.5, -1. ])
      

      traceback:

      -   path: tests/test_utils_npy.py
        lineno: 67
        message: None
      -   path: .pixi/envs/default/lib/python3.8/contextlib.py
        lineno: 75
        message: AssertionError
      

      longrepr:

      start = -1, stop = 2, step = 1.5, endpoint = False
      expected = array([ 0.5, -1. ])
      
          @pytest.mark.parametrize("start, stop, step, endpoint, expected", [
              (0, 5, 2, True, np.array([6., 4., 2., 0.])),               # Right-aligned, overshoots left
              (0, 5, 2, False, np.array([4., 2., 0.])),                  # Right-aligned, no endpoint
              (-1, 2, 1.5, True, np.array([2., 0.5, -1.])),              # Step doesn t divide evenly, reverse it
              (-1, 2, 1.5, False, np.array([0.5, -1.])),                 # Without endpoint
              (5, 0, -2, True, np.array([5., 3., 1., -1.])),             # Negative step, includes endpoint overshoot
              (5, 0, -2, False, np.array([3., 1., -1.])),                # No endpoint, skips last one
              (-3, 3, 2, True, np.array([5., 3., 1., -1., -3.])),        # Large symmetric range, reverse
          ])
          def test_nice_steps_right_aligned(start, stop, step, endpoint, expected):
      >       np.testing.assert_allclose(nice_steps_right_aligned(start, stop, step, endpoint), expected)
      
      tests/test_utils_npy.py:67: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      args = (<function assert_allclose.<locals>.compare at 0x7fe79c75c9d0>, array([0.5, 2. ]), array([ 0.5, -1. ]))
      kwds = {'equal_nan': True, 'err_msg': '', 'header': 'Not equal to tolerance rtol=1e-07, atol=0', 'verbose': True}
      
          @wraps(func)
          def inner(*args, **kwds):
              with self._recreate_cm():
      >           return func(*args, **kwds)
      E           AssertionError: 
      E           Not equal to tolerance rtol=1e-07, atol=0
      E           
      E           Mismatched elements: 1 / 2 (50%)
      E           Max absolute difference: 3.
      E           Max relative difference: 3.
      E            x: array([0.5, 2. ])
      E            y: array([ 0.5, -1. ])
      
      .pixi/envs/default/lib/python3.8/contextlib.py:75: AssertionError
      

      📌 Teardown phase

      duration:

      0.0002509898040443659
      

      outcome:

      passed
      
    • Test 143
      params: start=5, stop=0, step=-2, endpoint=true, expected="[ 5. 3. 1. -1.]"

      📌 Runtime Parameters

      params:
        start: 5
        stop: 0
        step: -2
        endpoint: True
        expected: [ 5.  3.  1. -1.]
      id: 5-0--2-True-expected4
      

      📌 Setup phase

      duration:

      0.00038771796971559525
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005132779479026794
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/contextlib.py
      lineno: 75
      message: AssertionError: 
      Not equal to tolerance rtol=1e-07, atol=0
      
      (shapes (3,), (4,) mismatch)
       x: array([1, 3, 5])
       y: array([ 5.,  3.,  1., -1.])
      

      traceback:

      -   path: tests/test_utils_npy.py
        lineno: 67
        message: None
      -   path: .pixi/envs/default/lib/python3.8/contextlib.py
        lineno: 75
        message: AssertionError
      

      longrepr:

      start = 5, stop = 0, step = -2, endpoint = True
      expected = array([ 5.,  3.,  1., -1.])
      
          @pytest.mark.parametrize("start, stop, step, endpoint, expected", [
              (0, 5, 2, True, np.array([6., 4., 2., 0.])),               # Right-aligned, overshoots left
              (0, 5, 2, False, np.array([4., 2., 0.])),                  # Right-aligned, no endpoint
              (-1, 2, 1.5, True, np.array([2., 0.5, -1.])),              # Step doesn t divide evenly, reverse it
              (-1, 2, 1.5, False, np.array([0.5, -1.])),                 # Without endpoint
              (5, 0, -2, True, np.array([5., 3., 1., -1.])),             # Negative step, includes endpoint overshoot
              (5, 0, -2, False, np.array([3., 1., -1.])),                # No endpoint, skips last one
              (-3, 3, 2, True, np.array([5., 3., 1., -1., -3.])),        # Large symmetric range, reverse
          ])
          def test_nice_steps_right_aligned(start, stop, step, endpoint, expected):
      >       np.testing.assert_allclose(nice_steps_right_aligned(start, stop, step, endpoint), expected)
      
      tests/test_utils_npy.py:67: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      args = (<function assert_allclose.<locals>.compare at 0x7fe79c75cdc0>, array([1, 3, 5]), array([ 5.,  3.,  1., -1.]))
      kwds = {'equal_nan': True, 'err_msg': '', 'header': 'Not equal to tolerance rtol=1e-07, atol=0', 'verbose': True}
      
          @wraps(func)
          def inner(*args, **kwds):
              with self._recreate_cm():
      >           return func(*args, **kwds)
      E           AssertionError: 
      E           Not equal to tolerance rtol=1e-07, atol=0
      E           
      E           (shapes (3,), (4,) mismatch)
      E            x: array([1, 3, 5])
      E            y: array([ 5.,  3.,  1., -1.])
      
      .pixi/envs/default/lib/python3.8/contextlib.py:75: AssertionError
      

      📌 Teardown phase

      duration:

      0.00042237178422510624
      

      outcome:

      passed
      
    • Test 144
      params: start=5, stop=0, step=-2, endpoint=false, expected="[ 3. 1. -1.]"

      📌 Runtime Parameters

      params:
        start: 5
        stop: 0
        step: -2
        endpoint: False
        expected: [ 3.  1. -1.]
      id: 5-0--2-False-expected5
      

      📌 Setup phase

      duration:

      0.0005694190040230751
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007881938945502043
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/contextlib.py
      lineno: 75
      message: AssertionError: 
      Not equal to tolerance rtol=1e-07, atol=0
      
      (shapes (2,), (3,) mismatch)
       x: array([3, 5])
       y: array([ 3.,  1., -1.])
      

      traceback:

      -   path: tests/test_utils_npy.py
        lineno: 67
        message: None
      -   path: .pixi/envs/default/lib/python3.8/contextlib.py
        lineno: 75
        message: AssertionError
      

      longrepr:

      start = 5, stop = 0, step = -2, endpoint = False
      expected = array([ 3.,  1., -1.])
      
          @pytest.mark.parametrize("start, stop, step, endpoint, expected", [
              (0, 5, 2, True, np.array([6., 4., 2., 0.])),               # Right-aligned, overshoots left
              (0, 5, 2, False, np.array([4., 2., 0.])),                  # Right-aligned, no endpoint
              (-1, 2, 1.5, True, np.array([2., 0.5, -1.])),              # Step doesn t divide evenly, reverse it
              (-1, 2, 1.5, False, np.array([0.5, -1.])),                 # Without endpoint
              (5, 0, -2, True, np.array([5., 3., 1., -1.])),             # Negative step, includes endpoint overshoot
              (5, 0, -2, False, np.array([3., 1., -1.])),                # No endpoint, skips last one
              (-3, 3, 2, True, np.array([5., 3., 1., -1., -3.])),        # Large symmetric range, reverse
          ])
          def test_nice_steps_right_aligned(start, stop, step, endpoint, expected):
      >       np.testing.assert_allclose(nice_steps_right_aligned(start, stop, step, endpoint), expected)
      
      tests/test_utils_npy.py:67: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      args = (<function assert_allclose.<locals>.compare at 0x7fe79c74f280>, array([3, 5]), array([ 3.,  1., -1.]))
      kwds = {'equal_nan': True, 'err_msg': '', 'header': 'Not equal to tolerance rtol=1e-07, atol=0', 'verbose': True}
      
          @wraps(func)
          def inner(*args, **kwds):
              with self._recreate_cm():
      >           return func(*args, **kwds)
      E           AssertionError: 
      E           Not equal to tolerance rtol=1e-07, atol=0
      E           
      E           (shapes (2,), (3,) mismatch)
      E            x: array([3, 5])
      E            y: array([ 3.,  1., -1.])
      
      .pixi/envs/default/lib/python3.8/contextlib.py:75: AssertionError
      

      📌 Teardown phase

      duration:

      0.000482926145195961
      

      outcome:

      passed
      
    • Test 145
      params: start=-3, stop=3, step=2, endpoint=true, expected="[ 5. 3. 1. -1. -3.]"

      📌 Runtime Parameters

      params:
        start: -3
        stop: 3
        step: 2
        endpoint: True
        expected: [ 5.  3.  1. -1. -3.]
      id: -3-3-2-True-expected6
      

      📌 Setup phase

      duration:

      0.000510726124048233
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007129281293600798
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/contextlib.py
      lineno: 75
      message: AssertionError: 
      Not equal to tolerance rtol=1e-07, atol=0
      
      (shapes (4,), (5,) mismatch)
       x: array([-3, -1,  1,  3])
       y: array([ 5.,  3.,  1., -1., -3.])
      

      traceback:

      -   path: tests/test_utils_npy.py
        lineno: 67
        message: None
      -   path: .pixi/envs/default/lib/python3.8/contextlib.py
        lineno: 75
        message: AssertionError
      

      longrepr:

      start = -3, stop = 3, step = 2, endpoint = True
      expected = array([ 5.,  3.,  1., -1., -3.])
      
          @pytest.mark.parametrize("start, stop, step, endpoint, expected", [
              (0, 5, 2, True, np.array([6., 4., 2., 0.])),               # Right-aligned, overshoots left
              (0, 5, 2, False, np.array([4., 2., 0.])),                  # Right-aligned, no endpoint
              (-1, 2, 1.5, True, np.array([2., 0.5, -1.])),              # Step doesn t divide evenly, reverse it
              (-1, 2, 1.5, False, np.array([0.5, -1.])),                 # Without endpoint
              (5, 0, -2, True, np.array([5., 3., 1., -1.])),             # Negative step, includes endpoint overshoot
              (5, 0, -2, False, np.array([3., 1., -1.])),                # No endpoint, skips last one
              (-3, 3, 2, True, np.array([5., 3., 1., -1., -3.])),        # Large symmetric range, reverse
          ])
          def test_nice_steps_right_aligned(start, stop, step, endpoint, expected):
      >       np.testing.assert_allclose(nice_steps_right_aligned(start, stop, step, endpoint), expected)
      
      tests/test_utils_npy.py:67: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      args = (<function assert_allclose.<locals>.compare at 0x7fe79cee6ee0>, array([-3, -1,  1,  3]), array([ 5.,  3.,  1., -1., -3.]))
      kwds = {'equal_nan': True, 'err_msg': '', 'header': 'Not equal to tolerance rtol=1e-07, atol=0', 'verbose': True}
      
          @wraps(func)
          def inner(*args, **kwds):
              with self._recreate_cm():
      >           return func(*args, **kwds)
      E           AssertionError: 
      E           Not equal to tolerance rtol=1e-07, atol=0
      E           
      E           (shapes (4,), (5,) mismatch)
      E            x: array([-3, -1,  1,  3])
      E            y: array([ 5.,  3.,  1., -1., -3.])
      
      .pixi/envs/default/lib/python3.8/contextlib.py:75: AssertionError
      

      📌 Teardown phase

      duration:

      0.0004105959087610245
      

      outcome:

      passed
      
  • 📄 test_utils_path.py

    Function: test_can_create_all_files_user_says_yes

    • Test 167

      📌 Setup phase

      duration:

      0.00012663193047046661
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000632244162261486
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/ask_yes_no.py
      lineno: 35
      message: TypeError: <lambda>() got an unexpected keyword argument 'default'
      

      traceback:

      -   path: tests/test_utils_path.py
        lineno: 26
        message: None
      -   path: slic/utils/path.py
        lineno: 9
        message: in can_create_all_files
      -   path: slic/utils/path.py
        lineno: 18
        message: in can_create_file
      -   path: slic/utils/ask_yes_no.py
        lineno: 35
        message: TypeError
      

      longrepr:

      def test_can_create_all_files_user_says_yes():
              slic.utils.ask_yes_no.ask_yes_no = lambda msg: True
      
              tmp_dir = tempfile.mkdtemp()
              f1 = os.path.join(tmp_dir, "a.txt")  # exists
              f2 = os.path.join(tmp_dir, "b.txt")  # does not exist
              f3 = os.path.join(tmp_dir, "c.txt")  # exists
      
              Path(f1).touch()
              Path(f3).touch()
      
              assert os.path.isfile(f1)
              assert not os.path.exists(f2)
              assert os.path.isfile(f3)
      
      >       result = can_create_all_files([f1, f2, f3])
      
      tests/test_utils_path.py:26: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      slic/utils/path.py:9: in can_create_all_files
          if not can_create_file(fn):
      slic/utils/path.py:18: in can_create_file
          delete = ask_yes_No(f"File \"{filename}\" exists already. Would you like to delete it")
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      question = 'File "/tmp/tmpkr4sa3hx/a.txt" exists already. Would you like to delete it'
      kwargs = {}
      
          def ask_yes_No(question, **kwargs):
              """
              See ask_yes_no() with default="n".
              """
      >       return ask_yes_no(question, default="n", **kwargs)
      E       TypeError: <lambda>() got an unexpected keyword argument 'default'
      
      slic/utils/ask_yes_no.py:35: TypeError
      

      📌 Teardown phase

      duration:

      0.0001571238972246647
      

      outcome:

      passed
      

    Function: test_can_create_all_files_user_says_no

    • Test 168

      📌 Setup phase

      duration:

      0.00013005896471440792
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004716471303254366
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/ask_yes_no.py
      lineno: 35
      message: TypeError: <lambda>() got an unexpected keyword argument 'default'
      

      traceback:

      -   path: tests/test_utils_path.py
        lineno: 46
        message: None
      -   path: slic/utils/path.py
        lineno: 9
        message: in can_create_all_files
      -   path: slic/utils/path.py
        lineno: 18
        message: in can_create_file
      -   path: slic/utils/ask_yes_no.py
        lineno: 35
        message: TypeError
      

      longrepr:

      def test_can_create_all_files_user_says_no():
              slic.utils.ask_yes_no.ask_yes_no = lambda msg: False
      
              tmp_dir = tempfile.mkdtemp()
              f1 = os.path.join(tmp_dir, "file1.txt")  # exists
              f2 = os.path.join(tmp_dir, "file2.txt")  # doesn't exist
      
              Path(f1).touch()
      
      >       result = can_create_all_files([f1, f2])
      
      tests/test_utils_path.py:46: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      slic/utils/path.py:9: in can_create_all_files
          if not can_create_file(fn):
      slic/utils/path.py:18: in can_create_file
          delete = ask_yes_No(f"File \"{filename}\" exists already. Would you like to delete it")
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      question = 'File "/tmp/tmptilnbc6w/file1.txt" exists already. Would you like to delete it'
      kwargs = {}
      
          def ask_yes_No(question, **kwargs):
              """
              See ask_yes_no() with default="n".
              """
      >       return ask_yes_no(question, default="n", **kwargs)
      E       TypeError: <lambda>() got an unexpected keyword argument 'default'
      
      slic/utils/ask_yes_no.py:35: TypeError
      

      📌 Teardown phase

      duration:

      0.00014530494809150696
      

      outcome:

      passed
      

    Function: test_filter_files_excludes_directories

    • Test 171

      📌 Setup phase

      duration:

      0.00011867890134453773
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0012002410367131233
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_path.py
      lineno: 102
      message: AssertionError: assert ['x.txt', 'y....log', 'y.txt'] == ['x.txt', 'y....xt', 'y.json']
      
        At index 1 diff: 'y.json' != 'y.log'
      
        Full diff:
          [
              'x.txt',
        +     'y.json',
              'y.log',
              'y.txt',
        -     'y.json',
          ]
      

      traceback:

      -   path: tests/test_utils_path.py
        lineno: 102
        message: AssertionError
      

      longrepr:

      def test_filter_files_excludes_directories():
              tmp_dir = tempfile.mkdtemp()
      
              f1 = Path(os.path.join(tmp_dir, "x.txt"))
              f3 = Path(os.path.join(tmp_dir, "y.log"))
              f2 = Path(os.path.join(tmp_dir, "y.txt"))
              d1 = Path(os.path.join(tmp_dir, "dir"))
              f4 = Path(os.path.join(tmp_dir, "y.json"))
      
              f1.touch()
              f3.touch()
              f2.touch()
              d1.mkdir()
              f4.touch()
      
              result = filter_files([f1, f3, f2, d1, f4])
              result_names = sorted([p.name for p in result])
      
      >       assert result_names == ["x.txt", "y.log", "y.txt", "y.json"]
      E       AssertionError: assert ['x.txt', 'y....log', 'y.txt'] == ['x.txt', 'y....xt', 'y.json']
      E         
      E         At index 1 diff: 'y.json' != 'y.log'
      E         
      E         Full diff:
      E           [
      E               'x.txt',
      E         +     'y.json',
      E               'y.log',
      E               'y.txt',
      E         -     'y.json',
      E           ]
      
      tests/test_utils_path.py:102: AssertionError
      

      📌 Teardown phase

      duration:

      0.00015100999735295773
      

      outcome:

      passed
      
  • 📄 test_utils_printing.py

    Function: test_maxstrlen

    • Test 186
      params: seq=[{"a": 1}, {}, {"a": 1, "b": 2}], expected=17

      📌 Runtime Parameters

      params:
        seq:
          -       a: 1
          - (vide)
          -       a: 1
            b: 2
        expected: 17
      id: seq3-17
      

      📌 Setup phase

      duration:

      0.00022435910068452358
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004034549929201603
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_printing.py
      lineno: 25
      message: AssertionError: assert 16 == 17
       +  where 16 = maxstrlen([{'a': 1}, {}, {'a': 1, 'b': 2}])
      

      traceback:

      -   path: tests/test_utils_printing.py
        lineno: 25
        message: AssertionError
      

      longrepr:

      seq = [{'a': 1}, {}, {'a': 1, 'b': 2}], expected = 17
      
          @pytest.mark.parametrize("seq,expected", [
              ([1, True, 3.1415], 6),             # "3.1415"
              (["aa", "bbb", "c"], 3),            # "bbb"
              ([[1, 2], [], [1, 2, 3]], 9),       # "[1, 2, 3]"
              ([{"a": 1}, {}, {"a": 1, "b": 2}], 17),  # "{'a': 1, 'b': 2}"
              ([None, False, 12345], 5),          # "12345"
          ])
          def test_maxstrlen(seq, expected):
      >       assert maxstrlen(seq) == expected
      E       AssertionError: assert 16 == 17
      E        +  where 16 = maxstrlen([{'a': 1}, {}, {'a': 1, 'b': 2}])
      
      tests/test_utils_printing.py:25: AssertionError
      

      📌 Teardown phase

      duration:

      0.00019805296324193478
      

      outcome:

      passed
      

    Function: test_format_header

    • Test 201
      params: msg="Hello", line="=", expected="Hello:\n====="

      📌 Runtime Parameters

      params:
        msg: Hello
        line: =
        expected: Hello:
      =====
      id: Hello-=-Hello:\n=====
      

      📌 Setup phase

      duration:

      0.0002521870192140341
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005461538676172495
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_printing.py
      lineno: 56
      message: AssertionError: assert 'Hello:\n======' == 'Hello:\n====='
      
          Hello:
        - =====
        + ======
        ?      +
      

      traceback:

      -   path: tests/test_utils_printing.py
        lineno: 56
        message: AssertionError
      

      longrepr:

      msg = 'Hello', line = '=', expected = 'Hello:\n====='
      
          @pytest.mark.parametrize("msg,line,expected", [
              ("Title", "-", "Title:\n------"),
              ("Hello", "=", "Hello:\n====="),
          ])
          def test_format_header(msg, line, expected):
      >       assert format_header(msg, line) == expected
      E       AssertionError: assert 'Hello:\n======' == 'Hello:\n====='
      E         
      E           Hello:
      E         - =====
      E         + ======
      E         ?      +
      
      tests/test_utils_printing.py:56: AssertionError
      

      📌 Teardown phase

      duration:

      0.00021085585467517376
      

      outcome:

      passed
      

    Function: test_itemize

    • Test 204
      params: items=["one"], header="+", bullet=null, expected_lines=["+ one"]

      📌 Runtime Parameters

      params:
        items:
          - one
        header: +
        bullet: None
        expected_lines:
          - + one
      id: items2-+-None-expected_lines2
      

      📌 Setup phase

      duration:

      0.0003206920810043812
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000301106832921505
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_printing.py
      lineno: 67
      message: AssertionError: assert '+ one' in '+:\n--\n- one'
      

      traceback:

      -   path: tests/test_utils_printing.py
        lineno: 67
        message: AssertionError
      

      longrepr:

      items = ['one'], header = '+', bullet = None, expected_lines = ['+ one']
      
          @pytest.mark.parametrize("items,header,bullet,expected_lines", [
              (["apple", "banana"], None, "-", ["- apple", "- banana"]),
              (["x", "y"], "Vars", "*", ["Vars:\n-----", "* x", "* y"]),
              (["one"], "+", None, ["+ one"]),
          ])
          def test_itemize(items, header, bullet, expected_lines):
              result = itemize(items, header=header, bullet=bullet or "-")
              for expected in expected_lines:
      >           assert expected in result
      E           AssertionError: assert '+ one' in '+:\n--\n- one'
      
      tests/test_utils_printing.py:67: AssertionError
      

      📌 Teardown phase

      duration:

      0.00023181596770882607
      

      outcome:

      passed
      

    Function: test_printable_dict_variants_with_alignment

    • Test 205
      params: d={"x": 1, "medium": true, "very_long_key": 3.14}, header="HeaderTest", sorter="", expected_lines=["HeaderTest:\n-----------", "medium :True", "very_long_key:3.14", "x :1"]

      📌 Runtime Parameters

      params:
        d:
          x: 1
          medium: True
          very_long_key: 3.14
        header: HeaderTest
        sorter: <built-in function sorted>
        expected_lines:
          - HeaderTest:
      -----------
          - medium       :True
          - very_long_key:3.14
          - x            :1
      id: d0-HeaderTest-sorted-expected_lines0
      

      📌 Setup phase

      duration:

      0.000372899929061532
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004295969847589731
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_printing.py
      lineno: 95
      message: AssertionError: Missing or misaligned line: medium       :True
      assert 'medium       :True' in 'HeaderTest:\n-----------\nmedium:        True\nvery_long_key: 3.14\nx:             1\n'
      

      traceback:

      -   path: tests/test_utils_printing.py
        lineno: 95
        message: AssertionError
      

      longrepr:

      d = {'medium': True, 'very_long_key': 3.14, 'x': 1}, header = 'HeaderTest'
      sorter = <built-in function sorted>
      expected_lines = ['HeaderTest:\n-----------', 'medium       :True', 'very_long_key:3.14', 'x            :1']
      
          @pytest.mark.parametrize("d,header,sorter,expected_lines", [
              (
                  {"x": 1, "medium": True, "very_long_key": 3.14},
                  "HeaderTest",
                  sorted,
                  [
                      "HeaderTest:\n-----------",
                      "medium       :True",
                      "very_long_key:3.14",
                      "x            :1"
                  ]
              ),
              (
                  {"short": None, "loooooongkey": [1, 2]},
                  None,
                  None,
                  [
                      "short        :None",
                      "loooooongkey:[1, 2]"
                  ]
              ),
          ])
          def test_printable_dict_variants_with_alignment(d, header, sorter, expected_lines):
              out = printable_dict(d, header=header, sorter=sorter)
              for expected in expected_lines:
      >           assert expected in out, f"Missing or misaligned line: {expected}"
      E           AssertionError: Missing or misaligned line: medium       :True
      E           assert 'medium       :True' in 'HeaderTest:\n-----------\nmedium:        True\nvery_long_key: 3.14\nx:             1\n'
      
      tests/test_utils_printing.py:95: AssertionError
      

      📌 Teardown phase

      duration:

      0.00023486302234232426
      

      outcome:

      passed
      
    • Test 206
      params: d={"short": null, "loooooongkey": [1, 2]}, header=null, sorter=null, expected_lines=["short :None", "loooooongkey:[1, 2]"]

      📌 Runtime Parameters

      params:
        d:
          short: None
          loooooongkey:
            - 1
            - 2
        header: None
        sorter: None
        expected_lines:
          - short        :None
          - loooooongkey:[1, 2]
      id: d1-None-None-expected_lines1
      

      📌 Setup phase

      duration:

      0.00036405399441719055
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003590378910303116
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_printing.py
      lineno: 95
      message: AssertionError: Missing or misaligned line: short        :None
      assert 'short        :None' in 'short:        None\nloooooongkey: [1, 2]\n'
      

      traceback:

      -   path: tests/test_utils_printing.py
        lineno: 95
        message: AssertionError
      

      longrepr:

      d = {'loooooongkey': [1, 2], 'short': None}, header = None, sorter = None
      expected_lines = ['short        :None', 'loooooongkey:[1, 2]']
      
          @pytest.mark.parametrize("d,header,sorter,expected_lines", [
              (
                  {"x": 1, "medium": True, "very_long_key": 3.14},
                  "HeaderTest",
                  sorted,
                  [
                      "HeaderTest:\n-----------",
                      "medium       :True",
                      "very_long_key:3.14",
                      "x            :1"
                  ]
              ),
              (
                  {"short": None, "loooooongkey": [1, 2]},
                  None,
                  None,
                  [
                      "short        :None",
                      "loooooongkey:[1, 2]"
                  ]
              ),
          ])
          def test_printable_dict_variants_with_alignment(d, header, sorter, expected_lines):
              out = printable_dict(d, header=header, sorter=sorter)
              for expected in expected_lines:
      >           assert expected in out, f"Missing or misaligned line: {expected}"
      E           AssertionError: Missing or misaligned line: short        :None
      E           assert 'short        :None' in 'short:        None\nloooooongkey: [1, 2]\n'
      
      tests/test_utils_printing.py:95: AssertionError
      

      📌 Teardown phase

      duration:

      0.00024271290749311447
      

      outcome:

      passed
      

    Function: test_printable_dict_of_dicts_complete

    • Test 207
      params: d={"General": {"a": 1, "long_key": true, "very_very_long_key": 3.14}, "MetaInfo": {"short": null, "a_much_longer_key": {"x": 1}}}, expected_blocks=["General:\n--------", "a :1", "long_key :True", "very_very_long_key :3.14", "MetaInfo:\n---------", "short :None", "a_much_longer_key :{'x': 1}"]

      📌 Runtime Parameters

      params:
        d:
          General:
            a: 1
            long_key: True
            very_very_long_key: 3.14
          MetaInfo:
            short: None
            a_much_longer_key:
              x: 1
        expected_blocks:
          - General:
      --------
          - a                   :1
          - long_key            :True
          - very_very_long_key  :3.14
          - MetaInfo:
      ---------
          - short              :None
          - a_much_longer_key  :{'x': 1}
      id: d0-expected_blocks0
      

      📌 Setup phase

      duration:

      0.0002646439243108034
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006621228531002998
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_printing.py
      lineno: 128
      message: AssertionError: Expected line not found or misaligned: a                   :1
      assert 'a                   :1' in "General:\n--------\na:                  1\nlong_key:           True\nvery_very_long_key: 3.14\n\nMetaInfo:\n---------\na_much_longer_key: {'x': 1}\nshort:             None\n"
      

      traceback:

      -   path: tests/test_utils_printing.py
        lineno: 128
        message: AssertionError
      

      longrepr:

      d = {'General': {'a': 1, 'long_key': True, 'very_very_long_key': 3.14}, 'MetaInfo': {'a_much_longer_key': {'x': 1}, 'short': None}}
      expected_blocks = ['General:\n--------', 'a                   :1', 'long_key            :True', 'very_very_long_key  :3.14', 'MetaInfo:\n---------', 'short              :None', ...]
      
          @pytest.mark.parametrize("d,expected_blocks", [
              (
                  {
                      "General": {
                          "a": 1,
                          "long_key": True,
                          "very_very_long_key": 3.14
                      },
                      "MetaInfo": {
                          "short": None,
                          "a_much_longer_key": {"x": 1}
                      }
                  },
                  [
                      format_header("General"),
                      "a                   :1",
                      "long_key            :True",
                      "very_very_long_key  :3.14",
                      format_header("MetaInfo"),
                      "short              :None",
                      "a_much_longer_key  :{'x': 1}"
                  ]
              ),
          ])
          def test_printable_dict_of_dicts_complete(d, expected_blocks):
              out = printable_dict_of_dicts(d)
              for line in expected_blocks:
      >           assert line in out, f"Expected line not found or misaligned: {line}"
      E           AssertionError: Expected line not found or misaligned: a                   :1
      E           assert 'a                   :1' in "General:\n--------\na:                  1\nlong_key:           True\nvery_very_long_key: 3.14\n\nMetaInfo:\n---------\na_much_longer_key: {'x': 1}\nshort:             None\n"
      
      tests/test_utils_printing.py:128: AssertionError
      

      📌 Teardown phase

      duration:

      0.00019795983098447323
      

      outcome:

      passed
      

    Function: test_transpose_matrix

    • Test 208
      params: data=1, 2], [3, 4, expected=1, 3], [2, 4

      📌 Runtime Parameters

      params:
        data:
          -       - 1
            - 2
          -       - 3
            - 4
        expected:
          -       - 1
            - 3
          -       - 2
            - 4
      id: data0-expected0
      

      📌 Setup phase

      duration:

      0.0002658548764884472
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016093789599835873
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_printing.py
      lineno: 139
      message: NameError: name '_transpose' is not defined
      

      traceback:

      -   path: tests/test_utils_printing.py
        lineno: 139
        message: NameError
      

      longrepr:

      data = [[1, 2], [3, 4]], expected = [(1, 3), (2, 4)]
      
          @pytest.mark.parametrize("data,expected", [
              ([[1, 2], [3, 4]], [(1, 3), (2, 4)]),                                                               # ints
              ([["a", "b"], ["c", "d"]], [("a", "c"), ("b", "d")]),                                               # strings
              ([[{"x": 1}, {"y": 2}], [{"x": 3}, {"y": 4}]], [({"x": 1}, {"x": 3}), ({"y": 2}, {"y": 4})]),       # dict
          ])
          def test_transpose_matrix(data, expected):
      >       assert _transpose(data) == expected
      E       NameError: name '_transpose' is not defined
      
      tests/test_utils_printing.py:139: NameError
      

      📌 Teardown phase

      duration:

      0.0001816709991544485
      

      outcome:

      passed
      
    • Test 209

      📌 Runtime Parameters

      params:
        data:
          -       - a
            - b
          -       - c
            - d
        expected:
          -       - a
            - c
          -       - b
            - d
      id: data1-expected1
      

      📌 Setup phase

      duration:

      0.00026174308732151985
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016835308633744717
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_printing.py
      lineno: 139
      message: NameError: name '_transpose' is not defined
      

      traceback:

      -   path: tests/test_utils_printing.py
        lineno: 139
        message: NameError
      

      longrepr:

      data = [['a', 'b'], ['c', 'd']], expected = [('a', 'c'), ('b', 'd')]
      
          @pytest.mark.parametrize("data,expected", [
              ([[1, 2], [3, 4]], [(1, 3), (2, 4)]),                                                               # ints
              ([["a", "b"], ["c", "d"]], [("a", "c"), ("b", "d")]),                                               # strings
              ([[{"x": 1}, {"y": 2}], [{"x": 3}, {"y": 4}]], [({"x": 1}, {"x": 3}), ({"y": 2}, {"y": 4})]),       # dict
          ])
          def test_transpose_matrix(data, expected):
      >       assert _transpose(data) == expected
      E       NameError: name '_transpose' is not defined
      
      tests/test_utils_printing.py:139: NameError
      

      📌 Teardown phase

      duration:

      0.00019943504594266415
      

      outcome:

      passed
      
    • Test 210
      params: data={"x": 1}, {"y": 2}], [{"x": 3}, {"y": 4}, expected={"x": 1}, {"x": 3}], [{"y": 2}, {"y": 4}

      📌 Runtime Parameters

      params:
        data:
          -       -         x: 1
            -         y: 2
          -       -         x: 3
            -         y: 4
        expected:
          -       -         x: 1
            -         x: 3
          -       -         y: 2
            -         y: 4
      id: data2-expected2
      

      📌 Setup phase

      duration:

      0.0002678430173546076
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018594181165099144
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_printing.py
      lineno: 139
      message: NameError: name '_transpose' is not defined
      

      traceback:

      -   path: tests/test_utils_printing.py
        lineno: 139
        message: NameError
      

      longrepr:

      data = [[{'x': 1}, {'y': 2}], [{'x': 3}, {'y': 4}]]
      expected = [({'x': 1}, {'x': 3}), ({'y': 2}, {'y': 4})]
      
          @pytest.mark.parametrize("data,expected", [
              ([[1, 2], [3, 4]], [(1, 3), (2, 4)]),                                                               # ints
              ([["a", "b"], ["c", "d"]], [("a", "c"), ("b", "d")]),                                               # strings
              ([[{"x": 1}, {"y": 2}], [{"x": 3}, {"y": 4}]], [({"x": 1}, {"x": 3}), ({"y": 2}, {"y": 4})]),       # dict
          ])
          def test_transpose_matrix(data, expected):
      >       assert _transpose(data) == expected
      E       NameError: name '_transpose' is not defined
      
      tests/test_utils_printing.py:139: NameError
      

      📌 Teardown phase

      duration:

      0.00019106105901300907
      

      outcome:

      passed
      

    Function: test_prepend

    • Test 211
      params: initial=[2, 3], prepend=1, expected=[1, 2, 3]

      📌 Runtime Parameters

      params:
        initial:
          - 2
          - 3
        prepend: 1
        expected:
          - 1
          - 2
          - 3
      id: initial0-1-expected0
      

      📌 Setup phase

      duration:

      0.00031435489654541016
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015968596562743187
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_printing.py
      lineno: 150
      message: NameError: name '_prepend' is not defined
      

      traceback:

      -   path: tests/test_utils_printing.py
        lineno: 150
        message: NameError
      

      longrepr:

      initial = [2, 3], prepend = 1, expected = [1, 2, 3]
      
          @pytest.mark.parametrize("initial,prepend,expected", [
              ([2, 3], 1, [1, 2, 3]),                             # int
              (["b", "c"], "a", ["a", "b", "c"]),                 # str
              ([{"b": 2}], {"a": 1}, [{"a": 1}, {"b": 2}]),       # dict
              ([[2], [3]], [1], [[1], [2], [3]]),                 # list of lists
          ])
          def test_prepend(initial, prepend, expected):
      >       _prepend(prepend, initial)
      E       NameError: name '_prepend' is not defined
      
      tests/test_utils_printing.py:150: NameError
      

      📌 Teardown phase

      duration:

      0.0002870450261980295
      

      outcome:

      passed
      
    • Test 212
      params: initial=["b", "c"], prepend="a", expected=["a", "b", "c"]

      📌 Runtime Parameters

      params:
        initial:
          - b
          - c
        prepend: a
        expected:
          - a
          - b
          - c
      id: initial1-a-expected1
      

      📌 Setup phase

      duration:

      0.00035812705755233765
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021634390577673912
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_printing.py
      lineno: 150
      message: NameError: name '_prepend' is not defined
      

      traceback:

      -   path: tests/test_utils_printing.py
        lineno: 150
        message: NameError
      

      longrepr:

      initial = ['b', 'c'], prepend = 'a', expected = ['a', 'b', 'c']
      
          @pytest.mark.parametrize("initial,prepend,expected", [
              ([2, 3], 1, [1, 2, 3]),                             # int
              (["b", "c"], "a", ["a", "b", "c"]),                 # str
              ([{"b": 2}], {"a": 1}, [{"a": 1}, {"b": 2}]),       # dict
              ([[2], [3]], [1], [[1], [2], [3]]),                 # list of lists
          ])
          def test_prepend(initial, prepend, expected):
      >       _prepend(prepend, initial)
      E       NameError: name '_prepend' is not defined
      
      tests/test_utils_printing.py:150: NameError
      

      📌 Teardown phase

      duration:

      0.000223544891923666
      

      outcome:

      passed
      
    • Test 213
      params: initial=[{"b": 2}], prepend={"a": 1}, expected=[{"a": 1}, {"b": 2}]

      📌 Runtime Parameters

      params:
        initial:
          -       b: 2
        prepend:
          a: 1
        expected:
          -       a: 1
          -       b: 2
      id: initial2-prepend2-expected2
      

      📌 Setup phase

      duration:

      0.0003283920232206583
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017198408022522926
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_printing.py
      lineno: 150
      message: NameError: name '_prepend' is not defined
      

      traceback:

      -   path: tests/test_utils_printing.py
        lineno: 150
        message: NameError
      

      longrepr:

      initial = [{'b': 2}], prepend = {'a': 1}, expected = [{'a': 1}, {'b': 2}]
      
          @pytest.mark.parametrize("initial,prepend,expected", [
              ([2, 3], 1, [1, 2, 3]),                             # int
              (["b", "c"], "a", ["a", "b", "c"]),                 # str
              ([{"b": 2}], {"a": 1}, [{"a": 1}, {"b": 2}]),       # dict
              ([[2], [3]], [1], [[1], [2], [3]]),                 # list of lists
          ])
          def test_prepend(initial, prepend, expected):
      >       _prepend(prepend, initial)
      E       NameError: name '_prepend' is not defined
      
      tests/test_utils_printing.py:150: NameError
      

      📌 Teardown phase

      duration:

      0.00020731822587549686
      

      outcome:

      passed
      
    • Test 214
      params: initial=2], [3, prepend=[1], expected=1], [2], [3

      📌 Runtime Parameters

      params:
        initial:
          -       - 2
          -       - 3
        prepend:
          - 1
        expected:
          -       - 1
          -       - 2
          -       - 3
      id: initial3-prepend3-expected3
      

      📌 Setup phase

      duration:

      0.0003501500468701124
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001731680240482092
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_printing.py
      lineno: 150
      message: NameError: name '_prepend' is not defined
      

      traceback:

      -   path: tests/test_utils_printing.py
        lineno: 150
        message: NameError
      

      longrepr:

      initial = [[2], [3]], prepend = [1], expected = [[1], [2], [3]]
      
          @pytest.mark.parametrize("initial,prepend,expected", [
              ([2, 3], 1, [1, 2, 3]),                             # int
              (["b", "c"], "a", ["a", "b", "c"]),                 # str
              ([{"b": 2}], {"a": 1}, [{"a": 1}, {"b": 2}]),       # dict
              ([[2], [3]], [1], [[1], [2], [3]]),                 # list of lists
          ])
          def test_prepend(initial, prepend, expected):
      >       _prepend(prepend, initial)
      E       NameError: name '_prepend' is not defined
      
      tests/test_utils_printing.py:150: NameError
      

      📌 Teardown phase

      duration:

      0.00021551991812884808
      

      outcome:

      passed
      

    Function: test_fmt_table_line

    • Test 215
      params: entries=["a", "bbb"], widths=[3, 5], expected=" a bbb"

      📌 Runtime Parameters

      params:
        entries:
          - a
          - bbb
        widths:
          - 3
          - 5
        expected:   a   bbb
      id: entries0-widths0-  a   bbb
      

      📌 Setup phase

      duration:

      0.0002908390015363693
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018838699907064438
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_printing.py
      lineno: 168
      message: NameError: name '_fmt_table_line' is not defined
      

      traceback:

      -   path: tests/test_utils_printing.py
        lineno: 168
        message: NameError
      

      longrepr:

      entries = ['a', 'bbb'], widths = [3, 5], expected = '  a   bbb'
      
          @pytest.mark.parametrize("entries, widths, expected", [
              (["a", "bbb"], [3, 5], "  a   bbb"),                                    # simple string
              ([1, 2], [2, 2], " 1  2"),                                              # int
              (["long", "val"], [6, 4], "  long  val"),                               # more padding
              ([True, False], [5, 6], " True  False"),                                # bool
              ([123, 4567], [5, 5], "  123  4567"),                                   # numbers
              (["text with space", "end"], [16, 5], " text with space  end"),         # long text
              ([{"a": 1}, {"b": 2}], [12, 12], "   {'a': 1}   {'b': 2}"),             # dicts
              ([[1, 2], [3, 4]], [10, 10], "     [1, 2]     [3, 4]"),                 # lists
              ([[{"x": 1}], [{"y": 2}]], [16, 16], "   [{'x': 1}]   [{'y': 2}]"),     # list of dict
              ([[1, [2, 3]], [4, [5, 6]]], [18, 18], "  [1, [2, 3]]  [4, [5, 6]]"),   # nested lists
          ])
          def test_fmt_table_line(entries, widths, expected):
      >       assert _fmt_table_line(entries, widths) == expected
      E       NameError: name '_fmt_table_line' is not defined
      
      tests/test_utils_printing.py:168: NameError
      

      📌 Teardown phase

      duration:

      0.00023091398179531097
      

      outcome:

      passed
      
    • Test 216
      params: entries=[1, 2], widths=[2, 2], expected=" 1 2"

      📌 Runtime Parameters

      params:
        entries:
          - 1
          - 2
        widths:
          - 2
          - 2
        expected:  1  2
      id: entries1-widths1- 1  2
      

      📌 Setup phase

      duration:

      0.00029072794131934643
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016508507542312145
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_printing.py
      lineno: 168
      message: NameError: name '_fmt_table_line' is not defined
      

      traceback:

      -   path: tests/test_utils_printing.py
        lineno: 168
        message: NameError
      

      longrepr:

      entries = [1, 2], widths = [2, 2], expected = ' 1  2'
      
          @pytest.mark.parametrize("entries, widths, expected", [
              (["a", "bbb"], [3, 5], "  a   bbb"),                                    # simple string
              ([1, 2], [2, 2], " 1  2"),                                              # int
              (["long", "val"], [6, 4], "  long  val"),                               # more padding
              ([True, False], [5, 6], " True  False"),                                # bool
              ([123, 4567], [5, 5], "  123  4567"),                                   # numbers
              (["text with space", "end"], [16, 5], " text with space  end"),         # long text
              ([{"a": 1}, {"b": 2}], [12, 12], "   {'a': 1}   {'b': 2}"),             # dicts
              ([[1, 2], [3, 4]], [10, 10], "     [1, 2]     [3, 4]"),                 # lists
              ([[{"x": 1}], [{"y": 2}]], [16, 16], "   [{'x': 1}]   [{'y': 2}]"),     # list of dict
              ([[1, [2, 3]], [4, [5, 6]]], [18, 18], "  [1, [2, 3]]  [4, [5, 6]]"),   # nested lists
          ])
          def test_fmt_table_line(entries, widths, expected):
      >       assert _fmt_table_line(entries, widths) == expected
      E       NameError: name '_fmt_table_line' is not defined
      
      tests/test_utils_printing.py:168: NameError
      

      📌 Teardown phase

      duration:

      0.00020899111405014992
      

      outcome:

      passed
      
    • Test 217
      params: entries=["long", "val"], widths=[6, 4], expected=" long val"

      📌 Runtime Parameters

      params:
        entries:
          - long
          - val
        widths:
          - 6
          - 4
        expected:   long  val
      id: entries2-widths2-  long  val
      

      📌 Setup phase

      duration:

      0.00030673202127218246
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016652210615575314
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_printing.py
      lineno: 168
      message: NameError: name '_fmt_table_line' is not defined
      

      traceback:

      -   path: tests/test_utils_printing.py
        lineno: 168
        message: NameError
      

      longrepr:

      entries = ['long', 'val'], widths = [6, 4], expected = '  long  val'
      
          @pytest.mark.parametrize("entries, widths, expected", [
              (["a", "bbb"], [3, 5], "  a   bbb"),                                    # simple string
              ([1, 2], [2, 2], " 1  2"),                                              # int
              (["long", "val"], [6, 4], "  long  val"),                               # more padding
              ([True, False], [5, 6], " True  False"),                                # bool
              ([123, 4567], [5, 5], "  123  4567"),                                   # numbers
              (["text with space", "end"], [16, 5], " text with space  end"),         # long text
              ([{"a": 1}, {"b": 2}], [12, 12], "   {'a': 1}   {'b': 2}"),             # dicts
              ([[1, 2], [3, 4]], [10, 10], "     [1, 2]     [3, 4]"),                 # lists
              ([[{"x": 1}], [{"y": 2}]], [16, 16], "   [{'x': 1}]   [{'y': 2}]"),     # list of dict
              ([[1, [2, 3]], [4, [5, 6]]], [18, 18], "  [1, [2, 3]]  [4, [5, 6]]"),   # nested lists
          ])
          def test_fmt_table_line(entries, widths, expected):
      >       assert _fmt_table_line(entries, widths) == expected
      E       NameError: name '_fmt_table_line' is not defined
      
      tests/test_utils_printing.py:168: NameError
      

      📌 Teardown phase

      duration:

      0.0003141178749501705
      

      outcome:

      passed
      
    • Test 218
      params: entries=[true, false], widths=[5, 6], expected=" True False"

      📌 Runtime Parameters

      params:
        entries:
          - True
          - (vide)
        widths:
          - 5
          - 6
        expected:  True  False
      id: entries3-widths3- True  False
      

      📌 Setup phase

      duration:

      0.0004572449252009392
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002109899651259184
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_printing.py
      lineno: 168
      message: NameError: name '_fmt_table_line' is not defined
      

      traceback:

      -   path: tests/test_utils_printing.py
        lineno: 168
        message: NameError
      

      longrepr:

      entries = [True, False], widths = [5, 6], expected = ' True  False'
      
          @pytest.mark.parametrize("entries, widths, expected", [
              (["a", "bbb"], [3, 5], "  a   bbb"),                                    # simple string
              ([1, 2], [2, 2], " 1  2"),                                              # int
              (["long", "val"], [6, 4], "  long  val"),                               # more padding
              ([True, False], [5, 6], " True  False"),                                # bool
              ([123, 4567], [5, 5], "  123  4567"),                                   # numbers
              (["text with space", "end"], [16, 5], " text with space  end"),         # long text
              ([{"a": 1}, {"b": 2}], [12, 12], "   {'a': 1}   {'b': 2}"),             # dicts
              ([[1, 2], [3, 4]], [10, 10], "     [1, 2]     [3, 4]"),                 # lists
              ([[{"x": 1}], [{"y": 2}]], [16, 16], "   [{'x': 1}]   [{'y': 2}]"),     # list of dict
              ([[1, [2, 3]], [4, [5, 6]]], [18, 18], "  [1, [2, 3]]  [4, [5, 6]]"),   # nested lists
          ])
          def test_fmt_table_line(entries, widths, expected):
      >       assert _fmt_table_line(entries, widths) == expected
      E       NameError: name '_fmt_table_line' is not defined
      
      tests/test_utils_printing.py:168: NameError
      

      📌 Teardown phase

      duration:

      0.0002655470743775368
      

      outcome:

      passed
      
    • Test 219
      params: entries=[123, 4567], widths=[5, 5], expected=" 123 4567"

      📌 Runtime Parameters

      params:
        entries:
          - 123
          - 4567
        widths:
          - 5
          - 5
        expected:   123  4567
      id: entries4-widths4-  123  4567
      

      📌 Setup phase

      duration:

      0.0003364710137248039
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001706150360405445
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_printing.py
      lineno: 168
      message: NameError: name '_fmt_table_line' is not defined
      

      traceback:

      -   path: tests/test_utils_printing.py
        lineno: 168
        message: NameError
      

      longrepr:

      entries = [123, 4567], widths = [5, 5], expected = '  123  4567'
      
          @pytest.mark.parametrize("entries, widths, expected", [
              (["a", "bbb"], [3, 5], "  a   bbb"),                                    # simple string
              ([1, 2], [2, 2], " 1  2"),                                              # int
              (["long", "val"], [6, 4], "  long  val"),                               # more padding
              ([True, False], [5, 6], " True  False"),                                # bool
              ([123, 4567], [5, 5], "  123  4567"),                                   # numbers
              (["text with space", "end"], [16, 5], " text with space  end"),         # long text
              ([{"a": 1}, {"b": 2}], [12, 12], "   {'a': 1}   {'b': 2}"),             # dicts
              ([[1, 2], [3, 4]], [10, 10], "     [1, 2]     [3, 4]"),                 # lists
              ([[{"x": 1}], [{"y": 2}]], [16, 16], "   [{'x': 1}]   [{'y': 2}]"),     # list of dict
              ([[1, [2, 3]], [4, [5, 6]]], [18, 18], "  [1, [2, 3]]  [4, [5, 6]]"),   # nested lists
          ])
          def test_fmt_table_line(entries, widths, expected):
      >       assert _fmt_table_line(entries, widths) == expected
      E       NameError: name '_fmt_table_line' is not defined
      
      tests/test_utils_printing.py:168: NameError
      

      📌 Teardown phase

      duration:

      0.00026652682572603226
      

      outcome:

      passed
      
    • Test 220
      params: entries=["text with space", "end"], widths=[16, 5], expected=" text with space end"

      📌 Runtime Parameters

      params:
        entries:
          - text with space
          - end
        widths:
          - 16
          - 5
        expected:  text with space  end
      id: entries5-widths5- text with space  end
      

      📌 Setup phase

      duration:

      0.00032561388798058033
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017730006948113441
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_printing.py
      lineno: 168
      message: NameError: name '_fmt_table_line' is not defined
      

      traceback:

      -   path: tests/test_utils_printing.py
        lineno: 168
        message: NameError
      

      longrepr:

      entries = ['text with space', 'end'], widths = [16, 5]
      expected = ' text with space  end'
      
          @pytest.mark.parametrize("entries, widths, expected", [
              (["a", "bbb"], [3, 5], "  a   bbb"),                                    # simple string
              ([1, 2], [2, 2], " 1  2"),                                              # int
              (["long", "val"], [6, 4], "  long  val"),                               # more padding
              ([True, False], [5, 6], " True  False"),                                # bool
              ([123, 4567], [5, 5], "  123  4567"),                                   # numbers
              (["text with space", "end"], [16, 5], " text with space  end"),         # long text
              ([{"a": 1}, {"b": 2}], [12, 12], "   {'a': 1}   {'b': 2}"),             # dicts
              ([[1, 2], [3, 4]], [10, 10], "     [1, 2]     [3, 4]"),                 # lists
              ([[{"x": 1}], [{"y": 2}]], [16, 16], "   [{'x': 1}]   [{'y': 2}]"),     # list of dict
              ([[1, [2, 3]], [4, [5, 6]]], [18, 18], "  [1, [2, 3]]  [4, [5, 6]]"),   # nested lists
          ])
          def test_fmt_table_line(entries, widths, expected):
      >       assert _fmt_table_line(entries, widths) == expected
      E       NameError: name '_fmt_table_line' is not defined
      
      tests/test_utils_printing.py:168: NameError
      

      📌 Teardown phase

      duration:

      0.000254996819421649
      

      outcome:

      passed
      
    • Test 221
      params: entries=[{"a": 1}, {"b": 2}], widths=[12, 12], expected=" {'a': 1} {'b': 2}"

      📌 Runtime Parameters

      params:
        entries:
          -       a: 1
          -       b: 2
        widths:
          - 12
          - 12
        expected:    {'a': 1}   {'b': 2}
      id: entries6-widths6-   {'a': 1}   {'b': 2}
      

      📌 Setup phase

      duration:

      0.0003339399117976427
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018406100571155548
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_printing.py
      lineno: 168
      message: NameError: name '_fmt_table_line' is not defined
      

      traceback:

      -   path: tests/test_utils_printing.py
        lineno: 168
        message: NameError
      

      longrepr:

      entries = [{'a': 1}, {'b': 2}], widths = [12, 12]
      expected = "   {'a': 1}   {'b': 2}"
      
          @pytest.mark.parametrize("entries, widths, expected", [
              (["a", "bbb"], [3, 5], "  a   bbb"),                                    # simple string
              ([1, 2], [2, 2], " 1  2"),                                              # int
              (["long", "val"], [6, 4], "  long  val"),                               # more padding
              ([True, False], [5, 6], " True  False"),                                # bool
              ([123, 4567], [5, 5], "  123  4567"),                                   # numbers
              (["text with space", "end"], [16, 5], " text with space  end"),         # long text
              ([{"a": 1}, {"b": 2}], [12, 12], "   {'a': 1}   {'b': 2}"),             # dicts
              ([[1, 2], [3, 4]], [10, 10], "     [1, 2]     [3, 4]"),                 # lists
              ([[{"x": 1}], [{"y": 2}]], [16, 16], "   [{'x': 1}]   [{'y': 2}]"),     # list of dict
              ([[1, [2, 3]], [4, [5, 6]]], [18, 18], "  [1, [2, 3]]  [4, [5, 6]]"),   # nested lists
          ])
          def test_fmt_table_line(entries, widths, expected):
      >       assert _fmt_table_line(entries, widths) == expected
      E       NameError: name '_fmt_table_line' is not defined
      
      tests/test_utils_printing.py:168: NameError
      

      📌 Teardown phase

      duration:

      0.0002467748709022999
      

      outcome:

      passed
      
    • Test 222
      params: entries=1, 2], [3, 4, widths=[10, 10], expected=" [1, 2] [3, 4]"

      📌 Runtime Parameters

      params:
        entries:
          -       - 1
            - 2
          -       - 3
            - 4
        widths:
          - 10
          - 10
        expected:      [1, 2]     [3, 4]
      id: entries7-widths7-     [1, 2]     [3, 4]
      

      📌 Setup phase

      duration:

      0.0003439350984990597
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001665318850427866
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_printing.py
      lineno: 168
      message: NameError: name '_fmt_table_line' is not defined
      

      traceback:

      -   path: tests/test_utils_printing.py
        lineno: 168
        message: NameError
      

      longrepr:

      entries = [[1, 2], [3, 4]], widths = [10, 10]
      expected = '     [1, 2]     [3, 4]'
      
          @pytest.mark.parametrize("entries, widths, expected", [
              (["a", "bbb"], [3, 5], "  a   bbb"),                                    # simple string
              ([1, 2], [2, 2], " 1  2"),                                              # int
              (["long", "val"], [6, 4], "  long  val"),                               # more padding
              ([True, False], [5, 6], " True  False"),                                # bool
              ([123, 4567], [5, 5], "  123  4567"),                                   # numbers
              (["text with space", "end"], [16, 5], " text with space  end"),         # long text
              ([{"a": 1}, {"b": 2}], [12, 12], "   {'a': 1}   {'b': 2}"),             # dicts
              ([[1, 2], [3, 4]], [10, 10], "     [1, 2]     [3, 4]"),                 # lists
              ([[{"x": 1}], [{"y": 2}]], [16, 16], "   [{'x': 1}]   [{'y': 2}]"),     # list of dict
              ([[1, [2, 3]], [4, [5, 6]]], [18, 18], "  [1, [2, 3]]  [4, [5, 6]]"),   # nested lists
          ])
          def test_fmt_table_line(entries, widths, expected):
      >       assert _fmt_table_line(entries, widths) == expected
      E       NameError: name '_fmt_table_line' is not defined
      
      tests/test_utils_printing.py:168: NameError
      

      📌 Teardown phase

      duration:

      0.00024114991538226604
      

      outcome:

      passed
      
    • Test 223
      params: entries={"x": 1}], [{"y": 2}, widths=[16, 16], expected=" [{'x': 1}] [{'y': 2}]"

      📌 Runtime Parameters

      params:
        entries:
          -       -         x: 1
          -       -         y: 2
        widths:
          - 16
          - 16
        expected:    [{'x': 1}]   [{'y': 2}]
      id: entries8-widths8-   [{'x': 1}]   [{'y': 2}]
      

      📌 Setup phase

      duration:

      0.0003183248918503523
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016590883024036884
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_printing.py
      lineno: 168
      message: NameError: name '_fmt_table_line' is not defined
      

      traceback:

      -   path: tests/test_utils_printing.py
        lineno: 168
        message: NameError
      

      longrepr:

      entries = [[{'x': 1}], [{'y': 2}]], widths = [16, 16]
      expected = "   [{'x': 1}]   [{'y': 2}]"
      
          @pytest.mark.parametrize("entries, widths, expected", [
              (["a", "bbb"], [3, 5], "  a   bbb"),                                    # simple string
              ([1, 2], [2, 2], " 1  2"),                                              # int
              (["long", "val"], [6, 4], "  long  val"),                               # more padding
              ([True, False], [5, 6], " True  False"),                                # bool
              ([123, 4567], [5, 5], "  123  4567"),                                   # numbers
              (["text with space", "end"], [16, 5], " text with space  end"),         # long text
              ([{"a": 1}, {"b": 2}], [12, 12], "   {'a': 1}   {'b': 2}"),             # dicts
              ([[1, 2], [3, 4]], [10, 10], "     [1, 2]     [3, 4]"),                 # lists
              ([[{"x": 1}], [{"y": 2}]], [16, 16], "   [{'x': 1}]   [{'y': 2}]"),     # list of dict
              ([[1, [2, 3]], [4, [5, 6]]], [18, 18], "  [1, [2, 3]]  [4, [5, 6]]"),   # nested lists
          ])
          def test_fmt_table_line(entries, widths, expected):
      >       assert _fmt_table_line(entries, widths) == expected
      E       NameError: name '_fmt_table_line' is not defined
      
      tests/test_utils_printing.py:168: NameError
      

      📌 Teardown phase

      duration:

      0.0002432498149573803
      

      outcome:

      passed
      
    • Test 224
      params: entries=1, [2, 3, [4, [5, 6]]], widths=[18, 18], expected=" [1, [2, 3]] [4, [5, 6]]"

      📌 Runtime Parameters

      params:
        entries:
          -       - 1
            -         - 2
              - 3
          -       - 4
            -         - 5
              - 6
        widths:
          - 18
          - 18
        expected:   [1, [2, 3]]  [4, [5, 6]]
      id: entries9-widths9-  [1, [2, 3]]  [4, [5, 6]]
      

      📌 Setup phase

      duration:

      0.0003257971256971359
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016919313929975033
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_printing.py
      lineno: 168
      message: NameError: name '_fmt_table_line' is not defined
      

      traceback:

      -   path: tests/test_utils_printing.py
        lineno: 168
        message: NameError
      

      longrepr:

      entries = [[1, [2, 3]], [4, [5, 6]]], widths = [18, 18]
      expected = '  [1, [2, 3]]  [4, [5, 6]]'
      
          @pytest.mark.parametrize("entries, widths, expected", [
              (["a", "bbb"], [3, 5], "  a   bbb"),                                    # simple string
              ([1, 2], [2, 2], " 1  2"),                                              # int
              (["long", "val"], [6, 4], "  long  val"),                               # more padding
              ([True, False], [5, 6], " True  False"),                                # bool
              ([123, 4567], [5, 5], "  123  4567"),                                   # numbers
              (["text with space", "end"], [16, 5], " text with space  end"),         # long text
              ([{"a": 1}, {"b": 2}], [12, 12], "   {'a': 1}   {'b': 2}"),             # dicts
              ([[1, 2], [3, 4]], [10, 10], "     [1, 2]     [3, 4]"),                 # lists
              ([[{"x": 1}], [{"y": 2}]], [16, 16], "   [{'x': 1}]   [{'y': 2}]"),     # list of dict
              ([[1, [2, 3]], [4, [5, 6]]], [18, 18], "  [1, [2, 3]]  [4, [5, 6]]"),   # nested lists
          ])
          def test_fmt_table_line(entries, widths, expected):
      >       assert _fmt_table_line(entries, widths) == expected
      E       NameError: name '_fmt_table_line' is not defined
      
      tests/test_utils_printing.py:168: NameError
      

      📌 Teardown phase

      duration:

      0.00028715399093925953
      

      outcome:

      passed
      

    Function: test_fmt_label_sep

    • Test 225
      params: widths=[3, 4], line="-", expected="--- ----"

      📌 Runtime Parameters

      params:
        widths:
          - 3
          - 4
        line: -
        expected: --- ----
      id: widths0------ ----
      

      📌 Setup phase

      duration:

      0.0003251552116125822
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017886399291455746
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_printing.py
      lineno: 183
      message: NameError: name '_fmt_label_sep' is not defined
      

      traceback:

      -   path: tests/test_utils_printing.py
        lineno: 183
        message: NameError
      

      longrepr:

      widths = [3, 4], line = '-', expected = '--- ----'
      
          @pytest.mark.parametrize("widths,line,expected", [
              ([3, 4], "-", "--- ----"),                          # standard
              ([2, 3], "=", "== ==="),                            # custom char
              ([10, 12], "-", "---------- ------------"),         # colonnes larges
              ([len(str([1, 2, 3])), len(str({'a': 1}))], "-",
               "--------- ----------"),                           # largeur basée sur list/dict str
              ([len(str([{'x': 1}]))] * 2, "=",
               "============== =============="),                  # list of dict
              ([len(str([1, [2, 3]])), len(str([4, [5, 6]]))], "#",
               "############## ##############"),                  # nested lists
          ])
          def test_fmt_label_sep(widths, line, expected):
      >       assert _fmt_label_sep(widths, line) == expected
      E       NameError: name '_fmt_label_sep' is not defined
      
      tests/test_utils_printing.py:183: NameError
      

      📌 Teardown phase

      duration:

      0.0002334571909159422
      

      outcome:

      passed
      
    • Test 226
      params: widths=[2, 3], line="=", expected="== ==="

      📌 Runtime Parameters

      params:
        widths:
          - 2
          - 3
        line: =
        expected: == ===
      id: widths1-=-== ===
      

      📌 Setup phase

      duration:

      0.00041396194137632847
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017943698912858963
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_printing.py
      lineno: 183
      message: NameError: name '_fmt_label_sep' is not defined
      

      traceback:

      -   path: tests/test_utils_printing.py
        lineno: 183
        message: NameError
      

      longrepr:

      widths = [2, 3], line = '=', expected = '== ==='
      
          @pytest.mark.parametrize("widths,line,expected", [
              ([3, 4], "-", "--- ----"),                          # standard
              ([2, 3], "=", "== ==="),                            # custom char
              ([10, 12], "-", "---------- ------------"),         # colonnes larges
              ([len(str([1, 2, 3])), len(str({'a': 1}))], "-",
               "--------- ----------"),                           # largeur basée sur list/dict str
              ([len(str([{'x': 1}]))] * 2, "=",
               "============== =============="),                  # list of dict
              ([len(str([1, [2, 3]])), len(str([4, [5, 6]]))], "#",
               "############## ##############"),                  # nested lists
          ])
          def test_fmt_label_sep(widths, line, expected):
      >       assert _fmt_label_sep(widths, line) == expected
      E       NameError: name '_fmt_label_sep' is not defined
      
      tests/test_utils_printing.py:183: NameError
      

      📌 Teardown phase

      duration:

      0.00024565798230469227
      

      outcome:

      passed
      
    • Test 227
      params: widths=[10, 12], line="-", expected="---------- ------------"

      📌 Runtime Parameters

      params:
        widths:
          - 10
          - 12
        line: -
        expected: ---------- ------------
      id: widths2------------- ------------
      

      📌 Setup phase

      duration:

      0.00040070991963148117
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019215699285268784
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_printing.py
      lineno: 183
      message: NameError: name '_fmt_label_sep' is not defined
      

      traceback:

      -   path: tests/test_utils_printing.py
        lineno: 183
        message: NameError
      

      longrepr:

      widths = [10, 12], line = '-', expected = '---------- ------------'
      
          @pytest.mark.parametrize("widths,line,expected", [
              ([3, 4], "-", "--- ----"),                          # standard
              ([2, 3], "=", "== ==="),                            # custom char
              ([10, 12], "-", "---------- ------------"),         # colonnes larges
              ([len(str([1, 2, 3])), len(str({'a': 1}))], "-",
               "--------- ----------"),                           # largeur basée sur list/dict str
              ([len(str([{'x': 1}]))] * 2, "=",
               "============== =============="),                  # list of dict
              ([len(str([1, [2, 3]])), len(str([4, [5, 6]]))], "#",
               "############## ##############"),                  # nested lists
          ])
          def test_fmt_label_sep(widths, line, expected):
      >       assert _fmt_label_sep(widths, line) == expected
      E       NameError: name '_fmt_label_sep' is not defined
      
      tests/test_utils_printing.py:183: NameError
      

      📌 Teardown phase

      duration:

      0.0002689659595489502
      

      outcome:

      passed
      
    • Test 228
      params: widths=[9, 8], line="-", expected="--------- ----------"

      📌 Runtime Parameters

      params:
        widths:
          - 9
          - 8
        line: -
        expected: --------- ----------
      id: widths3------------ ----------
      

      📌 Setup phase

      duration:

      0.0003717700019478798
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018815300427377224
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_printing.py
      lineno: 183
      message: NameError: name '_fmt_label_sep' is not defined
      

      traceback:

      -   path: tests/test_utils_printing.py
        lineno: 183
        message: NameError
      

      longrepr:

      widths = [9, 8], line = '-', expected = '--------- ----------'
      
          @pytest.mark.parametrize("widths,line,expected", [
              ([3, 4], "-", "--- ----"),                          # standard
              ([2, 3], "=", "== ==="),                            # custom char
              ([10, 12], "-", "---------- ------------"),         # colonnes larges
              ([len(str([1, 2, 3])), len(str({'a': 1}))], "-",
               "--------- ----------"),                           # largeur basée sur list/dict str
              ([len(str([{'x': 1}]))] * 2, "=",
               "============== =============="),                  # list of dict
              ([len(str([1, [2, 3]])), len(str([4, [5, 6]]))], "#",
               "############## ##############"),                  # nested lists
          ])
          def test_fmt_label_sep(widths, line, expected):
      >       assert _fmt_label_sep(widths, line) == expected
      E       NameError: name '_fmt_label_sep' is not defined
      
      tests/test_utils_printing.py:183: NameError
      

      📌 Teardown phase

      duration:

      0.00024196202866733074
      

      outcome:

      passed
      
    • Test 229
      params: widths=[10, 10], line="=", expected="============== =============="

      📌 Runtime Parameters

      params:
        widths:
          - 10
          - 10
        line: =
        expected: ============== ==============
      id: widths4-=-============== ==============
      

      📌 Setup phase

      duration:

      0.00033836602233350277
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001667190808802843
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_printing.py
      lineno: 183
      message: NameError: name '_fmt_label_sep' is not defined
      

      traceback:

      -   path: tests/test_utils_printing.py
        lineno: 183
        message: NameError
      

      longrepr:

      widths = [10, 10], line = '=', expected = '============== =============='
      
          @pytest.mark.parametrize("widths,line,expected", [
              ([3, 4], "-", "--- ----"),                          # standard
              ([2, 3], "=", "== ==="),                            # custom char
              ([10, 12], "-", "---------- ------------"),         # colonnes larges
              ([len(str([1, 2, 3])), len(str({'a': 1}))], "-",
               "--------- ----------"),                           # largeur basée sur list/dict str
              ([len(str([{'x': 1}]))] * 2, "=",
               "============== =============="),                  # list of dict
              ([len(str([1, [2, 3]])), len(str([4, [5, 6]]))], "#",
               "############## ##############"),                  # nested lists
          ])
          def test_fmt_label_sep(widths, line, expected):
      >       assert _fmt_label_sep(widths, line) == expected
      E       NameError: name '_fmt_label_sep' is not defined
      
      tests/test_utils_printing.py:183: NameError
      

      📌 Teardown phase

      duration:

      0.00023026904091238976
      

      outcome:

      passed
      
    • Test 230
      params: widths=[11, 11], line="#", expected="############## ##############"

      📌 Runtime Parameters

      params:
        widths:
          - 11
          - 11
        line: #
        expected: ############## ##############
      id: widths5-#-############## ##############
      

      📌 Setup phase

      duration:

      0.00033425912261009216
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017829099670052528
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_printing.py
      lineno: 183
      message: NameError: name '_fmt_label_sep' is not defined
      

      traceback:

      -   path: tests/test_utils_printing.py
        lineno: 183
        message: NameError
      

      longrepr:

      widths = [11, 11], line = '#', expected = '############## ##############'
      
          @pytest.mark.parametrize("widths,line,expected", [
              ([3, 4], "-", "--- ----"),                          # standard
              ([2, 3], "=", "== ==="),                            # custom char
              ([10, 12], "-", "---------- ------------"),         # colonnes larges
              ([len(str([1, 2, 3])), len(str({'a': 1}))], "-",
               "--------- ----------"),                           # largeur basée sur list/dict str
              ([len(str([{'x': 1}]))] * 2, "=",
               "============== =============="),                  # list of dict
              ([len(str([1, [2, 3]])), len(str([4, [5, 6]]))], "#",
               "############## ##############"),                  # nested lists
          ])
          def test_fmt_label_sep(widths, line, expected):
      >       assert _fmt_label_sep(widths, line) == expected
      E       NameError: name '_fmt_label_sep' is not defined
      
      tests/test_utils_printing.py:183: NameError
      

      📌 Teardown phase

      duration:

      0.0002709520049393177
      

      outcome:

      passed
      

    Function: test_printable_table_exact_output

    • Test 231

      📌 Setup phase

      duration:

      0.00015092291869223118
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.005581805948168039
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_printing.py
      lineno: 214
      message: assert "A: ID\nB: ✓ ...ed_key': 42}}" == "A: ID\nB: ✓ ..._key': 42}}\n"
      
        Skipping 52 identical leading characters in diff, use -v to show
           Metadata
        + 
        - #              A          B                    C                              D
        ?               -      -----           ---------- --
        + #             A     B          C                            D
        - -------------------------------------------------------------------------------
        + - ------------- ----- ---------- ----------------------------
        - 0            X1       True              0.1234                  {'meta': 'ok'}
        ?                -----      ---------           ---
        + 0            X1  True     0.1234               {'meta': 'ok'}
        - 1  AnotherSample      False          98765.4321           {'meta': [1, 2, 3]}
        ?  -               -----     ---------                     -
        + 1 AnotherSample False 98765.4321          {'meta': [1, 2, 3]}
        - 2              Z        None                 0.0  {'meta': {'nested_key': 42}}
        ?               - ------              ---------   -                             -
        + 2             Z  None        0.0 {'meta': {'nested_key': 42}}
      

      traceback:

      -   path: tests/test_utils_printing.py
        lineno: 214
        message: AssertionError
      

      longrepr:

      def test_printable_table_exact_output():
              data = [
                  ["X1", True, 0.1234, {"meta": "ok"}],
                  ["AnotherSample", False, 98765.4321, {"meta": [1, 2, 3]}],
                  ["Z", None, 0.0, {"meta": {"nested_key": 42}}]
              ]
              labels = ["ID", "✓ Success?", "SuperPrecisionValue", "Result Metadata"]
      
              expected = (
              "A: ID\n"
              "B: ✓ Success?\n"
              "C: SuperPrecisionValue\n"
              "D: Result Metadata\n"
              "#              A          B                    C                              D\n"
              "-------------------------------------------------------------------------------\n"
              "0            X1       True              0.1234                  {'meta': 'ok'}\n"
              "1  AnotherSample      False          98765.4321           {'meta': [1, 2, 3]}\n"
              "2              Z        None                 0.0  {'meta': {'nested_key': 42}}\n"
          )
      
              out = printable_table(
                  data,
                  labels=labels,
                  enumerate_lines=True,
                  make_legend=True
              )
      
      >       assert out == expected
      E       assert "A: ID\nB: ✓ ...ed_key': 42}}" == "A: ID\nB: ✓ ..._key': 42}}\n"
      E         
      E         Skipping 52 identical leading characters in diff, use -v to show
      E            Metadata
      E         + 
      E         - #              A          B                    C                              D
      E         ?               -      -----           ---------- --
      E         + #             A     B          C                            D
      E         - -------------------------------------------------------------------------------
      E         + - ------------- ----- ---------- ----------------------------
      E         - 0            X1       True              0.1234                  {'meta': 'ok'}
      E         ?                -----      ---------           ---
      E         + 0            X1  True     0.1234               {'meta': 'ok'}
      E         - 1  AnotherSample      False          98765.4321           {'meta': [1, 2, 3]}
      E         ?  -               -----     ---------                     -
      E         + 1 AnotherSample False 98765.4321          {'meta': [1, 2, 3]}
      E         - 2              Z        None                 0.0  {'meta': {'nested_key': 42}}
      E         ?               - ------              ---------   -                             -
      E         + 2             Z  None        0.0 {'meta': {'nested_key': 42}}
      
      tests/test_utils_printing.py:214: AssertionError
      

      📌 Teardown phase

      duration:

      0.0002153769601136446
      

      outcome:

      passed
      

📚 Collected files

(1 tests)
    • Outcome: passed
    • result:
    -   nodeid: .
      type: Dir
    
ci-reports (13 tests)
  • ci-reports
    • Outcome: passed
    • result:
    -   nodeid: ci-reports/allure
      type: Dir
    -   nodeid: ci-reports/junit
      type: Dir
    -   nodeid: ci-reports/markdown
      type: Dir
    
    • ci-reports/allure
      • Outcome: passed
      • result:
      -   nodeid: ci-reports/allure/data
        type: Dir
      -   nodeid: ci-reports/allure/export
        type: Dir
      -   nodeid: ci-reports/allure/history
        type: Dir
      -   nodeid: ci-reports/allure/plugin
        type: Dir
      -   nodeid: ci-reports/allure/widgets
        type: Dir
      
    • ci-reports/allure/data
      • Outcome: passed
      • result:
      -   nodeid: ci-reports/allure/data/test-cases
        type: Dir
      
    • ci-reports/allure/data/test-cases
      • Outcome: passed
      • result:
      []
      
    • ci-reports/allure/export
      • Outcome: passed
      • result:
      []
      
    • ci-reports/allure/history
      • Outcome: passed
      • result:
      []
      
    • ci-reports/allure/plugin
      • Outcome: passed
      • result:
      -   nodeid: ci-reports/allure/plugin/behaviors
        type: Dir
      -   nodeid: ci-reports/allure/plugin/packages
        type: Dir
      -   nodeid: ci-reports/allure/plugin/screen-diff
        type: Dir
      
    • ci-reports/allure/plugin/behaviors
      • Outcome: passed
      • result:
      []
      
    • ci-reports/allure/plugin/packages
      • Outcome: passed
      • result:
      []
      
    • ci-reports/allure/plugin/screen-diff
      • Outcome: passed
      • result:
      []
      
    • ci-reports/allure/widgets
      • Outcome: passed
      • result:
      []
      
    • ci-reports/junit
      • Outcome: passed
      • result:
      []
      
    • ci-reports/markdown
      • Outcome: passed
      • result:
      []
      
outputs (1 tests)
  • outputs
    • Outcome: passed
    • result:
    []
    
slic (30 tests)
  • slic
    • Outcome: passed
    • result:
    -   nodeid: slic/core
      type: Package
    -   nodeid: slic/devices
      type: Package
    -   nodeid: slic/gui
      type: Package
    -   nodeid: slic/utils
      type: Package
    
    • slic/core
      • Outcome: passed
      • result:
      -   nodeid: slic/core/acquisition
        type: Package
      -   nodeid: slic/core/adjustable
        type: Package
      -   nodeid: slic/core/condition
        type: Package
      -   nodeid: slic/core/device
        type: Package
      -   nodeid: slic/core/scanner
        type: Package
      -   nodeid: slic/core/sensor
        type: Package
      -   nodeid: slic/core/task
        type: Package
      
    • slic/core/acquisition
      • Outcome: passed
      • result:
      -   nodeid: slic/core/acquisition/broker
        type: Package
      
    • slic/core/acquisition/broker
      • Outcome: passed
      • result:
      []
      
    • slic/core/adjustable
      • Outcome: passed
      • result:
      []
      
    • slic/core/condition
      • Outcome: passed
      • result:
      []
      
    • slic/core/device
      • Outcome: passed
      • result:
      []
      
    • slic/core/scanner
      • Outcome: passed
      • result:
      []
      
    • slic/core/sensor
      • Outcome: passed
      • result:
      []
      
    • slic/core/task
      • Outcome: passed
      • result:
      []
      
    • slic/devices
      • Outcome: passed
      • result:
      -   nodeid: slic/devices/cameras
        type: Package
      -   nodeid: slic/devices/endstations
        type: Package
      -   nodeid: slic/devices/general
        type: Package
      -   nodeid: slic/devices/loptics
        type: Package
      -   nodeid: slic/devices/timing
        type: Package
      -   nodeid: slic/devices/xdiagnostics
        type: Package
      -   nodeid: slic/devices/xoptics
        type: Package
      
    • slic/devices/cameras
      • Outcome: passed
      • result:
      []
      
    • slic/devices/endstations
      • Outcome: passed
      • result:
      []
      
    • slic/devices/general
      • Outcome: passed
      • result:
      -   nodeid: slic/devices/general/detectors
        type: Package
      -   nodeid: slic/devices/general/unused
        type: Dir
      
    • slic/devices/general/detectors
      • Outcome: passed
      • result:
      []
      
    • slic/devices/general/unused
      • Outcome: passed
      • result:
      []
      
    • slic/devices/loptics
      • Outcome: passed
      • result:
      []
      
    • slic/devices/timing
      • Outcome: passed
      • result:
      -   nodeid: slic/devices/timing/events
        type: Package
      
    • slic/devices/timing/events
      • Outcome: passed
      • result:
      []
      
    • slic/devices/xdiagnostics
      • Outcome: passed
      • result:
      []
      
    • slic/devices/xoptics
      • Outcome: passed
      • result:
      -   nodeid: slic/devices/xoptics/slits
        type: Package
      -   nodeid: slic/devices/xoptics/unused
        type: Dir
      
    • slic/devices/xoptics/slits
      • Outcome: passed
      • result:
      []
      
    • slic/devices/xoptics/unused
      • Outcome: passed
      • result:
      []
      
    • slic/gui
      • Outcome: passed
      • result:
      -   nodeid: slic/gui/daqpanels
        type: Package
      -   nodeid: slic/gui/widgets
        type: Package
      
    • slic/gui/daqpanels
      • Outcome: passed
      • result:
      []
      
    • slic/gui/widgets
      • Outcome: passed
      • result:
      []
      
    • slic/utils
      • Outcome: passed
      • result:
      -   nodeid: slic/utils/ioc
        type: Package
      -   nodeid: slic/utils/unused
        type: Dir
      
    • slic/utils/ioc
      • Outcome: passed
      • result:
      []
      
    • slic/utils/unused
      • Outcome: passed
      • result:
      -   nodeid: slic/utils/unused/xsim
        type: Package
      
    • slic/utils/unused/xsim
      • Outcome: passed
      • result:
      []
      
temp-ci (1 tests)
  • temp-ci
    • Outcome: passed
    • result:
    []
    
tests (18 tests)
  • tests
    • Outcome: passed
    • result:
    -   nodeid: tests/test_utils_ask_yes_no.py
      type: Module
    -   nodeid: tests/test_utils_channels.py
      type: Module
    -   nodeid: tests/test_utils_cpint.py
      type: Module
    -   nodeid: tests/test_utils_debug.py
      type: Module
    -   nodeid: tests/test_utils_dictext.py
      type: Module
    -   nodeid: tests/test_utils_dotdir.py
      type: Module
    -   nodeid: tests/test_utils_jsonext.py
      type: Module
    -   nodeid: tests/test_utils_lazypv.py
      type: Module
    -   nodeid: tests/test_utils_logcfg.py
      type: Module
    -   nodeid: tests/test_utils_logign.py
      type: Module
    -   nodeid: tests/test_utils_metaclasses.py
      type: Module
    -   nodeid: tests/test_utils_npy.py
      type: Module
    -   nodeid: tests/test_utils_path.py
      type: Module
    -   nodeid: tests/test_utils_picklio.py
      type: Module
    -   nodeid: tests/test_utils_printing.py
      type: Module
    -   nodeid: tests/test_utils_xrange.py
      type: Module
    -   nodeid: tests/test_ytils_utils.py
      type: Module
    
    • tests/test_utils_ask_yes_no.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[None-y-True-Question? [y/n] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[None-yes-True-Question? [y/n] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[None-n-False-Question? [y/n] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[None-no-False-Question? [y/n] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[None-user_input4-True-Question? [y/n] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[None-user_input5-False-Question? [y/n] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[None-user_input6-True-Question? [y/n] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[y-y-True-Question? [Y/n] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[y-n-False-Question? [Y/n] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[y--True-Question? [Y/n] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[n-y-True-Question? [y/N] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[n-n-False-Question? [y/N] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[n--False-Question? [y/N] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c[None-KeyboardInterrupt-False-n]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c[None-KeyboardInterrupt-True-y]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c[y-KeyboardInterrupt-False-n]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c[y-KeyboardInterrupt-True-y]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c[n-KeyboardInterrupt-False-n]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c[None-user_input5-False-n]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c[None-user_input6-True-y]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c[None-user_input7-False-None]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c[n-user_input8-False-None]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c[n-user_input9-False-Invalid]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[None-EOFError-False-n]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[None-EOFError-True-y]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[y-EOFError-True-y]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[n-EOFError-True-y]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[n-EOFError-False-n]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[None-user_input5-True-y]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[None-user_input6-False-n]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[y-EOFError-True-None]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[n-EOFError-False-None]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[None-user_input9-True-None]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[n-user_input10-False-None]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[None-user_input11-True-None]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[None-user_input12-False-n]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[None-user_input13-True-y]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_mixed_sequences[None-invalid-None-user_input0-False]
        type: Function
        lineno: 117
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_mixed_sequences[None-None-notananswer-user_input1-True]
        type: Function
        lineno: 117
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_mixed_sequences[None-n-nop-user_input2-False]
        type: Function
        lineno: 117
      
    • tests/test_utils_channels.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_channels.py::test_load_channels_and_channels_class_with_professional_names
        type: Function
        lineno: 42
      
    • tests/test_utils_cpint.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_cpint.py::test_load_color_variants_all_keys_and_types[red]
        type: Function
        lineno: 9
      -   nodeid: tests/test_utils_cpint.py::test_load_color_variants_all_keys_and_types[blue]
        type: Function
        lineno: 9
      -   nodeid: tests/test_utils_cpint.py::test_load_color_variants_all_keys_and_types[yellow]
        type: Function
        lineno: 9
      -   nodeid: tests/test_utils_cpint.py::test_load_color_variants_all_keys_and_types[green]
        type: Function
        lineno: 9
      -   nodeid: tests/test_utils_cpint.py::test_load_color_variants_all_keys_and_types[cyan]
        type: Function
        lineno: 9
      -   nodeid: tests/test_utils_cpint.py::test_load_color_variants_all_keys_and_types[magenta]
        type: Function
        lineno: 9
      -   nodeid: tests/test_utils_cpint.py::test_load_color_variants_all_keys_and_types[white]
        type: Function
        lineno: 9
      -   nodeid: tests/test_utils_cpint.py::test_load_color_variants_all_keys_and_types[black]
        type: Function
        lineno: 9
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects0-color_spec0- | -['Fancy', 'list'] | {'a': 7} | None-None]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects1-color_spec1- - -{'k': [1, 2]} - 99 - ['X', ['Y']]-None]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects2-color_spec2- / -[] / {} / End-None]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects3-color_spec3-;-['', [3, 4]];done;0-None]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects4-color_spec4-::-['alpha', None]::['beta', {}]::stop-None]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects5-color_spec5- ... -['deep', ['deeper', ['deepest']]] ... X-None]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects6-color_spec6- // -{'dict': {'nested': [4, 5]}} // [True, False] // 6.28-None]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects7-color_spec7-==-['A', ['B']]==string==C-None]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects8-color_spec8- ++ -['Test', None, []] ++ {'v': 0}-None]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects9-None-;-['no', 'color'];plain-None]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects10-None- | -['simple'] |  | 12-None]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects11-None- : -[['very', 'deep']] : {'ok': True}-None]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects12-color_spec12-|-['fail', 'color']|123-ValueError]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects13-color_spec13- * -['error'] * {}-ValueError]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects14-color_spec14-//-['nope']//['bad']-ValueError]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects15-color_spec15----wrong--base-ValueError]
        type: Function
        lineno: 24
      
    • tests/test_utils_debug.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_debug.py::test_traceable[A-entry0-creating: A(10, 20)]
        type: Function
        lineno: 21
      -   nodeid: tests/test_utils_debug.py::test_traceable[A-entry1-creating: A(10, 20, e=100)]
        type: Function
        lineno: 21
      -   nodeid: tests/test_utils_debug.py::test_traceable[A-entry2-creating: A('foo', [1, 2, 3], flag=True, data={'x': 9})]
        type: Function
        lineno: 21
      -   nodeid: tests/test_utils_debug.py::test_traceable[A-entry3-creating: A(CustomObj(big), [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], name='test', meta='yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy...)]
        type: Function
        lineno: 21
      -   nodeid: tests/test_utils_debug.py::test_traceable[A-entry4-creating: A('AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA..., [0, 0, 0, 0, 0])]
        type: Function
        lineno: 21
      -   nodeid: tests/test_utils_debug.py::test_short_repr[abc-10-'abc']
        type: Function
        lineno: 52
      -   nodeid: tests/test_utils_debug.py::test_short_repr[aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-10-'aaaaaaaaaa...]
        type: Function
        lineno: 52
      -   nodeid: tests/test_utils_debug.py::test_short_repr[12345-10-12345]
        type: Function
        lineno: 52
      -   nodeid: tests/test_utils_debug.py::test_short_repr[value3-15-[0, 0, 0, 0, 0,...]
        type: Function
        lineno: 52
      -   nodeid: tests/test_utils_debug.py::test_short_repr[None-10-None]
        type: Function
        lineno: 52
      -   nodeid: tests/test_utils_debug.py::test_short_repr[value5-20-Obj(xxxxxxxxxxxxxxxxx...]
        type: Function
        lineno: 52
      
    • tests/test_utils_dictext.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_dictext.py::test_attrdict_getattr[data0-x-1]
        type: Function
        lineno: 12
      -   nodeid: tests/test_utils_dictext.py::test_attrdict_getattr[data1-world-ok]
        type: Function
        lineno: 12
      -   nodeid: tests/test_utils_dictext.py::test_attrdict_getattr[data2-outer-expected2]
        type: Function
        lineno: 12
      -   nodeid: tests/test_utils_dictext.py::test_attrdict_setattr[initial0-nouveau-123]
        type: Function
        lineno: 26
      -   nodeid: tests/test_utils_dictext.py::test_attrdict_setattr[initial1-b-valeur]
        type: Function
        lineno: 26
      -   nodeid: tests/test_utils_dictext.py::test_attrdict_delattr[initial0-a-expected_keys0]
        type: Function
        lineno: 40
      -   nodeid: tests/test_utils_dictext.py::test_attrdict_delattr[initial1-k-expected_keys1]
        type: Function
        lineno: 40
      -   nodeid: tests/test_utils_dictext.py::test_attrdict_dir[data0-expected_keys0]
        type: Function
        lineno: 55
      -   nodeid: tests/test_utils_dictext.py::test_attrdict_dir[data1-expected_keys1]
        type: Function
        lineno: 55
      -   nodeid: tests/test_utils_dictext.py::test_attrdict_getattr_and_missing[data0-x-1-None]
        type: Function
        lineno: 69
      -   nodeid: tests/test_utils_dictext.py::test_attrdict_getattr_and_missing[data1-missing-None-'MyDict' object has no attribute 'missing']
        type: Function
        lineno: 69
      -   nodeid: tests/test_utils_dictext.py::test_dictupdatemixin_init_and_update[init_kwargs0-None-kwargs0-expected0]
        type: Function
        lineno: 90
      -   nodeid: tests/test_utils_dictext.py::test_dictupdatemixin_init_and_update[init_kwargs1-other1-kwargs1-expected1]
        type: Function
        lineno: 90
      -   nodeid: tests/test_utils_dictext.py::test_dictupdatemixin_init_and_update[init_kwargs2-other2-kwargs2-expected2]
        type: Function
        lineno: 90
      -   nodeid: tests/test_utils_dictext.py::test_dictupdatemixin_init_and_update[init_kwargs3-None-kwargs3-expected3]
        type: Function
        lineno: 90
      -   nodeid: tests/test_utils_dictext.py::test_dictupdatemixin_init_and_update[init_kwargs4-other4-kwargs4-expected4]
        type: Function
        lineno: 90
      -   nodeid: tests/test_utils_dictext.py::test_dictupdatemixin_init_and_update[init_kwargs5-other5-kwargs5-expected5]
        type: Function
        lineno: 90
      
    • tests/test_utils_dotdir.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_dotdir.py::test_dotdir_creation_and_base_exists
        type: Function
        lineno: 14
      -   nodeid: tests/test_utils_dotdir.py::test_dotdir_repr_returns_path_str
        type: Function
        lineno: 28
      -   nodeid: tests/test_utils_dotdir.py::test_dotdir_call
        type: Function
        lineno: 35
      
    • tests/test_utils_jsonext.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_jsonext.py::test_json_validate_save_load[input_obj0-expected0]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_jsonext.py::test_json_validate_save_load[input_obj1-42]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_jsonext.py::test_json_validate_save_load[(1-1j)-expected2]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_jsonext.py::test_json_validate_save_load[input_obj3-/tmp/file.txt]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_jsonext.py::test_json_validate_save_load[input_obj4-expected4]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_jsonext.py::test_json_validate_save_load[input_obj5-expected5]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_jsonext.py::test_json_validate_save_load[input_obj6-expected6]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_jsonext.py::test_json_validate_save_load[input_obj7-expected7]
        type: Function
        lineno: 7
      
    • tests/test_utils_lazypv.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_lazypv.py::test_getattr
        type: Function
        lineno: 14
      
    • tests/test_utils_logcfg.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_logcfg.py::test_custom_log_outputs[LONG-<lambda>-This is a LONG message]
        type: Function
        lineno: 21
      -   nodeid: tests/test_utils_logcfg.py::test_custom_log_outputs[ENLARGE-<lambda>-Please ENLARGE this!]
        type: Function
        lineno: 21
      -   nodeid: tests/test_utils_logcfg.py::test_import_logging_once_per_module
        type: Function
        lineno: 51
      
    • tests/test_utils_logign.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_logign.py::test_ignore_log_msg_behavior[WARNING-This should be ignored-This should appear]
        type: Function
        lineno: 9
      -   nodeid: tests/test_utils_logign.py::test_ignore_log_msg_behavior[ENLARGE-ENLARGE this-Keep this ENLARGE]
        type: Function
        lineno: 9
      -   nodeid: tests/test_utils_logign.py::test_ignore_only_by_level
        type: Function
        lineno: 42
      -   nodeid: tests/test_utils_logign.py::test_ignore_only_by_msg
        type: Function
        lineno: 64
      -   nodeid: tests/test_utils_logign.py::test_filter_removed_after_context
        type: Function
        lineno: 86
      
    • tests/test_utils_metaclasses.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_metaclasses.py::test_combine_classes_combines_methods
        type: Function
        lineno: 14
      -   nodeid: tests/test_utils_metaclasses.py::test_registryabc_combines_registrymeta_and_abcmeta
        type: Function
        lineno: 25
      
    • tests/test_utils_npy.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_npy.py::test_nice_arange[0-5-1-expected0]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_npy.py::test_nice_arange[5-0--1-expected1]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_npy.py::test_nice_arange[1-2-0.3-expected2]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_npy.py::test_nice_arange[-2-2-1.5-expected3]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_npy.py::test_nice_arange[2.5-0.5--0.4-expected4]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_npy.py::test_nice_linspace[0-10-4-expected0]
        type: Function
        lineno: 18
      -   nodeid: tests/test_utils_npy.py::test_nice_linspace[5-15-2-expected1]
        type: Function
        lineno: 18
      -   nodeid: tests/test_utils_npy.py::test_nice_linspace[-5-5-4-expected2]
        type: Function
        lineno: 18
      -   nodeid: tests/test_utils_npy.py::test_nice_linspace[0-1-3-expected3]
        type: Function
        lineno: 18
      -   nodeid: tests/test_utils_npy.py::test_nice_linspace[2-2-3-expected4]
        type: Function
        lineno: 18
      -   nodeid: tests/test_utils_npy.py::test_nice_linspace[3-0-3-expected5]
        type: Function
        lineno: 18
      -   nodeid: tests/test_utils_npy.py::test_nice_linspace[0-1-0-expected6]
        type: Function
        lineno: 18
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_centered[-2-2-2-True-expected0]
        type: Function
        lineno: 32
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_centered[0-5-2-True-expected1]
        type: Function
        lineno: 32
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_centered[0-5-2-False-expected2]
        type: Function
        lineno: 32
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_centered[-1-2-1.5-True-expected3]
        type: Function
        lineno: 32
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_left_aligned[0-5-2-True-expected0]
        type: Function
        lineno: 42
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_left_aligned[0-5-2-False-expected1]
        type: Function
        lineno: 42
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_left_aligned[-1-2-1.5-True-expected2]
        type: Function
        lineno: 42
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_left_aligned[-1-2-1.5-False-expected3]
        type: Function
        lineno: 42
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_left_aligned[-2-1-1.2-True-expected4]
        type: Function
        lineno: 42
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_left_aligned[5-0--2-True-expected5]
        type: Function
        lineno: 42
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_left_aligned[5-0--2-False-expected6]
        type: Function
        lineno: 42
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_right_aligned[0-5-2-True-expected0]
        type: Function
        lineno: 56
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_right_aligned[0-5-2-False-expected1]
        type: Function
        lineno: 56
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_right_aligned[-1-2-1.5-True-expected2]
        type: Function
        lineno: 56
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_right_aligned[-1-2-1.5-False-expected3]
        type: Function
        lineno: 56
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_right_aligned[5-0--2-True-expected4]
        type: Function
        lineno: 56
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_right_aligned[5-0--2-False-expected5]
        type: Function
        lineno: 56
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_right_aligned[-3-3-2-True-expected6]
        type: Function
        lineno: 56
      -   nodeid: tests/test_utils_npy.py::test_within_scalar[5-0-10-True]
        type: Function
        lineno: 70
      -   nodeid: tests/test_utils_npy.py::test_within_scalar[5-6-10-False]
        type: Function
        lineno: 70
      -   nodeid: tests/test_utils_npy.py::test_within_scalar[5-None-10-True]
        type: Function
        lineno: 70
      -   nodeid: tests/test_utils_npy.py::test_within_scalar[5-0-None-True]
        type: Function
        lineno: 70
      -   nodeid: tests/test_utils_npy.py::test_within_scalar[5-None-None-True]
        type: Function
        lineno: 70
      -   nodeid: tests/test_utils_npy.py::test_within_fraction[data0-2-5-0.6]
        type: Function
        lineno: 81
      -   nodeid: tests/test_utils_npy.py::test_within_fraction[data1-5-25-0.6666666666666666]
        type: Function
        lineno: 81
      -   nodeid: tests/test_utils_npy.py::test_within_fraction[data2-None-2-0.3333333333333333]
        type: Function
        lineno: 81
      -   nodeid: tests/test_utils_npy.py::test_within_fraction[data3-0-1-0]
        type: Function
        lineno: 81
      -   nodeid: tests/test_utils_npy.py::test_fraction_to_percentage[0.456-1-45.6]
        type: Function
        lineno: 92
      -   nodeid: tests/test_utils_npy.py::test_fraction_to_percentage[0.12345-2-12.35]
        type: Function
        lineno: 92
      -   nodeid: tests/test_utils_npy.py::test_fraction_to_percentage[0.9999-0-100.0]
        type: Function
        lineno: 92
      -   nodeid: tests/test_utils_npy.py::test_get_dtype[val0-ndarray]
        type: Function
        lineno: 101
      -   nodeid: tests/test_utils_npy.py::test_get_dtype[val1-list]
        type: Function
        lineno: 101
      -   nodeid: tests/test_utils_npy.py::test_get_dtype[3.14-float]
        type: Function
        lineno: 101
      -   nodeid: tests/test_utils_npy.py::test_get_shape[val0-expected0]
        type: Function
        lineno: 114
      -   nodeid: tests/test_utils_npy.py::test_get_shape[val1-expected1]
        type: Function
        lineno: 114
      -   nodeid: tests/test_utils_npy.py::test_get_shape[42-expected2]
        type: Function
        lineno: 114
      -   nodeid: tests/test_utils_npy.py::test_is_array[val0-True]
        type: Function
        lineno: 123
      -   nodeid: tests/test_utils_npy.py::test_is_array[val1-False]
        type: Function
        lineno: 123
      -   nodeid: tests/test_utils_npy.py::test_is_array[42-False]
        type: Function
        lineno: 123
      
    • tests/test_utils_path.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_path.py::test_can_create_all_files_user_says_yes
        type: Function
        lineno: 10
      -   nodeid: tests/test_utils_path.py::test_can_create_all_files_user_says_no
        type: Function
        lineno: 36
      -   nodeid: tests/test_utils_path.py::test_make_missing_dir_creates_folder
        type: Function
        lineno: 54
      -   nodeid: tests/test_utils_path.py::test_glob_files_returns_matching_files_only
        type: Function
        lineno: 66
      -   nodeid: tests/test_utils_path.py::test_filter_files_excludes_directories
        type: Function
        lineno: 83
      
    • tests/test_utils_picklio.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_picklio.py::test_pickle_and_unpickle[test_obj0]
        type: Function
        lineno: 6
      -   nodeid: tests/test_utils_picklio.py::test_pickle_and_unpickle[test_obj1]
        type: Function
        lineno: 6
      -   nodeid: tests/test_utils_picklio.py::test_pickle_and_unpickle[simple string]
        type: Function
        lineno: 6
      -   nodeid: tests/test_utils_picklio.py::test_pickle_and_unpickle[42]
        type: Function
        lineno: 6
      -   nodeid: tests/test_utils_picklio.py::test_pickle_and_unpickle[3.14159]
        type: Function
        lineno: 6
      -   nodeid: tests/test_utils_picklio.py::test_pickle_and_unpickle[test_obj5]
        type: Function
        lineno: 6
      -   nodeid: tests/test_utils_picklio.py::test_pickle_and_unpickle[test_obj6]
        type: Function
        lineno: 6
      
    • tests/test_utils_printing.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_printing.py::test_maxlen_valid[seq0-3]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_printing.py::test_maxlen_valid[seq1-0]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_printing.py::test_maxlen_valid[seq2-3]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_printing.py::test_maxlen_valid[seq3-2]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_printing.py::test_maxstrlen[seq0-6]
        type: Function
        lineno: 16
      -   nodeid: tests/test_utils_printing.py::test_maxstrlen[seq1-3]
        type: Function
        lineno: 16
      -   nodeid: tests/test_utils_printing.py::test_maxstrlen[seq2-9]
        type: Function
        lineno: 16
      -   nodeid: tests/test_utils_printing.py::test_maxstrlen[seq3-17]
        type: Function
        lineno: 16
      -   nodeid: tests/test_utils_printing.py::test_maxstrlen[seq4-5]
        type: Function
        lineno: 16
      -   nodeid: tests/test_utils_printing.py::test_strlen[42-2]
        type: Function
        lineno: 26
      -   nodeid: tests/test_utils_printing.py::test_strlen[hello-5]
        type: Function
        lineno: 26
      -   nodeid: tests/test_utils_printing.py::test_strlen[False-5]
        type: Function
        lineno: 26
      -   nodeid: tests/test_utils_printing.py::test_strlen[None-4]
        type: Function
        lineno: 26
      -   nodeid: tests/test_utils_printing.py::test_strlen[value4-9]
        type: Function
        lineno: 26
      -   nodeid: tests/test_utils_printing.py::test_strlen[value5-8]
        type: Function
        lineno: 26
      -   nodeid: tests/test_utils_printing.py::test_strlen[value6-6]
        type: Function
        lineno: 26
      -   nodeid: tests/test_utils_printing.py::test_strlen[-0]
        type: Function
        lineno: 26
      -   nodeid: tests/test_utils_printing.py::test_strlen[ok ok-5]
        type: Function
        lineno: 26
      -   nodeid: tests/test_utils_printing.py::test_mk_pad[a-4-   ]
        type: Function
        lineno: 41
      -   nodeid: tests/test_utils_printing.py::test_mk_pad[abc-4- ]
        type: Function
        lineno: 41
      -   nodeid: tests/test_utils_printing.py::test_mk_pad[abcd-4-]
        type: Function
        lineno: 41
      -   nodeid: tests/test_utils_printing.py::test_format_header[Title---Title:\n------]
        type: Function
        lineno: 50
      -   nodeid: tests/test_utils_printing.py::test_format_header[Hello-=-Hello:\n=====]
        type: Function
        lineno: 50
      -   nodeid: tests/test_utils_printing.py::test_itemize[items0-None---expected_lines0]
        type: Function
        lineno: 58
      -   nodeid: tests/test_utils_printing.py::test_itemize[items1-Vars-*-expected_lines1]
        type: Function
        lineno: 58
      -   nodeid: tests/test_utils_printing.py::test_itemize[items2-+-None-expected_lines2]
        type: Function
        lineno: 58
      -   nodeid: tests/test_utils_printing.py::test_printable_dict_variants_with_alignment[d0-HeaderTest-sorted-expected_lines0]
        type: Function
        lineno: 69
      -   nodeid: tests/test_utils_printing.py::test_printable_dict_variants_with_alignment[d1-None-None-expected_lines1]
        type: Function
        lineno: 69
      -   nodeid: tests/test_utils_printing.py::test_printable_dict_of_dicts_complete[d0-expected_blocks0]
        type: Function
        lineno: 100
      -   nodeid: tests/test_utils_printing.py::test_transpose_matrix[data0-expected0]
        type: Function
        lineno: 132
      -   nodeid: tests/test_utils_printing.py::test_transpose_matrix[data1-expected1]
        type: Function
        lineno: 132
      -   nodeid: tests/test_utils_printing.py::test_transpose_matrix[data2-expected2]
        type: Function
        lineno: 132
      -   nodeid: tests/test_utils_printing.py::test_prepend[initial0-1-expected0]
        type: Function
        lineno: 142
      -   nodeid: tests/test_utils_printing.py::test_prepend[initial1-a-expected1]
        type: Function
        lineno: 142
      -   nodeid: tests/test_utils_printing.py::test_prepend[initial2-prepend2-expected2]
        type: Function
        lineno: 142
      -   nodeid: tests/test_utils_printing.py::test_prepend[initial3-prepend3-expected3]
        type: Function
        lineno: 142
      -   nodeid: tests/test_utils_printing.py::test_fmt_table_line[entries0-widths0-  a   bbb]
        type: Function
        lineno: 154
      -   nodeid: tests/test_utils_printing.py::test_fmt_table_line[entries1-widths1- 1  2]
        type: Function
        lineno: 154
      -   nodeid: tests/test_utils_printing.py::test_fmt_table_line[entries2-widths2-  long  val]
        type: Function
        lineno: 154
      -   nodeid: tests/test_utils_printing.py::test_fmt_table_line[entries3-widths3- True  False]
        type: Function
        lineno: 154
      -   nodeid: tests/test_utils_printing.py::test_fmt_table_line[entries4-widths4-  123  4567]
        type: Function
        lineno: 154
      -   nodeid: tests/test_utils_printing.py::test_fmt_table_line[entries5-widths5- text with space  end]
        type: Function
        lineno: 154
      -   nodeid: tests/test_utils_printing.py::test_fmt_table_line[entries6-widths6-   {'a': 1}   {'b': 2}]
        type: Function
        lineno: 154
      -   nodeid: tests/test_utils_printing.py::test_fmt_table_line[entries7-widths7-     [1, 2]     [3, 4]]
        type: Function
        lineno: 154
      -   nodeid: tests/test_utils_printing.py::test_fmt_table_line[entries8-widths8-   [{'x': 1}]   [{'y': 2}]]
        type: Function
        lineno: 154
      -   nodeid: tests/test_utils_printing.py::test_fmt_table_line[entries9-widths9-  [1, [2, 3]]  [4, [5, 6]]]
        type: Function
        lineno: 154
      -   nodeid: tests/test_utils_printing.py::test_fmt_label_sep[widths0------ ----]
        type: Function
        lineno: 170
      -   nodeid: tests/test_utils_printing.py::test_fmt_label_sep[widths1-=-== ===]
        type: Function
        lineno: 170
      -   nodeid: tests/test_utils_printing.py::test_fmt_label_sep[widths2------------- ------------]
        type: Function
        lineno: 170
      -   nodeid: tests/test_utils_printing.py::test_fmt_label_sep[widths3------------ ----------]
        type: Function
        lineno: 170
      -   nodeid: tests/test_utils_printing.py::test_fmt_label_sep[widths4-=-============== ==============]
        type: Function
        lineno: 170
      -   nodeid: tests/test_utils_printing.py::test_fmt_label_sep[widths5-#-############## ##############]
        type: Function
        lineno: 170
      -   nodeid: tests/test_utils_printing.py::test_printable_table_exact_output
        type: Function
        lineno: 186
      
    • tests/test_utils_xrange.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_xrange.py::test_xrange_finite[args0-kwargs0-expected0]
        type: Function
        lineno: 11
      -   nodeid: tests/test_utils_xrange.py::test_xrange_finite[args1-kwargs1-expected1]
        type: Function
        lineno: 11
      -   nodeid: tests/test_utils_xrange.py::test_xrange_finite[args2-kwargs2-expected2]
        type: Function
        lineno: 11
      -   nodeid: tests/test_utils_xrange.py::test_xrange_finite[args3-kwargs3-expected3]
        type: Function
        lineno: 11
      -   nodeid: tests/test_utils_xrange.py::test_xrange_infinite[args0-kwargs0-count(0)]
        type: Function
        lineno: 20
      -   nodeid: tests/test_utils_xrange.py::test_xrange_infinite[args1-kwargs1-count(0, 2)]
        type: Function
        lineno: 20
      -   nodeid: tests/test_utils_xrange.py::test_xrange_too_many_args[args0]
        type: Function
        lineno: 31
      
    • tests/test_ytils_utils.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_ytils_utils.py::test_singleton_instance
        type: Function
        lineno: 17
      -   nodeid: tests/test_ytils_utils.py::test_singleton_identity
        type: Function
        lineno: 25
      -   nodeid: tests/test_ytils_utils.py::test_typename[42-int]
        type: Function
        lineno: 32
      -   nodeid: tests/test_ytils_utils.py::test_typename[hello-str]
        type: Function
        lineno: 32
      -   nodeid: tests/test_ytils_utils.py::test_typename[obj2-test_singleton_class]
        type: Function
        lineno: 32
      -   nodeid: tests/test_ytils_utils.py::test_next_int[nums0-4]
        type: Function
        lineno: 42
      -   nodeid: tests/test_ytils_utils.py::test_next_int[nums1-21]
        type: Function
        lineno: 42
      -   nodeid: tests/test_ytils_utils.py::test_next_int[nums2-0]
        type: Function
        lineno: 42
      -   nodeid: tests/test_ytils_utils.py::test_zero_pad[7-3-007]
        type: Function
        lineno: 52
      -   nodeid: tests/test_ytils_utils.py::test_zero_pad[123-5-00123]
        type: Function
        lineno: 52
      -   nodeid: tests/test_ytils_utils.py::test_zero_pad[0-2-00]
        type: Function
        lineno: 52
      -   nodeid: tests/test_ytils_utils.py::test_iround[3.6-4]
        type: Function
        lineno: 62
      -   nodeid: tests/test_ytils_utils.py::test_iround[2.1-2]
        type: Function
        lineno: 62
      -   nodeid: tests/test_ytils_utils.py::test_iround[-1.5--2]
        type: Function
        lineno: 62
      -   nodeid: tests/test_ytils_utils.py::test_iround[-1.4--1]
        type: Function
        lineno: 62
      -   nodeid: tests/test_ytils_utils.py::test_sorted_naturally[items0-expected0]
        type: Function
        lineno: 73
      -   nodeid: tests/test_ytils_utils.py::test_sorted_naturally[items1-expected1]
        type: Function
        lineno: 73
      -   nodeid: tests/test_ytils_utils.py::test_sorted_naturally_reverse[items0-expected0]
        type: Function
        lineno: 80
      
. (1 tests)
  • .
    • Outcome: passed
    • result:
    -   nodeid: ci-reports
      type: Dir
    -   nodeid: outputs
      type: Dir
    -   nodeid: slic
      type: Package
    -   nodeid: temp-ci
      type: Dir
    -   nodeid: tests
      type: Dir
    

⚠️ Warnings

Warnings nº1
message: invalid escape sequence \-
category: DeprecationWarning
when: collect
filename: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/bsread/h5.py
lineno: 207
Warnings nº2
message: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
category: DeprecationWarning
when: collect
filename: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pyepics-3.4.3-py3.9.egg/epics/ca.py
lineno: 28
Warnings nº3
message: Deprecated call to `pkg_resources.declare_namespace('mpl_toolkits')`.
Implementing implicit namespace packages (as specified in PEP 420) is preferred to `pkg_resources.declare_namespace`. See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages
category: DeprecationWarning
when: collect
filename: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pkg_resources/__init__.py
lineno: 3154
Warnings nº4
message: The module numpy.dual is deprecated.  Instead of using dual, use the functions directly from numpy or scipy.
category: DeprecationWarning
when: collect
filename: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/scipy/fft/__init__.py
lineno: 97