Prechádzať zdrojové kódy

extra translation test: PyPDEVS is wrong tho...

Snej69420 5 mesiacov pred
rodič
commit
3a2fca43c7

+ 1 - 0
test/DEVS/runtests.py

@@ -50,6 +50,7 @@ if __name__ == '__main__':
     # translations
     run_test(MutateMessage)
     run_test(TypeCastMessage)
+    run_test(TranslationFanOut)
     run_test(FlattenedTranslation)
 
     # miscellaneous

+ 9 - 0
test/DEVS/test_translations.py

@@ -16,6 +16,15 @@ class TypeCastMessage(CoupledDEVS):
         receiver = self.addSubModel(MockNode("receiver", in_ports=["in"]))
         self.connectPorts(sender.p_out["out"], receiver.p_in["in"], z=lambda msg: ceil(msg))
 
+class TranslationFanOut(CoupledDEVS):
+    def __init__(self):
+        super().__init__("Top")
+        sender = self.addSubModel(MockNode("Sender", out_ports=["out"], ta=1.0, make_out=True, output_msg=8))
+        receiver1 = self.addSubModel(MockNode("Receiver1", in_ports=["in"]))
+        receiver2 = self.addSubModel(MockNode("Receiver2", in_ports=["in"]))
+        self.connectPorts(sender.p_out["out"], receiver1.p_in["in"], z=lambda msg: msg*2)
+        self.connectPorts(sender.p_out["out"], receiver2.p_in["in"], z=lambda msg: msg**2)
+
 class Child1(CoupledDEVS):
     def __init__(self, name="child1"):
         super().__init__(name)

+ 7 - 0
test/traces/TranslationFanOut.csv

@@ -0,0 +1,7 @@
+time,model_path,transition_type,next_ta,inputs,outputs,state
+0.000000,Top.Sender,INIT,1.000000,none,none,Cycles: 1
+0.000000,Top.Receiver1,INIT,inf,none,none,Cycles: 1
+0.000000,Top.Receiver2,INIT,inf,none,none,Cycles: 1
+1.000000,Top.Sender,INTERNAL,inf,none,out:[8],Cycles: 0
+1.000000,Top.Receiver1,EXTERNAL,inf,in:[16],none,Cycles: 1
+1.000000,Top.Receiver2,EXTERNAL,inf,in:[32],none,Cycles: 1