Design: 02.03.03/P07
This is an abstract, language-independent design. Grim
details may be found in the
corresponding source code.
You may return to the
documentation
for the module containing this program design, or to the
entire hierarchical table of
topics covered by the PVT.
PROGRAM 7: ISS and filters
CHARACTERISTICS: nnnn
OPERATOR SCRIPT: passive test.
DESIGN:
Structure #101:
1. add names to set: 3,4,5
2. execute structure 102
Structure #102:
1. polymarker at 1,2,3
Throughout, keep fixed for ISS:
SRP = 1,2,3
search distance = 0.1
search ceiling = 1
clipping flag = OFF
*** *** *** *** One normal and inverted filter *** *** *** ***
TEST: #SR 3 4 5 6 10 18 19 20
"An eligible primitive should be found if its non-null
nameset is accepted by a single non-null normal filter and
rejected by a single non-null inverted filter."
ISS with
starting path = 101,1
normal filter = incl: 5,6,7; excl: 8,9
inverted filter = incl: 1,2; excl: 8,9
pass/fail depending on (found path = 101,2, 102,1)
TEST: #SR 3 4 5 6 10 18 19 20
"An eligible primitive should not be found if its non-null
nameset is rejected by a single non-null normal filter and
also by a single non-null inverted filter."
ISS with
starting path = 101,1
normal filter = incl: 5,6,7; excl: 3,8,9
inverted filter = incl: 1,2; excl: 8,9
pass/fail depending on (found path = empty)
TEST: #SR 3 4 5 6 10 18 19 20
"An eligible primitive should not be found if its non-null
nameset is accepted by a single non-null normal filter but
also by a single non-null inverted filter."
ISS with
starting path = 101,1
normal filter = incl: 4,6,7; excl: 9,1
inverted filter = incl: 3; excl: 8,9
pass/fail depending on (found path = empty)
TEST: #SR 3 4 5 6 10 18 19 20
"An eligible primitive should not be found if its non-null
nameset is rejected by a single non-null normal filter and
accepted by a single non-null inverted filter."
ISS with
starting path = 101,1
normal filter = incl: 6,7; excl: 9,1,3
inverted filter = incl: 11,3; excl: 8,9
pass/fail depending on (found path = empty)
*** *** *** One normal or inverted filter, but not both *** *** ***
TEST: #SR 3 4 5 6 10 18 19 20
"An eligible primitive should be found if its non-null
nameset is accepted by a single non-null normal filter and
there are no inverted filters."
ISS with
starting path = 101,1
normal filter = incl: 5,6,7; excl: 8,9
inverted filter = none
pass/fail depending on (found path = 101,2, 102,1)
TEST: #SR 3 4 5 6 10 18 19 20
"An eligible primitive should not be found if its non-null
nameset is rejected by a single non-null normal filter and
there are no inverted filters."
ISS with
starting path = 101,1
normal filter = incl: 2,6,7; excl: 8,9
inverted filter = none
pass/fail depending on (found path = empty)
TEST: #SR 3 4 5 6 10 18 19 20
"An eligible primitive should not be found if its non-null
nameset is accepted by a single non-null inverted filter and
there are no normal filters."
ISS with
starting path = 101,1
normal filter = none
inverted filter = incl: 2,6,4,7; excl: 8,9
pass/fail depending on (found path = empty)
TEST: #SR 3 4 5 6 10 18 19 20
"An eligible primitive should be found if its non-null
nameset is rejected by a single non-null inverted filter and
there are no normal filters."
ISS with
starting path = 101,1
normal filter = none
inverted filter = incl: empty; excl: 8,9
pass/fail depending on (found path = 101,2, 102,1)
*** *** *** No filters *** *** ***
TEST: #SR 3 4 5 6 10 18 19 20
"An eligible primitive should be found if its nameset is
non-null and there is no normal or inverted filter."
ISS with
starting path = 101,1
normal filter = none
inverted filter = none
pass/fail depending on (found path = 101,2, 102,1)
TEST: #SR 3 4 5 6 10 18 19 20
"An eligible primitive should be found if its nameset is
null and there is no normal or inverted filter."
ISS with
starting path = 102,0
normal filter = none
inverted filter = none
pass/fail depending on (found path = 102,1)
*** *** *** *** Null nameset *** *** *** ***
TEST: #SR 3 4 5 6 10 18 19 20
"An eligible primitive should not be found if its nameset
is null and there is at least one normal filter."
ISS with
starting path = 102,0
normal filter = incl: empty; excl: 1,2
inverted filter = incl: 11,3; excl: 8,9,4
pass/fail depending on (found path = empty)
TEST: #SR 3 4 5 6 10 18 19 20
"An eligible primitive should be found if its nameset
is null and there is no normal filter."
ISS with
starting path = 102,0
normal filter = none
inverted filter = incl: empty; excl: 8,9
pass/fail depending on (found path = 102,1)
*** *** *** *** Maximum number of filters *** *** *** ***
<inquire phigs facilities> to determine:
mxnfl = maximum length of normal filter list
mxifl = maximum length of inverted filter list
TEST: #SR 21
"<Inquire phigs facilities> should report the maximum
lengths of both the normal and inverted filter lists to be
at least 1."
pass/fail depending on (mxnfl > 0 and mxifl > 0)
if (mxnfl < 2 or mxifl < 2) then
message: skipping multiple filter tests
goto end_mult_filter
endif
mxntst = min (mxnfl, 50)
mxitst = min (mxifl, 50)
TEST: #SR 21 22
"ISS should be able to specify as many filters in a list as
the maximum reported by <inquire phigs facilities>."
inval = 3
for n from 1 to mxntst
if (inval > 4) then
inval = 3
else
inval = inval+1
endif
set up nth normal filter inclusion set as 1,inval
set up nth normal filter exclusion set as 8,9
next n
inval = 5
for n from 1 to mxitst
if (inval > 4) then
inval = 2
else
inval = inval+1
endif
set up nth inverted filter inclusion set as 1,inval
set up nth inverted filter exclusion set as inval,8
next n
ISS with
starting path = 101,1
normal filter = as set up
inverted filter = as set up
pass/fail depending on
(no error from ISS and found path = 101,2, 102,1)
*** *** *** *** Multiple filters *** *** *** ***
TEST: #SR 3 4 5 6 10 18 19 20
"An eligible primitive should be found if its nameset is
accepted all the normal filters and rejected by all the
inverted filters."
ISS with
starting path = 101,1
normal filters = incl: 5,3,6,7; excl: 8,9
incl: 3; excl: empty
inverted filters = incl: 1,2; excl: 8,9
incl: 3,1,2; excl: 4,8,9
pass/fail depending on (found path = 101,2, 102,1)
TEST: #SR 3 4 5 6 10 18 19 20
"An eligible primitive should not be found if its
nameset is rejected by at least one normal filter."
ISS with
starting path = 101,1
normal filters = incl: 5,3,6,7; excl: 8,9
incl: 3; excl: 3
inverted filters = incl: 1,2; excl: 8,9
incl: 3,1,2; excl: 4,8,9
pass/fail depending on (found path = empty)
TEST: #SR 3 4 5 6 10 18 19 20
"An eligible primitive should not be found if its
nameset is accepted by at least one inverted filter."
ISS with
starting path = 101,1
normal filters = incl: 5,3,6,7; excl: 8,9
incl: 3; excl: 2,1
inverted filters = incl: 4,1,2; excl: 8,9
incl: 3,1,2; excl: 4,8,9
pass/fail depending on (found path = empty)
end_mult_filter:
END PROGRAM 7