Kaynağa Gözat

a lil bit o tests

Ahmad Rusdi 8 yıl önce
ebeveyn
işleme
234e203db8
9 değiştirilmiş dosya ile 499 ekleme ve 52 silme
  1. 9
    0
      .idea/ZCW-YeOldeCode.iml
  2. 6
    0
      .idea/misc.xml
  3. 8
    0
      .idea/modules.xml
  4. 6
    0
      .idea/vcs.xml
  5. 207
    0
      .idea/workspace.xml
  6. 1
    2
      Account.java
  7. 130
    0
      AccountTest.java
  8. 48
    0
      DepositAccountTest.java
  9. 84
    50
      package.bluej

+ 9
- 0
.idea/ZCW-YeOldeCode.iml Dosyayı Görüntüle

@@ -0,0 +1,9 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<module type="JAVA_MODULE" version="4">
3
+  <component name="NewModuleRootManager" inherit-compiler-output="true">
4
+    <exclude-output />
5
+    <content url="file://$MODULE_DIR$" />
6
+    <orderEntry type="inheritedJdk" />
7
+    <orderEntry type="sourceFolder" forTests="false" />
8
+  </component>
9
+</module>

+ 6
- 0
.idea/misc.xml Dosyayı Görüntüle

@@ -0,0 +1,6 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project version="4">
3
+  <component name="JavaScriptSettings">
4
+    <option name="languageLevel" value="ES6" />
5
+  </component>
6
+</project>

+ 8
- 0
.idea/modules.xml Dosyayı Görüntüle

@@ -0,0 +1,8 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project version="4">
3
+  <component name="ProjectModuleManager">
4
+    <modules>
5
+      <module fileurl="file://$PROJECT_DIR$/.idea/ZCW-YeOldeCode.iml" filepath="$PROJECT_DIR$/.idea/ZCW-YeOldeCode.iml" />
6
+    </modules>
7
+  </component>
8
+</project>

+ 6
- 0
.idea/vcs.xml Dosyayı Görüntüle

@@ -0,0 +1,6 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project version="4">
3
+  <component name="VcsDirectoryMappings">
4
+    <mapping directory="" vcs="Git" />
5
+  </component>
6
+</project>

+ 207
- 0
.idea/workspace.xml Dosyayı Görüntüle

@@ -0,0 +1,207 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project version="4">
3
+  <component name="ChangeListManager">
4
+    <list default="true" id="09b5ee94-8c1d-4723-a4a5-bb2ddf9b1fee" name="Default" comment="">
5
+      <change beforePath="$PROJECT_DIR$/Account.java" beforeDir="false" afterPath="$PROJECT_DIR$/Account.java" afterDir="false" />
6
+      <change beforePath="$PROJECT_DIR$/package.bluej" beforeDir="false" afterPath="$PROJECT_DIR$/package.bluej" afterDir="false" />
7
+    </list>
8
+    <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
9
+    <option name="TRACKING_ENABLED" value="true" />
10
+    <option name="SHOW_DIALOG" value="false" />
11
+    <option name="HIGHLIGHT_CONFLICTS" value="true" />
12
+    <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
13
+    <option name="LAST_RESOLUTION" value="IGNORE" />
14
+  </component>
15
+  <component name="FileEditorManager">
16
+    <leaf>
17
+      <file leaf-file-name="AccountTest.java" pinned="false" current-in-tab="true">
18
+        <entry file="file://$PROJECT_DIR$/AccountTest.java">
19
+          <provider selected="true" editor-type-id="text-editor">
20
+            <state relative-caret-position="-446" />
21
+          </provider>
22
+        </entry>
23
+      </file>
24
+    </leaf>
25
+  </component>
26
+  <component name="Git.Settings">
27
+    <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
28
+  </component>
29
+  <component name="JsBuildToolGruntFileManager" detection-done="true" sorting="DEFINITION_ORDER" />
30
+  <component name="JsBuildToolPackageJson" detection-done="true" sorting="DEFINITION_ORDER" />
31
+  <component name="JsGulpfileManager">
32
+    <detection-done>true</detection-done>
33
+    <sorting>DEFINITION_ORDER</sorting>
34
+  </component>
35
+  <component name="NodePackageJsonFileManager">
36
+    <packageJsonPaths />
37
+  </component>
38
+  <component name="ProjectFrameBounds">
39
+    <option name="x" value="640" />
40
+    <option name="y" value="4" />
41
+    <option name="width" value="636" />
42
+    <option name="height" value="792" />
43
+  </component>
44
+  <component name="ProjectView">
45
+    <navigator proportions="" version="1">
46
+      <foldersAlwaysOnTop value="true" />
47
+    </navigator>
48
+    <panes>
49
+      <pane id="AndroidView" />
50
+      <pane id="ProjectPane">
51
+        <subPane>
52
+          <expand>
53
+            <path>
54
+              <item name="ZCW-YeOldeCode" type="b2602c69:ProjectViewProjectNode" />
55
+              <item name="ZCW-YeOldeCode" type="462c0819:PsiDirectoryNode" />
56
+            </path>
57
+          </expand>
58
+          <select />
59
+        </subPane>
60
+      </pane>
61
+      <pane id="Scope" />
62
+      <pane id="PackagesPane" />
63
+    </panes>
64
+  </component>
65
+  <component name="PropertiesComponent">
66
+    <property name="WebServerToolWindowFactoryState" value="false" />
67
+    <property name="aspect.path.notification.shown" value="true" />
68
+    <property name="last_opened_file_path" value="$PROJECT_DIR$" />
69
+    <property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
70
+    <property name="nodejs_npm_path_reset_for_default_project" value="true" />
71
+  </component>
72
+  <component name="RunDashboard">
73
+    <option name="ruleStates">
74
+      <list>
75
+        <RuleState>
76
+          <option name="name" value="ConfigurationTypeDashboardGroupingRule" />
77
+        </RuleState>
78
+        <RuleState>
79
+          <option name="name" value="StatusDashboardGroupingRule" />
80
+        </RuleState>
81
+      </list>
82
+    </option>
83
+  </component>
84
+  <component name="RunManager">
85
+    <configuration default="true" type="Application" factoryName="Application">
86
+      <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
87
+    </configuration>
88
+    <configuration default="true" type="JUnit" factoryName="JUnit">
89
+      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
90
+      <option name="ALTERNATIVE_JRE_PATH" />
91
+      <option name="PACKAGE_NAME" />
92
+      <option name="MAIN_CLASS_NAME" />
93
+      <option name="METHOD_NAME" />
94
+      <option name="TEST_OBJECT" value="class" />
95
+      <option name="VM_PARAMETERS" value="-ea" />
96
+      <option name="PARAMETERS" />
97
+      <option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
98
+      <option name="PASS_PARENT_ENVS" value="true" />
99
+      <option name="TEST_SEARCH_SCOPE">
100
+        <value defaultName="singleModule" />
101
+      </option>
102
+      <patterns />
103
+    </configuration>
104
+    <configuration default="true" type="TestNG" factoryName="TestNG">
105
+      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
106
+      <option name="ALTERNATIVE_JRE_PATH" />
107
+      <option name="SUITE_NAME" />
108
+      <option name="PACKAGE_NAME" />
109
+      <option name="MAIN_CLASS_NAME" />
110
+      <option name="METHOD_NAME" />
111
+      <option name="GROUP_NAME" />
112
+      <option name="TEST_OBJECT" value="CLASS" />
113
+      <option name="VM_PARAMETERS" value="-ea" />
114
+      <option name="PARAMETERS" />
115
+      <option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
116
+      <option name="OUTPUT_DIRECTORY" />
117
+      <option name="PASS_PARENT_ENVS" value="true" />
118
+      <option name="TEST_SEARCH_SCOPE">
119
+        <value defaultName="singleModule" />
120
+      </option>
121
+      <option name="USE_DEFAULT_REPORTERS" value="false" />
122
+      <option name="PROPERTIES_FILE" />
123
+      <properties />
124
+      <listeners />
125
+    </configuration>
126
+  </component>
127
+  <component name="SvnConfiguration">
128
+    <configuration />
129
+  </component>
130
+  <component name="TaskManager">
131
+    <task active="true" id="Default" summary="Default task">
132
+      <changelist id="09b5ee94-8c1d-4723-a4a5-bb2ddf9b1fee" name="Default" comment="" />
133
+      <created>1529503874012</created>
134
+      <option name="number" value="Default" />
135
+      <option name="presentableId" value="Default" />
136
+      <updated>1529503874012</updated>
137
+      <workItem from="1529503875554" duration="11000" />
138
+    </task>
139
+    <servers />
140
+  </component>
141
+  <component name="TimeTrackingManager">
142
+    <option name="totallyTimeSpent" value="11000" />
143
+  </component>
144
+  <component name="ToolWindowManager">
145
+    <frame x="640" y="4" width="636" height="792" extended-state="0" />
146
+    <editor active="true" />
147
+    <layout>
148
+      <window_info anchor="right" id="Key Promoter X" />
149
+      <window_info anchor="right" id="Palette" />
150
+      <window_info anchor="bottom" id="TODO" order="6" />
151
+      <window_info anchor="right" id="Palette&#9;" />
152
+      <window_info id="Image Layers" />
153
+      <window_info anchor="right" id="Capture Analysis" />
154
+      <window_info anchor="bottom" id="Event Log" side_tool="true" />
155
+      <window_info anchor="right" id="Maven Projects" />
156
+      <window_info anchor="bottom" id="Database Changes" show_stripe_button="false" />
157
+      <window_info anchor="bottom" id="Run" order="2" />
158
+      <window_info anchor="bottom" id="Version Control" />
159
+      <window_info anchor="bottom" id="Terminal" />
160
+      <window_info id="Capture Tool" />
161
+      <window_info id="Designer" />
162
+      <window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.24915825" />
163
+      <window_info anchor="right" id="Database" />
164
+      <window_info id="Structure" order="1" side_tool="true" weight="0.25" />
165
+      <window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
166
+      <window_info id="UI Designer" />
167
+      <window_info anchor="right" id="Theme Preview" />
168
+      <window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
169
+      <window_info id="Favorites" side_tool="true" />
170
+      <window_info anchor="bottom" id="Find" order="1" />
171
+      <window_info anchor="right" id="Commander" order="0" weight="0.4" />
172
+      <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
173
+      <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
174
+      <window_info anchor="bottom" id="Message" order="0" />
175
+      <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
176
+    </layout>
177
+  </component>
178
+  <component name="TypeScriptGeneratedFilesManager">
179
+    <option name="version" value="1" />
180
+  </component>
181
+  <component name="VcsContentAnnotationSettings">
182
+    <option name="myLimit" value="2678400000" />
183
+  </component>
184
+  <component name="editorHistoryManager">
185
+    <entry file="file://$PROJECT_DIR$/AccountTest.java">
186
+      <provider selected="true" editor-type-id="text-editor">
187
+        <state relative-caret-position="-446" />
188
+      </provider>
189
+    </entry>
190
+  </component>
191
+  <component name="masterDetails">
192
+    <states>
193
+      <state key="ProjectJDKs.UI">
194
+        <settings>
195
+          <last-edited>1.8</last-edited>
196
+          <splitter-proportions>
197
+            <option name="proportions">
198
+              <list>
199
+                <option value="0.2" />
200
+              </list>
201
+            </option>
202
+          </splitter-proportions>
203
+        </settings>
204
+      </state>
205
+    </states>
206
+  </component>
207
+</project>

+ 1
- 2
Account.java Dosyayı Görüntüle

@@ -39,8 +39,7 @@ class Account
39 39
         return amount;
40 40
     }
41 41
 
42
-    public void withdraw(int sum) throws AccountException
43
-    {
42
+    public void withdraw(int sum) throws AccountException {
44 43
         if(sum<=amount)
45 44
             amount-=sum;
46 45
         else

+ 130
- 0
AccountTest.java Dosyayı Görüntüle

@@ -0,0 +1,130 @@
1
+
2
+
3
+import static org.junit.Assert.*;
4
+import org.junit.After;
5
+import org.junit.Before;
6
+import org.junit.Test;
7
+
8
+/**
9
+ * The test class AccountTest.
10
+ *
11
+ * @author  (your name)
12
+ * @version (a version number or a date)
13
+ */
14
+public class AccountTest {
15
+    /**
16
+     * Sets up the test fixture.
17
+     *
18
+     * Called before every test case method.
19
+     */
20
+    @Before
21
+    public void setUp() {
22
+    }
23
+    
24
+    @Test
25
+    public void constructorNoParamsTest() {
26
+        Account account = new Account();
27
+        int expected = 0;
28
+        int actual = account.balance();
29
+        assertEquals(expected, actual);
30
+    }
31
+    
32
+    @Test
33
+    public void constructorWithParamsTest() {
34
+        Account account = new Account(10);
35
+        int expected = 10;
36
+        int actual = account.balance();
37
+        assertEquals(expected, actual);
38
+    }
39
+
40
+    @Test
41
+    public void depositTest() {
42
+        Account account = new Account();
43
+        account.deposit(10);
44
+        int expected = 10;
45
+        int actual = account.balance();
46
+        assertEquals(expected, actual);
47
+    }
48
+
49
+    @Test
50
+    public void transferDepositTest() {
51
+        Account accountA = new Account();
52
+        Account accountB = new Account(10);
53
+        int expectedAccountABalance = 10;
54
+        accountB.transfer(accountA, 10);
55
+        int actualAccountBBalance = accountA.balance();
56
+        assertEquals(expectedAccountABalance, actualAccountBBalance);
57
+    }
58
+
59
+    @Test
60
+    public void transferDepositOriginTest() {
61
+        Account accountA = new Account();
62
+        Account accountB = new Account(10);
63
+        int expectedAccountBBalance = 0;
64
+        accountB.transfer(accountA, 10);
65
+        int actualAccountBBalance = accountB.balance();
66
+        assertEquals(expectedAccountBBalance, actualAccountBBalance);
67
+    }
68
+
69
+    @Test
70
+    public void openNewAccountTest() {
71
+        Account accountA = new Account(10);
72
+        Account accountB = accountA.open(10);
73
+        int expectedAccountBBalance = 10;
74
+        int actualAccountBBalance = accountB.balance();
75
+        assertEquals(expectedAccountBBalance, actualAccountBBalance);
76
+    }
77
+
78
+    @Test
79
+    public void openNewAccountOriginTest() {
80
+        Account accountA = new Account(10);
81
+        Account accountB = accountA.open(10);
82
+        int expectedAccountABalance = 0;
83
+        int actualAccountABalance = accountA.balance();
84
+        assertEquals(expectedAccountABalance, actualAccountABalance);
85
+    }
86
+
87
+    @Test
88
+    public void getBalanceTest() {
89
+        Account account = new Account(10);
90
+        int expectedAccountBalance = 10;
91
+        int actualAccountBalance = account.balance();
92
+        assertEquals(expectedAccountBalance, actualAccountBalance);
93
+    }
94
+
95
+    @Test
96
+    public void withdrawTest() {
97
+        Account account = new Account(10);
98
+        int expectedAccountABalance = 5;
99
+        try {
100
+            account.withdraw(5);
101
+        } catch (Exception e) {
102
+        }
103
+        int actualAccountABalance = account.balance();
104
+        assertEquals(expectedAccountABalance, actualAccountABalance);
105
+    }
106
+
107
+    @Test
108
+    public void withdrawErrorTest() {
109
+        Account account = new Account(10);
110
+        String expectedThrownMessage = "overdraw";
111
+        String actualThrownMessage = "dont pass";
112
+
113
+        try {
114
+            account.withdraw(15);
115
+        } catch (Exception e) {
116
+            actualThrownMessage = e.getMessage();
117
+        }
118
+
119
+        assertEquals(expectedThrownMessage, actualThrownMessage);
120
+    }
121
+    /**
122
+     * Tears down the test fixture.
123
+     *
124
+     * Called after every test case method.
125
+     */
126
+    @After
127
+    public void tearDown()
128
+    {
129
+    }
130
+}

+ 48
- 0
DepositAccountTest.java Dosyayı Görüntüle

@@ -0,0 +1,48 @@
1
+import static org.junit.Assert.*;
2
+import org.junit.After;
3
+import org.junit.Before;
4
+import org.junit.Test;
5
+
6
+/**
7
+ * The test class DepositAccountTest.
8
+ *
9
+ * @author  (your name)
10
+ * @version (a version number or a date)
11
+ */
12
+public class DepositAccountTest
13
+{
14
+    /**
15
+     * Default constructor for test class DepositAccountTest
16
+     */
17
+    public DepositAccountTest()
18
+    {
19
+    }
20
+
21
+    @Test
22
+    public void constructorTest() {
23
+        DepositAccount depositAccount = new DepositAccount(5, 1.5);
24
+        int expectedBalance = 5;
25
+        int actualBalance = depositAccount.balance();
26
+        assertEquals(expectedBalance, actualBalance);
27
+    }
28
+
29
+    /**
30
+     * Sets up the test fixture.
31
+     *
32
+     * Called before every test case method.
33
+     */
34
+    @Before
35
+    public void setUp()
36
+    {
37
+    }
38
+
39
+    /**
40
+     * Tears down the test fixture.
41
+     *
42
+     * Called after every test case method.
43
+     */
44
+    @After
45
+    public void tearDown()
46
+    {
47
+    }
48
+}

+ 84
- 50
package.bluej Dosyayı Görüntüle

@@ -1,26 +1,44 @@
1 1
 #BlueJ package file
2
-dependency1.from=Account
3
-dependency1.to=AccountException
2
+dependency1.from=Calendar1
3
+dependency1.to=CalendarGraphic
4 4
 dependency1.type=UsesDependency
5
-dependency2.from=DepositAccount
6
-dependency2.to=AccountException
5
+dependency2.from=Calendar1
6
+dependency2.to=DateException
7 7
 dependency2.type=UsesDependency
8
-editor.fx.0.height=722
9
-editor.fx.0.width=800
10
-editor.fx.0.x=114
11
-editor.fx.0.y=175
8
+dependency3.from=Calendar
9
+dependency3.to=DateException
10
+dependency3.type=UsesDependency
11
+dependency4.from=Date
12
+dependency4.to=DateException
13
+dependency4.type=UsesDependency
14
+dependency5.from=DepositAccount
15
+dependency5.to=AccountException
16
+dependency5.type=UsesDependency
17
+dependency6.from=DepositAccountTest
18
+dependency6.to=DepositAccount
19
+dependency6.type=UsesDependency
20
+dependency7.from=Account
21
+dependency7.to=AccountException
22
+dependency7.type=UsesDependency
23
+dependency8.from=AccountTest
24
+dependency8.to=Account
25
+dependency8.type=UsesDependency
26
+editor.fx.0.height=0
27
+editor.fx.0.width=0
28
+editor.fx.0.x=0
29
+editor.fx.0.y=0
12 30
 objectbench.height=101
13
-objectbench.width=461
31
+objectbench.width=776
14 32
 package.divider.horizontal=0.6
15 33
 package.divider.vertical=0.8007380073800738
16 34
 package.editor.height=427
17 35
 package.editor.width=674
18
-package.editor.x=1006
36
+package.editor.x=480
19 37
 package.editor.y=133
20 38
 package.frame.height=600
21 39
 package.frame.width=800
22
-package.numDependencies=2
23
-package.numTargets=13
40
+package.numDependencies=8
41
+package.numTargets=15
24 42
 package.showExtends=true
25 43
 package.showUses=true
26 44
 project.charset=UTF-8
@@ -43,34 +61,49 @@ target10.type=ClassTarget
43 61
 target10.width=80
44 62
 target10.x=10
45 63
 target10.y=250
64
+target11.association=DepositAccountTest
46 65
 target11.height=50
47
-target11.name=TriangleTwo
66
+target11.name=DepositAccount
48 67
 target11.showInterface=false
49 68
 target11.type=ClassTarget
50
-target11.width=100
51
-target11.x=120
52
-target11.y=310
69
+target11.width=120
70
+target11.x=170
71
+target11.y=120
53 72
 target12.height=50
54
-target12.name=AccountException
73
+target12.name=TriangleTwo
55 74
 target12.showInterface=false
56 75
 target12.type=ClassTarget
57
-target12.width=140
58
-target12.x=190
59
-target12.y=30
76
+target12.width=100
77
+target12.x=120
78
+target12.y=310
60 79
 target13.height=50
61
-target13.name=DateException
80
+target13.name=AccountException
62 81
 target13.showInterface=false
63 82
 target13.type=ClassTarget
64
-target13.width=120
65
-target13.x=470
66
-target13.y=340
83
+target13.width=140
84
+target13.x=190
85
+target13.y=30
86
+target14.height=50
87
+target14.name=AccountTest
88
+target14.showInterface=false
89
+target14.type=UnitTestTargetJunit4
90
+target14.width=80
91
+target14.x=80
92
+target14.y=80
93
+target15.height=50
94
+target15.name=DateException
95
+target15.showInterface=false
96
+target15.type=ClassTarget
97
+target15.width=120
98
+target15.x=470
99
+target15.y=340
67 100
 target2.height=50
68
-target2.name=Account
101
+target2.name=DepositAccountTest
69 102
 target2.showInterface=false
70
-target2.type=ClassTarget
71
-target2.width=80
72
-target2.x=50
73
-target2.y=110
103
+target2.type=UnitTestTargetJunit4
104
+target2.width=120
105
+target2.x=200
106
+target2.y=90
74 107
 target3.height=50
75 108
 target3.name=Calendar1
76 109
 target3.showInterface=false
@@ -78,45 +111,46 @@ target3.type=ClassTarget
78 111
 target3.width=90
79 112
 target3.x=330
80 113
 target3.y=220
114
+target4.association=AccountTest
81 115
 target4.height=50
82
-target4.name=Squares
116
+target4.name=Account
83 117
 target4.showInterface=false
84 118
 target4.type=ClassTarget
85 119
 target4.width=80
86
-target4.x=100
87
-target4.y=250
120
+target4.x=50
121
+target4.y=110
88 122
 target5.height=50
89
-target5.name=Calendar
123
+target5.name=Squares
90 124
 target5.showInterface=false
91 125
 target5.type=ClassTarget
92 126
 target5.width=80
93
-target5.x=490
94
-target5.y=270
127
+target5.x=100
128
+target5.y=250
95 129
 target6.height=50
96
-target6.name=TriangleOne
130
+target6.name=Calendar
97 131
 target6.showInterface=false
98 132
 target6.type=ClassTarget
99
-target6.width=100
100
-target6.x=10
101
-target6.y=310
133
+target6.width=80
134
+target6.x=490
135
+target6.y=270
102 136
 target7.height=50
103
-target7.name=TextIO
137
+target7.name=TriangleOne
104 138
 target7.showInterface=false
105 139
 target7.type=ClassTarget
106
-target7.width=80
107
-target7.x=490
108
-target7.y=40
140
+target7.width=100
141
+target7.x=10
142
+target7.y=310
109 143
 target8.height=50
110
-target8.name=Date
144
+target8.name=TextIO
111 145
 target8.showInterface=false
112 146
 target8.type=ClassTarget
113 147
 target8.width=80
114
-target8.x=350
115
-target8.y=290
148
+target8.x=490
149
+target8.y=40
116 150
 target9.height=50
117
-target9.name=DepositAccount
151
+target9.name=Date
118 152
 target9.showInterface=false
119 153
 target9.type=ClassTarget
120
-target9.width=120
121
-target9.x=170
122
-target9.y=120
154
+target9.width=80
155
+target9.x=350
156
+target9.y=290