|
439 | 439 | @test_throws ArgumentError InitConstraint(c10, c11) |
440 | 440 | end |
441 | 441 |
|
| 442 | +_recursive_replace(el::Symbol, dict) = haskey(dict, el) ? dict[el] : NaN |
| 443 | +_recursive_replace(containter, dict) = map(el -> _recursive_replace(el, dict), containter) |
442 | 444 | @testset "test input mapping" begin |
| 445 | + using NetworkDynamics: insym_normalized, outsym_normalized |
443 | 446 | vm = Lib.swing_mtk() |
444 | 447 | c = @initconstraint begin |
445 | 448 | :Pdamping # observable |
|
448 | 451 | :ω # state |
449 | 452 | :Pmech # parameter |
450 | 453 | end |
| 454 | + dict = Dict(:Pdamping => 1, :P=> 2, :θ => 3, :ω => 4, :Pmech => 5) |
| 455 | + |
| 456 | + outdata = _recursive_replace(outsym_normalized(vm), dict) |
| 457 | + udata = _recursive_replace(sym(vm), dict) |
| 458 | + indata = _recursive_replace(insym_normalized(vm), dict) |
| 459 | + pdata = _recursive_replace(psym(vm), dict) |
| 460 | + obsdata = _recursive_replace(obssym(vm), dict) |
| 461 | + |
451 | 462 | mapping! = NetworkDynamics.generate_init_input_mapping(vm, c) |
| 463 | + |
452 | 464 | syms = zeros(5) |
453 | | - mapping!(syms, ([3],), [NaN, 4], ([2],), [NaN, 5, NaN], [1]) |
| 465 | + mapping!(syms, outdata, udata, indata, pdata, obsdata) |
454 | 466 | @test syms == 1:5 |
455 | 467 |
|
456 | 468 | em = Lib.line_mtk() |
|
460 | 472 | :active #param |
461 | 473 | :Δθ # obs |
462 | 474 | end |
| 475 | + dict = Dict(:P => 1, :dstθ => 2, :active => 3, :Δθ => 4) |
| 476 | + |
| 477 | + outdata = _recursive_replace(outsym_normalized(em), dict) |
| 478 | + udata = _recursive_replace(sym(em), dict) |
| 479 | + indata = _recursive_replace(insym_normalized(em), dict) |
| 480 | + pdata = _recursive_replace(psym(em), dict) |
| 481 | + obsdata = _recursive_replace(obssym(em), dict) |
| 482 | + |
463 | 483 | mapping! = NetworkDynamics.generate_init_input_mapping(em, c) |
464 | 484 | syms = zeros(4) |
465 | | - mapping!(syms, ([NaN],[1]), [], ([NaN],[2]), [NaN, NaN, 3], [4]) |
| 485 | + mapping!(syms, outdata, udata, indata, pdata, obsdata) |
466 | 486 | @test syms == 1:4 |
467 | 487 | end |
468 | 488 |
|
|
0 commit comments