mk_FTestDriver`TestCase( "FHashtableT01:\t Test Contains, PutAll", let aHashCode = lambda x : int & x mod 13,
p1 = FHashtable`PutAll[int, seqofchar]({ |-> })(aHashCode)(
{1 |-> "Sahara", 2 |-> "Sato", 14 |-> "Sakoh"}
),
c1 = FHashtable`Contains[int, seqofchar](p1) in
c1("Sahara") and
c1("Sato") and
c1("Sakoh") and
c1("") = false)
;
\end{vdm_al}
mk_FTestDriver`TestCase( "FHashtableT04:\t Test KeySet, ValueSet", let aHashCode = lambda x : int & x mod 13,
put = FHashtable`Put[int, seqofchar],
p1 = put({ |-> })(aHashCode)(1)("Sahara"),
p2 = put(p1)(aHashCode)(2)("Bush"),
p3 = put(p2)(aHashCode)(2)("Sato"),
p4 = put(p3)(aHashCode)(14)("Sakoh"),
k = FHashtable`KeySet[int, seqofchar],
v = FHashtable`ValueSet[int, seqofchar] in
k(p1) = {1} and
v(p1) = {"Sahara"} and
k(p2) = {1, 2} and
v(p2) = {"Sahara", "Bush"} and
k(p4) = {1,2,14} and
v(p4) = {"Sahara", "Sato", "Sakoh"})
;
\end{vdm_al}
\subsubsection{Test when hashCode is duplicate}
\begin{vdm_al} static t5 : () -> FTestDriver`TestCase
t5() ==
mk_FTestDriver`TestCase( "FHashtableT05:\t Test hashCode is duplicate", let aHashCode1 = lambda x : int & x mod 13,
h1 = FHashtable`PutAll[int, seqofchar]({ |-> })(aHashCode1)(
{1 |-> "SaharaShin", 2 |-> "SatoKei", 14 |-> "SakohHiroshi", 27 |-> "NishikawaNoriko"}
),
h2 = FHashtable`Remove[int, seqofchar](h1)(aHashCode1)(14) in
FHashtable`KeySet[int, seqofchar](h2) = {1, 2, 27} and
FHashtable`ValueSet[int, seqofchar](h2) = {"SaharaShin", "SatoKei", "NishikawaNoriko"})
;
\end{vdm_al}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.