|
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