public function testGetUsers()
 {
     $db = (require __DIR__ . "/config.php");
     $connection = new Mysqltcs($db['host'], $db['user'], $db['psw'], $db['db']);
     $usersManagement = new UsersManagement($connection, $db['tables']['users']);
     $user = User::newUser($usersManagement, "t", "*****@*****.**", "gggg");
     $user2 = User::newUser($usersManagement, "t", "*****@*****.**", "gggg");
     $users = $usersManagement->getUsers();
     $data1 = $users[0]->getUserInfo();
     if ($data1['id'] == $user->getId()) {
         $this->assertEquals($user->getUserInfo(), $users[0]->getUserInfo());
         $this->assertEquals($user2->getUserInfo(), $users[1]->getUserInfo());
     } else {
         $this->assertEquals($user->getUserInfo(), $users[1]->getUserInfo());
         $this->assertEquals($user2->getUserInfo(), $users[0]->getUserInfo());
     }
     $this->assertEquals(2, count($usersManagement->getUsers(false)));
     $user->updateEnabled(false);
     $this->assertEquals(2, count($usersManagement->getUsers(true)));
     $this->assertEquals(1, count($usersManagement->getUsers(false)));
     $users = $usersManagement->getUsers(false);
     $this->assertEquals($user2->getUserInfo(), $users[0]->getUserInfo());
     $this->assertEquals($user2, $users[0]);
     $this->assertTrue($user2->equals($users[0]));
     $user->removeUser();
     $user2->removeUser();
 }
 public function testClone()
 {
     $db = (require __DIR__ . "/config.php");
     $connection = new Mysqltcs($db['host'], $db['user'], $db['psw'], $db['db']);
     $connection2 = clone $connection;
     $usersManagement = new UsersManagement($connection, $db['tables']['users']);
     $usersManagement2 = clone $usersManagement;
     $usersManagement2->setConnection($connection2);
     $user = User::newUser($usersManagement, "t", "*****@*****.**", "gggg");
     $user2 = clone $user;
     $this->assertEquals($user, $user2);
     $user2->setUsersManagement($usersManagement2);
     $this->assertNotEquals($user, $user2);
     $this->assertEquals($user->getUserInfo(), $user2->getUserInfo());
     $user->removeUser();
 }