Fix Typo for sodium
[integration/test.git] / csit / libraries / CompareStream.robot
1 *** Settings ***
2 Documentation     This Resource contains list of Keywords Set_Variable_If_At_Least*, Set_Variable_If_At_Most,
3 ...               Run_Keyword_If_At_Least*, Run_Keyword_If_At_Most*,
4 ...               Run_Keyword_If_More_Than*, Run_Keyword_If_Less_Than*,
5 ...               for comparison ${ODL_STREAM} to the given ${lower_bound},
6 ...               in order to replace ad-hoc conditional execution in suites.
7 Library           Collections
8 Library           String
9
10 *** Variables ***
11 &{Stream_dict}    carbon=${6}    nitrogen=${7}    oxygen=${8}    fluorine=${9}    neon=${10}    sodium=${11}    magnesium=${12}
12
13 *** Keywords ***
14 Set_Variable_If_At_Least
15     [Arguments]    ${lower_bound}    ${value_if_true}    ${value_if_false}
16     [Documentation]    Compare ${lower_bound} to ${ODL_STREAM} and return ${value_if_true} if ${ODL_STREAM} is at least ${lower_bound},
17     ...    return ${value_if_false} otherwise.
18     BuiltIn.Run_Keyword_And_Return    BuiltIn.Set_Variable_If    &{Stream_dict}[${ODL_STREAM}] >= &{Stream_dict}[${lower_bound}]    ${value_if_true}    ${value_if_false}
19
20 Set_Variable_If_At_Most
21     [Arguments]    ${upper_bound}    ${value_if_true}    ${value_if_false}
22     [Documentation]    Compare ${upper_bound} to ${ODL_STREAM} and return ${value_if_true} if ${ODL_STREAM} is at most ${upper_bound},
23     ...    return ${value_if_false} otherwise.
24     BuiltIn.Run_Keyword_And_Return    BuiltIn.Set_Variable_If    &{Stream_dict}[${ODL_STREAM}] <= &{Stream_dict}[${upper_bound}]    ${value_if_true}    ${value_if_false}
25
26 Set_Variable_If_At_Least_Carbon
27     [Arguments]    ${value_if_true}    ${value_if_false}
28     [Documentation]    Compare carbon to ${ODL_STREAM} and return ${value_if_true} if ${ODL_STREAM} is at least carbon,
29     ...    return ${value_if_false} otherwise.
30     BuiltIn.Run_Keyword_And_Return    Set_Variable_If_At_Least    carbon    ${value_if_true}    ${value_if_false}
31
32 Set_Variable_If_At_Least_Nitrogen
33     [Arguments]    ${value_if_true}    ${value_if_false}
34     [Documentation]    Compare nitrogen to ${ODL_STREAM} and return ${value_if_true} if ${ODL_STREAM} is at least nitrogen,
35     ...    return ${value_if_false} otherwise.
36     BuiltIn.Run_Keyword_And_Return    Set_Variable_If_At_Least    nitrogen    ${value_if_true}    ${value_if_false}
37
38 Set_Variable_If_At_Least_Oxygen
39     [Arguments]    ${value_if_true}    ${value_if_false}
40     [Documentation]    Compare oxygen to ${ODL_STREAM} and return ${value_if_true} if ${ODL_STREAM} is at least oxygen,
41     ...    return ${value_if_false} otherwise.
42     BuiltIn.Run_Keyword_And_Return    Set_Variable_If_At_Least    oxygen    ${value_if_true}    ${value_if_false}
43
44 Set_Variable_If_At_Least_Fluorine
45     [Arguments]    ${value_if_true}    ${value_if_false}
46     [Documentation]    Compare fluorine to ${ODL_STREAM} and return ${value_if_true} if ${ODL_STREAM} is at least fluorine,
47     ...    return ${value_if_false} otherwise.
48     BuiltIn.Run_Keyword_And_Return    Set_Variable_If_At_Least    fluorine    ${value_if_true}    ${value_if_false}
49
50 Set_Variable_If_At_Least_Neon
51     [Arguments]    ${value_if_true}    ${value_if_false}
52     [Documentation]    Compare neon to ${ODL_STREAM} and return ${value_if_true} if ${ODL_STREAM} is at least neon,
53     ...    return ${value_if_false} otherwise.
54     BuiltIn.Run_Keyword_And_Return    Set_Variable_If_At_Least    neon    ${value_if_true}    ${value_if_false}
55
56 Set_Variable_If_At_Least_Sodium
57     [Arguments]    ${value_if_true}    ${value_if_false}
58     [Documentation]    Compare neon to ${ODL_STREAM} and return ${value_if_true} if ${ODL_STREAM} is at least sodium,
59     ...    return ${value_if_false} otherwise.
60     BuiltIn.Run_Keyword_And_Return    Set_Variable_If_At_Least    sodium    ${value_if_true}    ${value_if_false}
61
62 Set_Variable_If_At_Least_Magnesium
63     [Arguments]    ${value_if_true}    ${value_if_false}
64     [Documentation]    Compare magnesium to ${ODL_STREAM} and return ${value_if_true} if ${ODL_STREAM} is atleast magnesium, return ${value_if_false} otherwise.
65     BuiltIn.Run_Keyword_And_Return    Set_Variable_If_At_Least    magnesium    ${value_if_true}    ${value_if_false}
66
67 Set_Variable_If_At_Most_Carbon
68     [Arguments]    ${value_if_true}    ${value_if_false}
69     [Documentation]    Compare carbon to ${ODL_STREAM} and return ${value_if_true} if ${ODL_STREAM} is at most carbon,
70     ...    return ${value_if_false} otherwise.
71     BuiltIn.Run_Keyword_And_Return    Set_Variable_If_At_Most    carbon    ${value_if_true}    ${value_if_false}
72
73 Set_Variable_If_At_Most_Nitrogen
74     [Arguments]    ${value_if_true}    ${value_if_false}
75     [Documentation]    Compare nitrogen to ${ODL_STREAM} and return ${value_if_true} if ${ODL_STREAM} is at most nitrogen,
76     ...    return ${value_if_false} otherwise.
77     BuiltIn.Run_Keyword_And_Return    Set_Variable_If_At_Most    nitrogen    ${value_if_true}    ${value_if_false}
78
79 Set_Variable_If_At_Most_Oxygen
80     [Arguments]    ${value_if_true}    ${value_if_false}
81     [Documentation]    Compare oxygen to ${ODL_STREAM} and return ${value_if_true} if ${ODL_STREAM} is at most oxygen,
82     ...    return ${value_if_false} otherwise.
83     BuiltIn.Run_Keyword_And_Return    Set_Variable_If_At_Most    oxygen    ${value_if_true}    ${value_if_false}
84
85 Set_Variable_If_At_Most_Fluorine
86     [Arguments]    ${value_if_true}    ${value_if_false}
87     [Documentation]    Compare fluorine to ${ODL_STREAM} and return ${value_if_true} if ${ODL_STREAM} is at most fluorine,
88     ...    return ${value_if_false} otherwise.
89     BuiltIn.Run_Keyword_And_Return    Set_Variable_If_At_Most    fluorine    ${value_if_true}    ${value_if_false}
90
91 Set_Variable_If_At_Most_Neon
92     [Arguments]    ${value_if_true}    ${value_if_false}
93     [Documentation]    Compare neon to ${ODL_STREAM} and return ${value_if_true} if ${ODL_STREAM} is at most neon,
94     ...    return ${value_if_false} otherwise.
95     BuiltIn.Run_Keyword_And_Return    Set_Variable_If_At_Most    neon    ${value_if_true}    ${value_if_false}
96
97 Set_Variable_If_At_Most_Sodium
98     [Arguments]    ${value_if_true}    ${value_if_false}
99     [Documentation]    Compare neon to ${ODL_STREAM} and return ${value_if_true} if ${ODL_STREAM} is at most sodium,
100     ...    return ${value_if_false} otherwise.
101     BuiltIn.Run_Keyword_And_Return    Set_Variable_If_At_Most    sodium    ${value_if_true}    ${value_if_false}
102
103 Set_Variable_If_At_Most_Magnesium
104     [Arguments]    ${value_if_true}    ${value_if_false}
105     [Documentation]    Compare magnesium to ${ODL_STREAM} and return ${value_if_true} if ${ODL_STREAM} is at most magnesium,
106     ...    return ${value_if_false} otherwise.
107     BuiltIn.Run_Keyword_And_Return    Set_Variable_If_At_Most    magnesium    ${value_if_true}    ${value_if_false}
108
109 CompareStream__Convert_Input
110     [Arguments]    @{arguments}
111     [Documentation]    Splits arguments into args and kwargs is used in Run_Keyword_If_At_Least_Else and Run_Keyword_If_At_Most_Else.
112     ...    The problem is, when the string contains =, but it is not a named argument (name=value). There can be many values containing =, but
113     ...    for sure it is present in xmls. If the string starts with "<" it will be treated as it is xml and splitting for
114     ...    name and value will not be executed.
115     ...    If named argument is passed into this kw, only string data are supported e.g. name=string. Complex variables such as lists or dictionaries
116     ...    are not supported.
117     ${args}    BuiltIn.Create_List
118     ${kwargs}    BuiltIn.Create_Dictionary
119     : FOR    ${arg}    IN    @{arguments}
120     \    ${arg}    BuiltIn.Convert_To_String    ${arg}
121     \    ${removed}    String.Remove_String    ${arg}    \n    ${Space}    \t
122     \    ...    \r
123     \    ${splitted}    BuiltIn.Run_Keyword_If    "${removed[0]}" == "<"    BuiltIn.Create List    ${arg}
124     \    ...    ELSE    String.Split_String    ${arg}    separator==    max_split=1
125     \    ${len}    BuiltIn.Get_Length    ${splitted}
126     \    Run Keyword If    ${len}==1    Collections.Append_To_List    ${args}    @{splitted}[0]
127     \    ...    ELSE    Collections.Set_To_Dictionary    ${kwargs}    @{splitted}
128     BuiltIn.Return_From_Keyword    ${args}    ${kwargs}
129
130 Run_Keyword_If_At_Least
131     [Arguments]    ${lower_bound}    ${kw_name}    @{varargs}    &{kwargs}
132     [Documentation]    Compare ${lower_bound} to ${ODL_STREAM} and in case ${ODL_STREAM} is at least ${lower_bound},
133     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
134     BuiltIn.Run_Keyword_And_Return_If    &{Stream_dict}[${ODL_STREAM}] >= &{Stream_dict}[${lower_bound}]    ${kw_name}    @{varargs}    &{kwargs}
135
136 Run_Keyword_If_At_Least_Else
137     [Arguments]    ${lower_bound}    @{varargs}
138     [Documentation]    Compare ${lower_bound} to ${ODL_STREAM} and in case ${ODL_STREAM} is at least ${lower_bound},
139     ...    run keyword defined before ELSE statement otherwise run keyword defined after ELSE statement and return its value.
140     ${position}    Collections.Get_Index_From_List    ${varargs}    \ELSE
141     BuiltIn.Run_Keyword_If    "${position}" == "-1"    BuiltIn.Fail    Missing else statement in defined expresion
142     ${varargs_if}    Collections.Get_Slice_From_List    ${varargs}    0    ${position}
143     ${varargs_else}    Collections.Get_Slice_From_List    ${varargs}    ${position+1}
144     ${args_if}    ${kwargs_if}    CompareStream__Convert_Input    @{varargs_if}
145     ${args_else}    ${kwargs_else}    CompareStream__Convert_Input    @{varargs_else}
146     ${resp}    BuiltIn.Run_Keyword_If    &{Stream_dict}[${ODL_STREAM}] >= &{Stream_dict}[${lower_bound}]    @{args_if}    &{kwargs_if}
147     ...    ELSE    @{args_else}    &{kwargs_else}
148     [Return]    ${resp}
149
150 Run_Keyword_If_At_Most
151     [Arguments]    ${upper_bound}    ${kw_name}    @{varargs}    &{kwargs}
152     [Documentation]    Compare ${upper_bound} to ${ODL_STREAM} and in case ${ODL_STREAM} is at most ${upper_bound},
153     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
154     BuiltIn.Run_Keyword_And_Return_If    &{Stream_dict}[${ODL_STREAM}] <= &{Stream_dict}[${upper_bound}]    ${kw_name}    @{varargs}    &{kwargs}
155
156 Run_Keyword_If_At_Most_Else
157     [Arguments]    ${upper_bound}    @{varargs}
158     [Documentation]    Compare ${upper_bound} to ${ODL_STREAM} and in case ${ODL_STREAM} is at most ${upper_bound},
159     ...    run keyword defined before ELSE statement otherwise run keyword defined after ELSE statement and return its value.
160     ${position}    Collections.Get_Index_From_List    ${varargs}    \ELSE
161     BuiltIn.Run_Keyword_If    "${position}" == "-1"    BuiltIn.Fail    Missing else statement in defined expresion
162     ${varargs_if}    Collections.Get_Slice_From_List    ${varargs}    0    ${position}
163     ${varargs_else}    Collections.Get_Slice_From_List    ${varargs}    ${position+1}
164     ${args_if}    ${kwargs_if}    CompareStream__Convert_Input    @{varargs_if}
165     ${args_else}    ${kwargs_else}    CompareStream__Convert_Input    @{varargs_else}
166     ${resp}    BuiltIn.Run_Keyword_If    &{Stream_dict}[${ODL_STREAM}] >= &{Stream_dict}[${lower_bound}]    @{args_if}    &{kwargs_if}
167     ...    ELSE    @{args_else}    &{kwargs_else}
168     [Return]    ${resp}
169
170 Run_Keyword_If_More_Than
171     [Arguments]    ${lower_bound}    ${kw_name}    @{varargs}    &{kwargs}
172     [Documentation]    Compare ${lower_bound} to ${ODL_STREAM} and in case ${ODL_STREAM} is more than ${lower_bound},
173     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
174     BuiltIn.Run_Keyword_And_Return_If    &{Stream_dict}[${ODL_STREAM}] > &{Stream_dict}[${lower_bound}]    ${kw_name}    @{varargs}    &{kwargs}
175
176 Run_Keyword_If_Equals
177     [Arguments]    ${stream}    ${kw_name}    @{varargs}    &{kwargs}
178     [Documentation]    Compare ${stream} to ${ODL_STREAM} and in case ${ODL_STREAM} equals ${stream},
179     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
180     BuiltIn.Run_Keyword_And_Return_If    &{Stream_dict}[${ODL_STREAM}] == &{Stream_dict}[${stream}]    ${kw_name}    @{varargs}    &{kwargs}
181
182 Run_Keyword_If_Equals_Else
183     [Arguments]    ${stream}    @{varargs}
184     [Documentation]    Compare ${stream} to ${ODL_STREAM} and in case ${ODL_STREAM} equals ${stream},
185     ...    run keyword defined before ELSE statement otherwise run keyword defined after ELSE statement and return its value.
186     ${position}    Collections.Get_Index_From_List    ${varargs}    \ELSE
187     BuiltIn.Run_Keyword_If    "${position}" == "-1"    BuiltIn.Fail    Missing else statement in defined expresion
188     ${varargs_if}    Collections.Get_Slice_From_List    ${varargs}    0    ${position}
189     ${varargs_else}    Collections.Get_Slice_From_List    ${varargs}    ${position+1}
190     ${args_if}    ${kwargs_if}    CompareStream__Convert_Input    @{varargs_if}
191     ${args_else}    ${kwargs_else}    CompareStream__Convert_Input    @{varargs_else}
192     ${resp}    BuiltIn.Run_Keyword_If    &{Stream_dict}[${ODL_STREAM}] == &{Stream_dict}[${stream}]    @{args_if}    &{kwargs_if}
193     ...    ELSE    @{args_else}    &{kwargs_else}
194     [Return]    ${resp}
195
196 Run_Keyword_If_Less_Than
197     [Arguments]    ${lower_bound}    ${kw_name}    @{varargs}    &{kwargs}
198     [Documentation]    Compare ${lower_bound} to ${ODL_STREAM} and in case ${ODL_STREAM} is less than ${lower_bound},
199     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
200     BuiltIn.Run_Keyword_And_Return_If    &{Stream_dict}[${ODL_STREAM}] < &{Stream_dict}[${lower_bound}]    ${kw_name}    @{varargs}    &{kwargs}
201
202 Run_Keyword_If_At_Least_Carbon
203     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
204     [Documentation]    Compare carbon to ${ODL_STREAM} and in case ${ODL_STREAM} is at least carbon,
205     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
206     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_At_Least    carbon    ${kw_name}    @{varargs}    &{kwargs}
207
208 Run_Keyword_If_At_Least_Nitrogen
209     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
210     [Documentation]    Compare nitrogen to ${ODL_STREAM} and in case ${ODL_STREAM} is at least nitrogen,
211     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
212     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_At_Least    nitrogen    ${kw_name}    @{varargs}    &{kwargs}
213
214 Run_Keyword_If_At_Least_Oxygen
215     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
216     [Documentation]    Compare oxygen to ${ODL_STREAM} and in case ${ODL_STREAM} is at least oxygen,
217     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
218     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_At_Least    oxygen    ${kw_name}    @{varargs}    &{kwargs}
219
220 Run_Keyword_If_At_Least_Fluorine
221     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
222     [Documentation]    Compare fluorine to ${ODL_STREAM} and in case ${ODL_STREAM} is at least fluorine,
223     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
224     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_At_Least    fluorine    ${kw_name}    @{varargs}    &{kwargs}
225
226 Run_Keyword_If_At_Least_Neon
227     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
228     [Documentation]    Compare neon to ${ODL_STREAM} and in case ${ODL_STREAM} is at least neon,
229     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
230     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_At_Least    neon    ${kw_name}    @{varargs}    &{kwargs}
231
232 Run_Keyword_If_At_Least_Sodium
233     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
234     [Documentation]    Compare sodium to ${ODL_STREAM} and in case ${ODL_STREAM} is at least sodium,
235     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
236     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_At_Least    sodium    ${kw_name}    @{varargs}    &{kwargs}
237
238 Run_Keyword_If_At_Least_Magnesium
239     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
240     [Documentation]    Compare magnesium to ${ODL_STREAM} and in case ${ODL_STREAM} is at least magnesium,
241     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
242     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_At_Least    magnesium    ${kw_name}    @{varargs}    &{kwargs}
243
244 Run_Keyword_If_At_Most_Carbon
245     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
246     [Documentation]    Compare carbon to ${ODL_STREAM} and in case ${ODL_STREAM} is at most carbon,
247     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
248     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_At_Most    carbon    ${kw_name}    @{varargs}    &{kwargs}
249
250 Run_Keyword_If_At_Most_Nitrogen
251     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
252     [Documentation]    Compare nitrogen to ${ODL_STREAM} and in case ${ODL_STREAM} is at most nitrogen,
253     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
254     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_At_Most    nitrogen    ${kw_name}    @{varargs}    &{kwargs}
255
256 Run_Keyword_If_At_Most_Oxygen
257     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
258     [Documentation]    Compare oxygen to ${ODL_STREAM} and in case ${ODL_STREAM} is at most oxygen,
259     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
260     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_At_Most    oxygen    ${kw_name}    @{varargs}    &{kwargs}
261
262 Run_Keyword_If_At_Most_Fluorine
263     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
264     [Documentation]    Compare fluorine to ${ODL_STREAM} and in case ${ODL_STREAM} is at most fluroine,
265     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
266     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_At_Most    fluorine    ${kw_name}    @{varargs}    &{kwargs}
267
268 Run_Keyword_If_At_Most_Neon
269     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
270     [Documentation]    Compare neon to ${ODL_STREAM} and in case ${ODL_STREAM} is at most neon,
271     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
272     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_At_Most    neon    ${kw_name}    @{varargs}    &{kwargs}
273
274 Run_Keyword_If_At_Most_Sodium
275     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
276     [Documentation]    Compare sodium to ${ODL_STREAM} and in case ${ODL_STREAM} is at most sodium,
277     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
278     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_At_Most    sodium    ${kw_name}    @{varargs}    &{kwargs}
279
280 Run_Keyword_If_At_Most_Magnesium
281     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
282     [Documentation]    Compare magnesium to ${ODL_STREAM} and in case ${ODL_STREAM} is at most magnesium,
283     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
284     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_At_Most    magnesium    ${kw_name}    @{varargs}    &{kwargs}
285
286 Run_Keyword_If_More_Than_Carbon
287     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
288     [Documentation]    Compare carbon to ${ODL_STREAM} and in case ${ODL_STREAM} is more than carbon,
289     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
290     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_More_Than    carbon    ${kw_name}    @{varargs}    &{kwargs}
291
292 Run_Keyword_If_More_Than_Nitrogen
293     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
294     [Documentation]    Compare nitrogen to ${ODL_STREAM} and in case ${ODL_STREAM} is more than nitrogen,
295     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
296     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_More_Than    nitrogen    ${kw_name}    @{varargs}    &{kwargs}
297
298 Run_Keyword_If_More_Than_Oxygen
299     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
300     [Documentation]    Compare oxygen to ${ODL_STREAM} and in case ${ODL_STREAM} is more than oxygen,
301     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
302     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_More_Than    oxygen    ${kw_name}    @{varargs}    &{kwargs}
303
304 Run_Keyword_If_More_Than_Fluorine
305     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
306     [Documentation]    Compare fluorine to ${ODL_STREAM} and in case ${ODL_STREAM} is more than fluorine,
307     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
308     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_More_Than    fluorine    ${kw_name}    @{varargs}    &{kwargs}
309
310 Run_Keyword_If_More_Than_Neon
311     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
312     [Documentation]    Compare neon to ${ODL_STREAM} and in case ${ODL_STREAM} is more than neon,
313     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
314     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_More_Than    neon    ${kw_name}    @{varargs}    &{kwargs}
315
316 Run_Keyword_If_More_Than_Sodium
317     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
318     [Documentation]    Compare sodium to ${ODL_STREAM} and in case ${ODL_STREAM} is more than sodium,
319     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
320     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_More_Than    sodium    ${kw_name}    @{varargs}    &{kwargs}
321
322 Run_Keyword_If_More_Than_Magnesium
323     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
324     [Documentation]    Compare magnesium to ${ODL_STREAM} and in case ${ODL_STREAM} is more than magnesium,
325     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
326     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_More_Than    magnesium    ${kw_name}    @{varargs}    &{kwargs}
327
328 Run_Keyword_If_Less_Than_Carbon
329     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
330     [Documentation]    Compare carbon to ${ODL_STREAM} and in case ${ODL_STREAM} is less than carbon,
331     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
332     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_Less_Than    carbon    ${kw_name}    @{varargs}    &{kwargs}
333
334 Run_Keyword_If_Less_Than_Nitrogen
335     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
336     [Documentation]    Compare nitrogen to ${ODL_STREAM} and in case ${ODL_STREAM} is less than nitrogen,
337     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
338     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_Less_Than    nitrogen    ${kw_name}    @{varargs}    &{kwargs}
339
340 Run_Keyword_If_Less_Than_Oxygen
341     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
342     [Documentation]    Compare oxygen to ${ODL_STREAM} and in case ${ODL_STREAM} is less than oxygen,
343     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
344     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_Less_Than    oxygen    ${kw_name}    @{varargs}    &{kwargs}
345
346 Run_Keyword_If_Less_Than_Fluorine
347     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
348     [Documentation]    Compare fluorine to ${ODL_STREAM} and in case ${ODL_STREAM} is less than fluorine,
349     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
350     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_Less_Than    fluorine    ${kw_name}    @{varargs}    &{kwargs}
351
352 Run_Keyword_If_Less_Than_Neon
353     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
354     [Documentation]    Compare neon to ${ODL_STREAM} and in case ${ODL_STREAM} is less than neon,
355     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
356     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_Less_Than    neon    ${kw_name}    @{varargs}    &{kwargs}
357
358 Run_Keyword_If_Less_Than_Sodium
359     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
360     [Documentation]    Compare sodium to ${ODL_STREAM} and in case ${ODL_STREAM} is less than sodium,
361     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
362     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_Less_Than    sodium    ${kw_name}    @{varargs}    &{kwargs}
363
364 Run_Keyword_If_Less_Than_Magnesium
365     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
366     [Documentation]    Compare magnesium to ${ODL_STREAM} and in case ${ODL_STREAM} is less than magnesium,
367     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
368     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_Less_Than    magnesium    ${kw_name}    @{varargs}    &{kwargs}