|
|
@@ -74,4 +74,33 @@ end
|
|
|
@test receiver.n_external == 1
|
|
|
@test receiver.n_confluent == 1
|
|
|
@test length(receiver.inbox_log) == 1
|
|
|
+end
|
|
|
+
|
|
|
+@testset "Nearly Confluent Transition Test" begin
|
|
|
+ top = CoupledDEVS(:top)
|
|
|
+
|
|
|
+ sender_ref = add_submodel!(top, :sender, MockNode;
|
|
|
+ out_ports=Set([:out]),
|
|
|
+ ta=1.999999, make_out=true
|
|
|
+ )
|
|
|
+ receiver_ref = add_submodel!(top, :receiver, MockNode;
|
|
|
+ inbox=(; in=Int[]),
|
|
|
+ ta=2.000000, make_in=true
|
|
|
+ )
|
|
|
+ connect!(top, sender_ref.out, receiver_ref.in)
|
|
|
+ model = compile_devs(top, (UniversalEvent,))
|
|
|
+
|
|
|
+ simulate_devs!(model)
|
|
|
+
|
|
|
+ sender = model[model.path_to_id["top.sender"]]
|
|
|
+ @test sender.n_internal == 1
|
|
|
+ @test sender.n_external == 0
|
|
|
+ @test sender.n_confluent == 0
|
|
|
+ @test length(sender.inbox_log) == 0
|
|
|
+
|
|
|
+ receiver = model[model.path_to_id["top.receiver"]]
|
|
|
+ @test receiver.n_internal == 1
|
|
|
+ @test receiver.n_external == 1
|
|
|
+ @test receiver.n_confluent == 0
|
|
|
+ @test length(receiver.inbox_log) == 1
|
|
|
end
|