77class WalletTest extends TestCase
88{
99
10- /**
11- * @return User
12- */
13- public function getUser (): User
14- {
15- return factory (User::class)->create ();
16- }
17-
1810 /**
1911 * @return void
2012 */
2113 public function testDeposit (): void
2214 {
23- $ user = $ this -> getUser ();
15+ $ user = factory (User::class)-> create ();
2416 $ this ->assertEquals ($ user ->balance , 0 );
2517
2618 $ user ->deposit (10 );
@@ -44,7 +36,7 @@ public function testDeposit(): void
4436 */
4537 public function testInvalidDeposit (): void
4638 {
47- $ user = $ this -> getUser ();
39+ $ user = factory (User::class)-> create ();
4840 $ user ->deposit (-1 );
4941 }
5042
@@ -54,7 +46,7 @@ public function testInvalidDeposit(): void
5446 */
5547 public function testWithdraw (): void
5648 {
57- $ user = $ this -> getUser ();
49+ $ user = factory (User::class)-> create ();
5850 $ this ->assertEquals ($ user ->balance , 0 );
5951
6052 $ user ->deposit (100 );
@@ -78,7 +70,7 @@ public function testWithdraw(): void
7870 */
7971 public function testInvalidWithdraw (): void
8072 {
81- $ user = $ this -> getUser ();
73+ $ user = factory (User::class)-> create ();
8274 $ user ->withdraw (-1 );
8375 }
8476
@@ -116,6 +108,18 @@ public function testTransfer(): void
116108
117109 $ first ->withdraw ($ first ->balance );
118110 $ this ->assertEquals ($ first ->balance , 0 );
111+
112+ $ this ->assertNull ($ first ->safeTransfer ($ second , 100 ));
113+ $ this ->assertEquals ($ first ->balance , 0 );
114+ $ this ->assertEquals ($ second ->balance , 0 );
115+
116+ $ this ->assertNotNull ($ first ->forceTransfer ($ second , 100 ));
117+ $ this ->assertEquals ($ first ->balance , -100 );
118+ $ this ->assertEquals ($ second ->balance , 100 );
119+
120+ $ this ->assertNotNull ($ second ->forceTransfer ($ first , 100 ));
121+ $ this ->assertEquals ($ first ->balance , 0 );
122+ $ this ->assertEquals ($ second ->balance , 0 );
119123 }
120124
121125 /**
0 commit comments