usb: getting string descriptors, minor improvements
[quarnos.git] / tests / checked.xml
blob9f1f3e5e769182052a1a1c11f4acbfb8ed8369c4
1 <?xml version="1.0" encoding="UTF-8"?>
2 <?xml-stylesheet type="text/xsl" href="testcpp.xsl"?>
4 <!-- Copyright (C) 2009 Pawel Dziepak -->
6 <!-- Experimental
7      Syntax has to be designed. The following one is only experimental
8 -->
10 <test>
11         <name>Test #1: Safe arithmetic</name>
12         <need>value.h</need>
13         <need>limits.h</need>
14         <object class="checked" type="int">
15                 <descr>add positive numbers</descr>
16                 <method name="set">
17                         <arg>100</arg>
18                 </method>
19                 <method name="operator+">
20                         <arg>INT_MAX</arg>
21                         <return>0</return>
22                 </method>
23                 <method name="operator+">
24                         <arg>20</arg>
25                         <return>120</return>
26                 </method>
28                 <descr>add negative numbers</descr>
29                 <method name="set">
30                         <arg>-100</arg>
31                 </method>
32                 <method name="operator+">
33                         <arg>INT_MIN</arg>
34                         <return>0</return>
35                 </method>
36                 <method name="operator+">
37                         <arg>200</arg>
38                         <return>100</return>
39                 </method>
41                 <descr>subtract numbers</descr>
42                 <method name="set">
43                         <arg>INT_MIN</arg>
44                 </method>
45                 <method name="operator-">
46                         <arg>20</arg>
47                         <return>0</return>
48                 </method>
50                 <method name="set">
51                         <arg>200</arg>
52                 </method>
53                 <method name="operator-">
54                         <arg>INT_MIN</arg>
55                         <return>0</return>
56                 </method>
58                 <descr>multiply numbers</descr>
59                 <method name="set">
60                         <arg>200</arg>
61                 </method>
62                 <method name="operator*">
63                         <arg>INT_MIN/100</arg>
64                         <return>0</return>
65                 </method>
66                 <method name="operator*">
67                         <arg>INT_MAX/100</arg>
68                         <return>0</return>
69                 </method>
71                 <descr>divide by zero</descr>
72                 <method name="operator/">
73                         <arg>0</arg>
74                         <return>0</return>
75                 </method>
76                 <method name="set">
77                         <arg>200</arg>
78                 </method>
79                 <method name="operator/">
80                         <arg>10</arg>
81                         <return>20</return>
82                 </method>
84         </object>
85         <object class="checked" type="float">
86         </object>
87 </test>