Xcos MVC: Fixed default datatype
[scilab.git] / scilab / modules / scicos / tests / unit_tests / model / Diagram.tst
index 543ac07..40ab4bb 100644 (file)
@@ -15,35 +15,50 @@ scs_m.version
 scs_m.contrib
 
 // Create a diagram containing 2 summation blocks and an empty link
-Sum   = BIGSOM_f("define");
-Scope = CSCOPE("define");
-lnk   = scicos_link();
+Sum    = BIGSOM_f("define");
+Scope1  = CSCOPE("define");
+Scope2 = CSCOPE("define");
+lnk    = scicos_link();          // Data link
+lnk2   = scicos_link(ct=[1,-1]); // Activation link
 
-scs_m = scicos_diagram( objs=list(Sum,Scope,lnk) )
+scs_m = scicos_diagram( objs=list(Sum,Scope1,Scope2,lnk,lnk2) )
 scs_m.objs
 
-// Link output port #1 of block #1 (ID #5 in this example) with input port #1 of block #2 (ID #7)
-// The link ID is #10
+// Link output port #1 of block #1 with input port #1 of block #2
 l = scs_m.objs;
-l(3).from = [1 1 0]; // Link block #1
+l(4).from = [1 1 0]; // Link block #1
 l(1).graphics.pout   // Check that block #1 is connected to the link
 l(1).model.out       // "
-l(3).to = [2 1 1];   // Link block #2
-l(3).from
-l(3).to
+l(4).to = [2 1 1];   // Link block #2
+l(4).from
+l(4).to
 l(2).graphics.pin    // Check that block #2 is connected to the link
 l(2).model.in        // "
 
-// Change the end of the link to input port #2 of block #2 (ID #8)
-l(3).to = [2 2 1];
-l(3).from
-l(3).to
+// Change the end of the link to input port #2 of block #2
+l(4).to = [2 2 1];
+l(4).from
+l(4).to
 l(2).graphics.pin  // Check that block #2 is connected to the link
 l(2).model.in      // "
 
 // Disconnect the source, the destination is also disconnected
-l(3).from = [0 0 0];
-l(3).from
-l(3).to
+l(4).from = [0 0 0];
+l(4).from
+l(4).to
 l(1).graphics.pout // Check that both blocks are unconnected
 l(2).graphics.pin  // "
+
+// Now link the two Scope blocks together by adding an event output port to block #3
+l(5).from = [2 1 1]; // Link the input of block #2
+l(5).to = [3 1 0];   // Add an event output to block #3 and link it to the previous
+l(5).from
+l(5).to
+l(2).graphics.pein
+l(2).model.evtin
+l(3).graphics.peout
+l(3).model.evtout
+
+// Verify that it is impossible to link two inputs or two outputs together
+l(5).from = [2 1 0]; // Two outputs
+l(5).to = [3 1 1];   // Two inputs