Aserciones de secuencias combinadas

Existen varios operadores que nos permiten combinar varias comprobaciones de secuencias . Los efectos son claros si estas secuencias forman parte de la aserción pero no de la habilitación (solo la or es plausible en lacondición de la implicación) y vamos a describirlos

  • operador or: si nuestra aserción combina dos secuencias con una or, basta con que una de ellas sea cierta (ocurra) para que se considere que la aserción no falla
  • operador and: si nuestra aserción combina dos secuencias con una and, las dos secuencias deben ser ciertas (ocurrir) para que se considere que la aserción no falla
  • operador intersect: si nuestra aserción combina dos secuencias con un intersect, las dos secuencias deben ser ciertas (ocurrir) para que se considere que la aserción no falla y además deben finalizar al únísono
  • operador within: si nuestra aserción combina dos secuencias con within, las dos secuencias deben ser ciertas (ocurrir) y además una de ellas debe contener completamente a la otra

Ejemplos

Ejemplo1

g:0000100010
a:0101010001
c:0123456789

Puede observarse que la aserción no falla nunca porque las dos veces que la habilitación es cierta (ciclos 3 y 5) o bien ha ocurrido una secuencia o la otra de las combinadas mediante la expresión or

Ejemplo2

g:0000111111
r:0111110000
c:0123456789

Podemos observar que esta aserción tampoco falla porque cuando fue habilitada (ciclo 1) , ambas secuencias que había que comprobar en la aserción ocurrieron. Cierto es que dichas secuencias terminaron de ser ciertas en momentos diferentes; pero eso no es chequeado por la expresión and

Ejemplo 3

g:0000111111
r:0111110000
c:0123456789

Podemos observar que esta aserción si que falla porque cuando fue habilitada (ciclo 1) , ambas secuencias que había que comprobar en la aserción ocurrieron; pero terminaron de ser ciertas en momentos diferentes. En el ciclo 4 ya observa la aserción que las dos secuencias no han sido ciertas al mismo tiempo y da fallo

Ejemplo 4

g:0000111111
r:0111110000
c:0123456789

Podemos observar que esta aserción no falla porque cuando fue habilitada (ciclo 1) , ambas secuencias que había que comprobar en la aserción ocurrieron; y la secuencia segunda (en verde) contiene completamente a la primera (en azul)