Add Aluminium releases to comparestream lib
[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}    aluminium=${13}
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_Least_Aluminium
68     [Arguments]    ${value_if_true}    ${value_if_false}
69     [Documentation]    Compare aluminium to ${ODL_STREAM} and return ${value_if_true} if ${ODL_STREAM} is atleast aluminium, return ${value_if_false} otherwise.
70     BuiltIn.Run_Keyword_And_Return    Set_Variable_If_At_Least    aluminium    ${value_if_true}    ${value_if_false}
71
72 Set_Variable_If_At_Most_Carbon
73     [Arguments]    ${value_if_true}    ${value_if_false}
74     [Documentation]    Compare carbon to ${ODL_STREAM} and return ${value_if_true} if ${ODL_STREAM} is at most carbon,
75     ...    return ${value_if_false} otherwise.
76     BuiltIn.Run_Keyword_And_Return    Set_Variable_If_At_Most    carbon    ${value_if_true}    ${value_if_false}
77
78 Set_Variable_If_At_Most_Nitrogen
79     [Arguments]    ${value_if_true}    ${value_if_false}
80     [Documentation]    Compare nitrogen to ${ODL_STREAM} and return ${value_if_true} if ${ODL_STREAM} is at most nitrogen,
81     ...    return ${value_if_false} otherwise.
82     BuiltIn.Run_Keyword_And_Return    Set_Variable_If_At_Most    nitrogen    ${value_if_true}    ${value_if_false}
83
84 Set_Variable_If_At_Most_Oxygen
85     [Arguments]    ${value_if_true}    ${value_if_false}
86     [Documentation]    Compare oxygen to ${ODL_STREAM} and return ${value_if_true} if ${ODL_STREAM} is at most oxygen,
87     ...    return ${value_if_false} otherwise.
88     BuiltIn.Run_Keyword_And_Return    Set_Variable_If_At_Most    oxygen    ${value_if_true}    ${value_if_false}
89
90 Set_Variable_If_At_Most_Fluorine
91     [Arguments]    ${value_if_true}    ${value_if_false}
92     [Documentation]    Compare fluorine to ${ODL_STREAM} and return ${value_if_true} if ${ODL_STREAM} is at most fluorine,
93     ...    return ${value_if_false} otherwise.
94     BuiltIn.Run_Keyword_And_Return    Set_Variable_If_At_Most    fluorine    ${value_if_true}    ${value_if_false}
95
96 Set_Variable_If_At_Most_Neon
97     [Arguments]    ${value_if_true}    ${value_if_false}
98     [Documentation]    Compare neon to ${ODL_STREAM} and return ${value_if_true} if ${ODL_STREAM} is at most neon,
99     ...    return ${value_if_false} otherwise.
100     BuiltIn.Run_Keyword_And_Return    Set_Variable_If_At_Most    neon    ${value_if_true}    ${value_if_false}
101
102 Set_Variable_If_At_Most_Sodium
103     [Arguments]    ${value_if_true}    ${value_if_false}
104     [Documentation]    Compare neon to ${ODL_STREAM} and return ${value_if_true} if ${ODL_STREAM} is at most sodium,
105     ...    return ${value_if_false} otherwise.
106     BuiltIn.Run_Keyword_And_Return    Set_Variable_If_At_Most    sodium    ${value_if_true}    ${value_if_false}
107
108 Set_Variable_If_At_Most_Magnesium
109     [Arguments]    ${value_if_true}    ${value_if_false}
110     [Documentation]    Compare magnesium to ${ODL_STREAM} and return ${value_if_true} if ${ODL_STREAM} is at most magnesium,
111     ...    return ${value_if_false} otherwise.
112     BuiltIn.Run_Keyword_And_Return    Set_Variable_If_At_Most    magnesium    ${value_if_true}    ${value_if_false}
113
114 Set_Variable_If_At_Most_Aluminium
115     [Arguments]    ${value_if_true}    ${value_if_false}
116     [Documentation]    Compare aluminium to ${ODL_STREAM} and return ${value_if_true} if ${ODL_STREAM} is at most aluminium,
117     ...    return ${value_if_false} otherwise.
118     BuiltIn.Run_Keyword_And_Return    Set_Variable_If_At_Most    aluminium    ${value_if_true}    ${value_if_false}
119
120 CompareStream__Convert_Input
121     [Arguments]    @{arguments}
122     [Documentation]    Splits arguments into args and kwargs is used in Run_Keyword_If_At_Least_Else and Run_Keyword_If_At_Most_Else.
123     ...    The problem is, when the string contains =, but it is not a named argument (name=value). There can be many values containing =, but
124     ...    for sure it is present in xmls. If the string starts with "<" it will be treated as it is xml and splitting for
125     ...    name and value will not be executed.
126     ...    If named argument is passed into this kw, only string data are supported e.g. name=string. Complex variables such as lists or dictionaries
127     ...    are not supported.
128     ${args}    BuiltIn.Create_List
129     ${kwargs}    BuiltIn.Create_Dictionary
130     FOR    ${arg}    IN    @{arguments}
131         ${arg}    BuiltIn.Convert_To_String    ${arg}
132         ${removed}    String.Remove_String    ${arg}    \n    ${Space}    \t
133         ...    \r
134         ${splitted}    BuiltIn.Run_Keyword_If    "${removed[0]}" == "<"    BuiltIn.Create List    ${arg}
135         ...    ELSE    String.Split_String    ${arg}    separator==    max_split=1
136         ${len}    BuiltIn.Get_Length    ${splitted}
137         Run Keyword If    ${len}==1    Collections.Append_To_List    ${args}    @{splitted}[0]
138         ...    ELSE    Collections.Set_To_Dictionary    ${kwargs}    @{splitted}
139     END
140     BuiltIn.Return_From_Keyword    ${args}    ${kwargs}
141
142 Run_Keyword_If_At_Least
143     [Arguments]    ${lower_bound}    ${kw_name}    @{varargs}    &{kwargs}
144     [Documentation]    Compare ${lower_bound} to ${ODL_STREAM} and in case ${ODL_STREAM} is at least ${lower_bound},
145     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
146     BuiltIn.Run_Keyword_And_Return_If    &{Stream_dict}[${ODL_STREAM}] >= &{Stream_dict}[${lower_bound}]    ${kw_name}    @{varargs}    &{kwargs}
147
148 Run_Keyword_If_At_Least_Else
149     [Arguments]    ${lower_bound}    @{varargs}
150     [Documentation]    Compare ${lower_bound} to ${ODL_STREAM} and in case ${ODL_STREAM} is at least ${lower_bound},
151     ...    run keyword defined before ELSE statement otherwise run keyword defined after ELSE statement and return its value.
152     ${position}    Collections.Get_Index_From_List    ${varargs}    \ELSE
153     BuiltIn.Run_Keyword_If    "${position}" == "-1"    BuiltIn.Fail    Missing else statement in defined expresion
154     ${varargs_if}    Collections.Get_Slice_From_List    ${varargs}    0    ${position}
155     ${varargs_else}    Collections.Get_Slice_From_List    ${varargs}    ${position+1}
156     ${args_if}    ${kwargs_if}    CompareStream__Convert_Input    @{varargs_if}
157     ${args_else}    ${kwargs_else}    CompareStream__Convert_Input    @{varargs_else}
158     ${resp}    BuiltIn.Run_Keyword_If    &{Stream_dict}[${ODL_STREAM}] >= &{Stream_dict}[${lower_bound}]    @{args_if}    &{kwargs_if}
159     ...    ELSE    @{args_else}    &{kwargs_else}
160     [Return]    ${resp}
161
162 Run_Keyword_If_At_Most
163     [Arguments]    ${upper_bound}    ${kw_name}    @{varargs}    &{kwargs}
164     [Documentation]    Compare ${upper_bound} to ${ODL_STREAM} and in case ${ODL_STREAM} is at most ${upper_bound},
165     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
166     BuiltIn.Run_Keyword_And_Return_If    &{Stream_dict}[${ODL_STREAM}] <= &{Stream_dict}[${upper_bound}]    ${kw_name}    @{varargs}    &{kwargs}
167
168 Run_Keyword_If_At_Most_Else
169     [Arguments]    ${upper_bound}    @{varargs}
170     [Documentation]    Compare ${upper_bound} to ${ODL_STREAM} and in case ${ODL_STREAM} is at most ${upper_bound},
171     ...    run keyword defined before ELSE statement otherwise run keyword defined after ELSE statement and return its value.
172     ${position}    Collections.Get_Index_From_List    ${varargs}    \ELSE
173     BuiltIn.Run_Keyword_If    "${position}" == "-1"    BuiltIn.Fail    Missing else statement in defined expresion
174     ${varargs_if}    Collections.Get_Slice_From_List    ${varargs}    0    ${position}
175     ${varargs_else}    Collections.Get_Slice_From_List    ${varargs}    ${position+1}
176     ${args_if}    ${kwargs_if}    CompareStream__Convert_Input    @{varargs_if}
177     ${args_else}    ${kwargs_else}    CompareStream__Convert_Input    @{varargs_else}
178     ${resp}    BuiltIn.Run_Keyword_If    &{Stream_dict}[${ODL_STREAM}] >= &{Stream_dict}[${lower_bound}]    @{args_if}    &{kwargs_if}
179     ...    ELSE    @{args_else}    &{kwargs_else}
180     [Return]    ${resp}
181
182 Run_Keyword_If_More_Than
183     [Arguments]    ${lower_bound}    ${kw_name}    @{varargs}    &{kwargs}
184     [Documentation]    Compare ${lower_bound} to ${ODL_STREAM} and in case ${ODL_STREAM} is more than ${lower_bound},
185     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
186     BuiltIn.Run_Keyword_And_Return_If    &{Stream_dict}[${ODL_STREAM}] > &{Stream_dict}[${lower_bound}]    ${kw_name}    @{varargs}    &{kwargs}
187
188 Run_Keyword_If_Equals
189     [Arguments]    ${stream}    ${kw_name}    @{varargs}    &{kwargs}
190     [Documentation]    Compare ${stream} to ${ODL_STREAM} and in case ${ODL_STREAM} equals ${stream},
191     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
192     BuiltIn.Run_Keyword_And_Return_If    &{Stream_dict}[${ODL_STREAM}] == &{Stream_dict}[${stream}]    ${kw_name}    @{varargs}    &{kwargs}
193
194 Run_Keyword_If_Equals_Else
195     [Arguments]    ${stream}    @{varargs}
196     [Documentation]    Compare ${stream} to ${ODL_STREAM} and in case ${ODL_STREAM} equals ${stream},
197     ...    run keyword defined before ELSE statement otherwise run keyword defined after ELSE statement and return its value.
198     ${position}    Collections.Get_Index_From_List    ${varargs}    \ELSE
199     BuiltIn.Run_Keyword_If    "${position}" == "-1"    BuiltIn.Fail    Missing else statement in defined expresion
200     ${varargs_if}    Collections.Get_Slice_From_List    ${varargs}    0    ${position}
201     ${varargs_else}    Collections.Get_Slice_From_List    ${varargs}    ${position+1}
202     ${args_if}    ${kwargs_if}    CompareStream__Convert_Input    @{varargs_if}
203     ${args_else}    ${kwargs_else}    CompareStream__Convert_Input    @{varargs_else}
204     ${resp}    BuiltIn.Run_Keyword_If    &{Stream_dict}[${ODL_STREAM}] == &{Stream_dict}[${stream}]    @{args_if}    &{kwargs_if}
205     ...    ELSE    @{args_else}    &{kwargs_else}
206     [Return]    ${resp}
207
208 Run_Keyword_If_Less_Than
209     [Arguments]    ${lower_bound}    ${kw_name}    @{varargs}    &{kwargs}
210     [Documentation]    Compare ${lower_bound} to ${ODL_STREAM} and in case ${ODL_STREAM} is less than ${lower_bound},
211     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
212     BuiltIn.Run_Keyword_And_Return_If    &{Stream_dict}[${ODL_STREAM}] < &{Stream_dict}[${lower_bound}]    ${kw_name}    @{varargs}    &{kwargs}
213
214 Run_Keyword_If_At_Least_Carbon
215     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
216     [Documentation]    Compare carbon to ${ODL_STREAM} and in case ${ODL_STREAM} is at least carbon,
217     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
218     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_At_Least    carbon    ${kw_name}    @{varargs}    &{kwargs}
219
220 Run_Keyword_If_At_Least_Nitrogen
221     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
222     [Documentation]    Compare nitrogen to ${ODL_STREAM} and in case ${ODL_STREAM} is at least nitrogen,
223     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
224     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_At_Least    nitrogen    ${kw_name}    @{varargs}    &{kwargs}
225
226 Run_Keyword_If_At_Least_Oxygen
227     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
228     [Documentation]    Compare oxygen to ${ODL_STREAM} and in case ${ODL_STREAM} is at least oxygen,
229     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
230     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_At_Least    oxygen    ${kw_name}    @{varargs}    &{kwargs}
231
232 Run_Keyword_If_At_Least_Fluorine
233     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
234     [Documentation]    Compare fluorine to ${ODL_STREAM} and in case ${ODL_STREAM} is at least fluorine,
235     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
236     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_At_Least    fluorine    ${kw_name}    @{varargs}    &{kwargs}
237
238 Run_Keyword_If_At_Least_Neon
239     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
240     [Documentation]    Compare neon to ${ODL_STREAM} and in case ${ODL_STREAM} is at least neon,
241     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
242     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_At_Least    neon    ${kw_name}    @{varargs}    &{kwargs}
243
244 Run_Keyword_If_At_Least_Sodium
245     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
246     [Documentation]    Compare sodium to ${ODL_STREAM} and in case ${ODL_STREAM} is at least sodium,
247     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
248     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_At_Least    sodium    ${kw_name}    @{varargs}    &{kwargs}
249
250 Run_Keyword_If_At_Least_Magnesium
251     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
252     [Documentation]    Compare magnesium to ${ODL_STREAM} and in case ${ODL_STREAM} is at least magnesium,
253     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
254     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_At_Least    magnesium    ${kw_name}    @{varargs}    &{kwargs}
255
256 Run_Keyword_If_At_Least_Aluminium
257     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
258     [Documentation]    Compare aluminium to ${ODL_STREAM} and in case ${ODL_STREAM} is at least aluminium,
259     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
260     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_At_Least    aluminium    ${kw_name}    @{varargs}    &{kwargs}
261
262 Run_Keyword_If_At_Most_Carbon
263     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
264     [Documentation]    Compare carbon to ${ODL_STREAM} and in case ${ODL_STREAM} is at most carbon,
265     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
266     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_At_Most    carbon    ${kw_name}    @{varargs}    &{kwargs}
267
268 Run_Keyword_If_At_Most_Nitrogen
269     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
270     [Documentation]    Compare nitrogen to ${ODL_STREAM} and in case ${ODL_STREAM} is at most nitrogen,
271     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
272     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_At_Most    nitrogen    ${kw_name}    @{varargs}    &{kwargs}
273
274 Run_Keyword_If_At_Most_Oxygen
275     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
276     [Documentation]    Compare oxygen to ${ODL_STREAM} and in case ${ODL_STREAM} is at most oxygen,
277     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
278     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_At_Most    oxygen    ${kw_name}    @{varargs}    &{kwargs}
279
280 Run_Keyword_If_At_Most_Fluorine
281     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
282     [Documentation]    Compare fluorine to ${ODL_STREAM} and in case ${ODL_STREAM} is at most fluroine,
283     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
284     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_At_Most    fluorine    ${kw_name}    @{varargs}    &{kwargs}
285
286 Run_Keyword_If_At_Most_Neon
287     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
288     [Documentation]    Compare neon to ${ODL_STREAM} and in case ${ODL_STREAM} is at most neon,
289     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
290     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_At_Most    neon    ${kw_name}    @{varargs}    &{kwargs}
291
292 Run_Keyword_If_At_Most_Sodium
293     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
294     [Documentation]    Compare sodium to ${ODL_STREAM} and in case ${ODL_STREAM} is at most sodium,
295     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
296     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_At_Most    sodium    ${kw_name}    @{varargs}    &{kwargs}
297
298 Run_Keyword_If_At_Most_Magnesium
299     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
300     [Documentation]    Compare magnesium to ${ODL_STREAM} and in case ${ODL_STREAM} is at most magnesium,
301     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
302     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_At_Most    magnesium    ${kw_name}    @{varargs}    &{kwargs}
303
304 Run_Keyword_If_At_Most_Aluminium
305     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
306     [Documentation]    Compare aluminium to ${ODL_STREAM} and in case ${ODL_STREAM} is at most aluminium,
307     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
308     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_At_Most    aluminium    ${kw_name}    @{varargs}    &{kwargs}
309
310 Run_Keyword_If_More_Than_Carbon
311     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
312     [Documentation]    Compare carbon to ${ODL_STREAM} and in case ${ODL_STREAM} is more than carbon,
313     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
314     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_More_Than    carbon    ${kw_name}    @{varargs}    &{kwargs}
315
316 Run_Keyword_If_More_Than_Nitrogen
317     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
318     [Documentation]    Compare nitrogen to ${ODL_STREAM} and in case ${ODL_STREAM} is more than nitrogen,
319     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
320     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_More_Than    nitrogen    ${kw_name}    @{varargs}    &{kwargs}
321
322 Run_Keyword_If_More_Than_Oxygen
323     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
324     [Documentation]    Compare oxygen to ${ODL_STREAM} and in case ${ODL_STREAM} is more than oxygen,
325     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
326     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_More_Than    oxygen    ${kw_name}    @{varargs}    &{kwargs}
327
328 Run_Keyword_If_More_Than_Fluorine
329     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
330     [Documentation]    Compare fluorine to ${ODL_STREAM} and in case ${ODL_STREAM} is more than fluorine,
331     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
332     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_More_Than    fluorine    ${kw_name}    @{varargs}    &{kwargs}
333
334 Run_Keyword_If_More_Than_Neon
335     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
336     [Documentation]    Compare neon to ${ODL_STREAM} and in case ${ODL_STREAM} is more than neon,
337     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
338     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_More_Than    neon    ${kw_name}    @{varargs}    &{kwargs}
339
340 Run_Keyword_If_More_Than_Sodium
341     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
342     [Documentation]    Compare sodium to ${ODL_STREAM} and in case ${ODL_STREAM} is more than sodium,
343     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
344     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_More_Than    sodium    ${kw_name}    @{varargs}    &{kwargs}
345
346 Run_Keyword_If_More_Than_Magnesium
347     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
348     [Documentation]    Compare magnesium to ${ODL_STREAM} and in case ${ODL_STREAM} is more than magnesium,
349     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
350     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_More_Than    magnesium    ${kw_name}    @{varargs}    &{kwargs}
351
352 Run_Keyword_If_More_Than_Aluminium
353     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
354     [Documentation]    Compare aluminium to ${ODL_STREAM} and in case ${ODL_STREAM} is more than aluminium,
355     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
356     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_More_Than    aluminium    ${kw_name}    @{varargs}    &{kwargs}
357
358 Run_Keyword_If_Less_Than_Carbon
359     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
360     [Documentation]    Compare carbon to ${ODL_STREAM} and in case ${ODL_STREAM} is less than carbon,
361     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
362     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_Less_Than    carbon    ${kw_name}    @{varargs}    &{kwargs}
363
364 Run_Keyword_If_Less_Than_Nitrogen
365     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
366     [Documentation]    Compare nitrogen to ${ODL_STREAM} and in case ${ODL_STREAM} is less than nitrogen,
367     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
368     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_Less_Than    nitrogen    ${kw_name}    @{varargs}    &{kwargs}
369
370 Run_Keyword_If_Less_Than_Oxygen
371     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
372     [Documentation]    Compare oxygen to ${ODL_STREAM} and in case ${ODL_STREAM} is less than oxygen,
373     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
374     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_Less_Than    oxygen    ${kw_name}    @{varargs}    &{kwargs}
375
376 Run_Keyword_If_Less_Than_Fluorine
377     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
378     [Documentation]    Compare fluorine to ${ODL_STREAM} and in case ${ODL_STREAM} is less than fluorine,
379     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
380     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_Less_Than    fluorine    ${kw_name}    @{varargs}    &{kwargs}
381
382 Run_Keyword_If_Less_Than_Neon
383     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
384     [Documentation]    Compare neon to ${ODL_STREAM} and in case ${ODL_STREAM} is less than neon,
385     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
386     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_Less_Than    neon    ${kw_name}    @{varargs}    &{kwargs}
387
388 Run_Keyword_If_Less_Than_Sodium
389     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
390     [Documentation]    Compare sodium to ${ODL_STREAM} and in case ${ODL_STREAM} is less than sodium,
391     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
392     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_Less_Than    sodium    ${kw_name}    @{varargs}    &{kwargs}
393
394 Run_Keyword_If_Less_Than_Magnesium
395     [Arguments]    ${kw_name}    @{varargs}    &{kwargs}
396     [Documentation]    Compare magnesium to ${ODL_STREAM} and in case ${ODL_STREAM} is less than magnesium,
397     ...    run ${kw_name} @{varargs} &{kwargs} and return its value.
398     BuiltIn.Run_Keyword_And_Return    Run_Keyword_If_Less_Than    magnesium    ${kw_name}    @{varargs}    &{kwargs}