group = 'users'; $this->member = new UserIdentityValue( 1, 'MockUser' ); } public function testConstruct() { $param = @new UserGroupMembershipParam( $this->group, $this->member ); $this->assertSame( $this->group, $param->getGroup() ); $this->assertSame( $this->member, $param->getMember() ); } public function testGetGroup() { $groupMock = 'users'; $userNameMock = 'MockUser'; $userIdentityMock = new UserIdentityValue( 1, $userNameMock ); $param = @new UserGroupMembershipParam( $groupMock, $userIdentityMock ); $this->assertSame( $groupMock, $param->getGroup(), 'Group name should match the constructor argument.' ); } public function testGetMember() { $groupMock = 'users'; $userNameMock = 'MockUser'; $userIdentityMock = new UserIdentityValue( 1, $userNameMock ); $param = @new UserGroupMembershipParam( $groupMock, $userIdentityMock ); $this->assertSame( $userIdentityMock, $param->getMember(), 'User identity object should match the constructor argument.' ); } public function testToString() { // More mock parameters aimed at a different group and user. $groupMock = 'sysop'; $userIdentityMock = new UserIdentityValue( 2, 'MockAdminUser' ); // Create the UserGroupMembershipParam instance with mocks. $param = @new UserGroupMembershipParam( $groupMock, $userIdentityMock ); $expectedString = 'sysop:MockAdminUser'; // Asserting if the string representation is as expected. $this->assertSame( $expectedString, (string)$param, 'String representation should combine group and user name.' ); } }