├── .gitignore ├── .travis.yml ├── README.md ├── composer.json ├── phpunit.xml ├── src └── Gins │ ├── Exceptions │ ├── GenderNotRegistered.php │ └── PronounNotRegistered.php │ ├── Gender.php │ ├── Genders.php │ ├── Genders │ ├── Agender.php │ ├── Androgyne.php │ ├── Androgynous.php │ ├── Bigender.php │ ├── Female.php │ ├── GenderFluid.php │ ├── GenderNonconforming.php │ ├── GenderQueer.php │ ├── GenderQuestioning.php │ ├── Intersex.php │ ├── Male.php │ ├── Neutrois.php │ ├── NonBinary.php │ ├── None.php │ ├── Other.php │ ├── Pangender.php │ ├── Transgender.php │ └── Transsexual.php │ ├── Pronoun.php │ ├── Pronouns.php │ └── Pronouns │ ├── Ae.php │ ├── Ey.php │ ├── Fae.php │ ├── He.php │ ├── Per.php │ ├── She.php │ ├── They.php │ ├── Ve.php │ ├── X.php │ ├── Xe.php │ └── Ze.php └── tests └── Gins ├── GenderTest.php ├── Genders ├── AgenderTest.php ├── AndrogyneTest.php ├── AndrogynousTest.php ├── BigenderTest.php ├── FemaleTest.php ├── GenderFluidTest.php ├── GenderNonconformingTest.php ├── GenderQueerTest.php ├── GenderQuestioningTest.php ├── IntersexTest.php ├── MaleTest.php ├── NeutroisTest.php ├── NonBinaryTest.php ├── NoneTest.php ├── OtherTest.php ├── PangenderTest.php ├── TransexualTest.php └── TransgenderTest.php ├── PronounTest.php └── Pronouns ├── AeTest.php ├── EyTest.php ├── FaeTest.php ├── HeTest.php ├── PerTest.php ├── SheTest.php ├── TheyTest.php ├── VeTest.php ├── XTest.php ├── XeTest.php └── ZeTest.php /.gitignore: -------------------------------------------------------------------------------- 1 | vendor/* 2 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: php 2 | php: 3 | - '5.5' 4 | - '5.6' 5 | 6 | install: 7 | - composer install 8 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [![Build Status](https://travis-ci.org/waxim/Gins.svg?branch=master)](https://travis-ci.org/waxim/Gins) [![StyleCI](https://styleci.io/repos/86361220/shield?branch=master)](https://styleci.io/repos/86361220) 2 | 3 | # Gins 4 | Gins (Gender is not sex) is a PHP library that provides you with a host of options for genders and pronouns for your users and customers. Too often I arrive at a site with the form field "Gender" and only "Male/Female" as options. We don't live in that world any more. So this attempts to help developers fix that. 5 | 6 | This is by no means comprehensive but hopefully people will help expand it over time and its a marked improvement on the binary way of thinking. 7 | 8 | ## Genders 9 | We provide a comprehensive list of genders to select from. 10 | 11 | ```php 12 | $genders = new Gins\Genders(); 13 | 14 | echo ""; 21 | ``` 22 | 23 | Genders will also allow you to pass in a value, and get its term. 24 | 25 | ```php 26 | $genders = new Gins\Genders(); 27 | 28 | try { 29 | $gender = $genders->findOrFailByValue("m"); 30 | print $gender->getTerm(); // "Male" 31 | } catch (GenderNotRegistered $e) { 32 | print "We couldn't find that gender" 33 | } 34 | ``` 35 | 36 | or pass a term and get a value. 37 | 38 | ```php 39 | $genders = new Gins\Genders(); 40 | 41 | try { 42 | $gender = $genders->findOrFailByTerm("Male"); 43 | print $gender->getValue(); // "m" 44 | } catch (GenderNotRegistered $e) { 45 | print "We're sorry but we don't have your gender listed, 46 | but we've logged its term and will get it added soon."; 47 | } 48 | ``` 49 | 50 | Some genders will presume a pronoun to save on inputs if you wish but its normally best to ask people how they like to be identified so you should use these assumptions with caution. 51 | 52 | ```php 53 | $pronoun = $gender->getPronoun(); 54 | print $pronoun->getNoun(); // "He" 55 | ``` 56 | 57 | You may set the pronoun to any valid pronoun object. 58 | ```php 59 | $gender->setPronoun($noun); 60 | ``` 61 | 62 | ## Pronouns 63 | This is a list of accepted or used pronouns and their derivations. There are 5 standard derivations of pronouns in English. Subject "He/She", Object "Him/Her", Possessive "His/Her", Possessive Pronoun (Plural) "His/Hers", Reflexive "Himself/Herself" 64 | 65 | ```php 66 | $pronouns = new Gins\Pronouns(); 67 | 68 | foreach ($pronouns as $noun) { 69 | print $pro->getNoun(); # He/She 70 | print $noun->getSubject(); # He/She 71 | print $noun->getObject(); # Him/Her 72 | print $noun->getPossessive(); # His/Her 73 | print $noun->getPossessivePlural(); # His/Hers 74 | print $noun->getReflexive(); #Himself/Herself 75 | } 76 | ``` 77 | 78 | ```php 79 | $noun = new Gins\Pronouns\He(); 80 | ``` 81 | 82 | ## Expanding 83 | Adding Genders and pronouns is as easy to building new classes which extend the base classes `Gender` or `Pronoun` if you'd like to add genders of pronouns you can start a pull request with your own and I'll merge them in. 84 | 85 | Once you've added your own genders and pronouns you can pass them into gins either at constrct or by using the add mehtods. 86 | 87 | ```php 88 | $custom_gender = new My\Custom\Gender(); 89 | $custom_gender_two = new My\Custom\GenderTwo(); 90 | 91 | $custom_pronoun = new My\Custom\Pronoun(); 92 | 93 | $genders->addGender($custom_gender); 94 | $genders->addGender($custom_gender_two); 95 | 96 | $all_genders = new Gins\Genders([$custom_gender, $custom_gender_two]); # Another way to do it, 97 | 98 | $pronouns->addNoun($custom_pronoun); 99 | 100 | $all_pronouns = new Gins\Pronouns([$custom_pronoun]); # Another way to do it. 101 | ``` 102 | 103 | Whilst we allow you to patch in your own genders, we'd really love it if you can make a pull request with any missing genders instead. 104 | 105 | ## Installing 106 | ``` 107 | composer require waxim/gins 108 | ``` 109 | 110 | ## Testing 111 | ``` 112 | phpunit 113 | ``` 114 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "alancole/gins", 3 | "description": "A PHP library for collecting genders and pronouns for people.", 4 | "type": "composer", 5 | "autoload": { 6 | "psr-4": { 7 | "Gins\\": "src/Gins" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /phpunit.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | tests 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/Gins/Exceptions/GenderNotRegistered.php: -------------------------------------------------------------------------------- 1 | term; 36 | } 37 | 38 | /** 39 | * Get our value. 40 | * 41 | * @return string 42 | */ 43 | public function getValue() 44 | { 45 | return $this->value; 46 | } 47 | 48 | /** 49 | * Get our nouns. 50 | * 51 | * @return Gins\Pronoun 52 | */ 53 | public function getNouns() 54 | { 55 | return isset($this->noun) ? $this->noun : new \Gins\Pronouns\They(); 56 | } 57 | 58 | /** 59 | * Set our nouns. 60 | * 61 | * @param Gins\Pronoun 62 | * 63 | * @return string 64 | */ 65 | public function setNouns(\Gins\Pronoun $nouns) 66 | { 67 | $this->noun = $nouns; 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /src/Gins/Genders.php: -------------------------------------------------------------------------------- 1 | genders = array_merge($genders, $inbuilt); 47 | } 48 | 49 | /** 50 | * Check all of our genders for a value 51 | * if we dont find one throw error. 52 | * 53 | * @param string $value 54 | * 55 | * @throws GenderNotRegistered 56 | * 57 | * @return Gins\Gender 58 | */ 59 | public function findOrFailByValue($value) 60 | { 61 | foreach ($this->genders as $gender) { 62 | if ($gender->getValue() == $value) { 63 | return $gender; 64 | } 65 | } 66 | 67 | throw new GenderNotRegistered(); 68 | } 69 | 70 | /** 71 | * Check all of our genders for a term 72 | * if we dont find one throw error. 73 | * 74 | * @param string $term 75 | * 76 | * @throws GenderNotRegistered 77 | * 78 | * @return Gins\Gender 79 | */ 80 | public function findOrFailByTerm($term) 81 | { 82 | foreach ($this->genders as $gender) { 83 | if ($gender->getTerm() == $term) { 84 | return $gender; 85 | } 86 | } 87 | 88 | throw new GenderNotRegistered(); 89 | } 90 | 91 | /** 92 | * Add a gender. 93 | * 94 | * @param Gins\Gender $gender 95 | * 96 | * @return void 97 | */ 98 | public function addGender(\Gins\Gender $gender) 99 | { 100 | array_push($this->genders, $gender); 101 | } 102 | 103 | /** 104 | * Get all our genders. 105 | * 106 | * @return array|Gins\Gender 107 | */ 108 | public function getAll() 109 | { 110 | return $this->genders; 111 | } 112 | } 113 | -------------------------------------------------------------------------------- /src/Gins/Genders/Agender.php: -------------------------------------------------------------------------------- 1 | noun = new \Gins\Pronouns\Ze(); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/Gins/Genders/Androgynous.php: -------------------------------------------------------------------------------- 1 | noun = new \Gins\Pronouns\She(); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/Gins/Genders/GenderFluid.php: -------------------------------------------------------------------------------- 1 | noun = new \Gins\Pronouns\He(); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/Gins/Genders/Neutrois.php: -------------------------------------------------------------------------------- 1 | noun = new \Gins\Pronouns\They(); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/Gins/Genders/None.php: -------------------------------------------------------------------------------- 1 | freevalue = $term; 36 | } 37 | 38 | /** 39 | * Get our term. 40 | * 41 | * @return string 42 | */ 43 | public function getTerm() 44 | { 45 | return isset($this->freevalue) ? $this->freevalue : $this->term; 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /src/Gins/Genders/Pangender.php: -------------------------------------------------------------------------------- 1 | value; 57 | } 58 | 59 | /** 60 | * Alias for getSubject(). 61 | * 62 | * @return string 63 | */ 64 | public function getNoun() 65 | { 66 | return $this->getSubject(); 67 | } 68 | 69 | /** 70 | * Gets our subject. 71 | * 72 | * @return string 73 | */ 74 | public function getSubject() 75 | { 76 | return $this->subject; 77 | } 78 | 79 | /** 80 | * Gets our object. 81 | * 82 | * @return string 83 | */ 84 | public function getObject() 85 | { 86 | return $this->object; 87 | } 88 | 89 | /** 90 | * Gets our possessive. 91 | * 92 | * @return string 93 | */ 94 | public function getPossessive() 95 | { 96 | return $this->possessive; 97 | } 98 | 99 | /** 100 | * Get possessive_plural. 101 | * 102 | * @return string 103 | */ 104 | public function getPossessivePlural() 105 | { 106 | return $this->possessive_plural; 107 | } 108 | 109 | /** 110 | * Get reflective. 111 | * 112 | * @return string 113 | */ 114 | public function getReflective() 115 | { 116 | return $this->reflective; 117 | } 118 | } 119 | -------------------------------------------------------------------------------- /src/Gins/Pronouns.php: -------------------------------------------------------------------------------- 1 | nouns = array_merge($nouns, $inbuilt); 40 | } 41 | 42 | /** 43 | * Check all of our pronouns for a value 44 | * if we dont find one throw error. 45 | * 46 | * @param string $value 47 | * 48 | * @throws PronounNotRegistered 49 | * 50 | * @return Gins\Pronoun 51 | */ 52 | public function findOrFailByValue($value) 53 | { 54 | foreach ($this->nouns as $noun) { 55 | if ($noun->getValue() == $value) { 56 | return $noun; 57 | } 58 | } 59 | 60 | throw new PronounNotRegistered(); 61 | } 62 | 63 | /** 64 | * Add a pronoun. 65 | * 66 | * @param Gins\Pronoun $noun 67 | * 68 | * @return void 69 | */ 70 | public function addNoun(\Gins\Pronoun $noun) 71 | { 72 | array_push($this->nouns, $noun); 73 | } 74 | 75 | /** 76 | * Get all our pronouns. 77 | * 78 | * @return array|Gins\Gender 79 | */ 80 | public function getAll() 81 | { 82 | return $this->nouns; 83 | } 84 | } 85 | -------------------------------------------------------------------------------- /src/Gins/Pronouns/Ae.php: -------------------------------------------------------------------------------- 1 | assertTrue(is_array($genders->getAll())); 11 | } 12 | 13 | public function testCanAddAGender() 14 | { 15 | $gender = new \Gins\Gender(); 16 | $genders = new \Gins\Genders(); 17 | 18 | $current_genders = count($genders->getAll()); 19 | $genders->addGender($gender); 20 | 21 | $this->assertSame($current_genders + 1, count($genders->getAll())); 22 | } 23 | 24 | public function testCanFindAGenderByTerm() 25 | { 26 | $genders = new \Gins\Genders(); 27 | $term = 'Male'; 28 | 29 | $male = $genders->findOrFailByTerm($term); 30 | $this->assertSame($male->getTerm(), $term); 31 | } 32 | 33 | public function testCanFindAGenderByValue() 34 | { 35 | $genders = new \Gins\Genders(); 36 | $value = 'm'; 37 | 38 | $male = $genders->findOrFailByValue($value); 39 | $this->assertSame($male->getValue(), $value); 40 | } 41 | 42 | /** 43 | * @expectedException \Gins\Exceptions\GenderNotRegistered 44 | */ 45 | public function testCantFindAGenderByTerm() 46 | { 47 | $genders = new \Gins\Genders(); 48 | $term = 'Cup'; 49 | 50 | $gender = $genders->findOrFailByTerm($term); 51 | $this->assertSame($gender->getTerm(), $term); 52 | } 53 | 54 | /** 55 | * @expectedException \Gins\Exceptions\GenderNotRegistered 56 | */ 57 | public function testCantFindAGenderByValue() 58 | { 59 | $genders = new \Gins\Genders(); 60 | $value = '?'; 61 | 62 | $gender = $genders->findOrFailByValue($value); 63 | $this->assertSame($gender->getValue(), $value); 64 | } 65 | 66 | public function testCanSetAndGetNouns() 67 | { 68 | $male = new \Gins\Genders\Male(); 69 | $nouns = new \Gins\Pronouns\She(); 70 | 71 | $this->assertSame($male->getNouns()->getNoun(), 'He'); 72 | $male->setNouns($nouns); 73 | $this->assertSame($male->getNouns()->getNoun(), 'She'); 74 | } 75 | } 76 | -------------------------------------------------------------------------------- /tests/Gins/Genders/AgenderTest.php: -------------------------------------------------------------------------------- 1 | assertSame($gender->getValue(), $this->value); 15 | $this->assertSame($gender->getTerm(), $this->term); 16 | $this->assertTrue(is_object($gender->getNouns())); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /tests/Gins/Genders/AndrogyneTest.php: -------------------------------------------------------------------------------- 1 | assertSame($gender->getValue(), $this->value); 15 | $this->assertSame($gender->getTerm(), $this->term); 16 | $this->assertTrue(is_object($gender->getNouns())); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /tests/Gins/Genders/AndrogynousTest.php: -------------------------------------------------------------------------------- 1 | assertSame($gender->getValue(), $this->value); 15 | $this->assertSame($gender->getTerm(), $this->term); 16 | $this->assertTrue(is_object($gender->getNouns())); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /tests/Gins/Genders/BigenderTest.php: -------------------------------------------------------------------------------- 1 | assertSame($gender->getValue(), $this->value); 15 | $this->assertSame($gender->getTerm(), $this->term); 16 | $this->assertTrue(is_object($gender->getNouns())); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /tests/Gins/Genders/FemaleTest.php: -------------------------------------------------------------------------------- 1 | assertSame($gender->getValue(), $this->value); 15 | $this->assertSame($gender->getTerm(), $this->term); 16 | $this->assertTrue(is_object($gender->getNouns())); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /tests/Gins/Genders/GenderFluidTest.php: -------------------------------------------------------------------------------- 1 | assertSame($gender->getValue(), $this->value); 15 | $this->assertSame($gender->getTerm(), $this->term); 16 | $this->assertTrue(is_object($gender->getNouns())); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /tests/Gins/Genders/GenderNonconformingTest.php: -------------------------------------------------------------------------------- 1 | assertSame($gender->getValue(), $this->value); 15 | $this->assertSame($gender->getTerm(), $this->term); 16 | $this->assertTrue(is_object($gender->getNouns())); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /tests/Gins/Genders/GenderQueerTest.php: -------------------------------------------------------------------------------- 1 | assertSame($gender->getValue(), $this->value); 15 | $this->assertSame($gender->getTerm(), $this->term); 16 | $this->assertTrue(is_object($gender->getNouns())); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /tests/Gins/Genders/GenderQuestioningTest.php: -------------------------------------------------------------------------------- 1 | assertSame($gender->getValue(), $this->value); 15 | $this->assertSame($gender->getTerm(), $this->term); 16 | $this->assertTrue(is_object($gender->getNouns())); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /tests/Gins/Genders/IntersexTest.php: -------------------------------------------------------------------------------- 1 | assertSame($gender->getValue(), $this->value); 15 | $this->assertSame($gender->getTerm(), $this->term); 16 | $this->assertTrue(is_object($gender->getNouns())); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /tests/Gins/Genders/MaleTest.php: -------------------------------------------------------------------------------- 1 | assertSame($gender->getValue(), $this->value); 15 | $this->assertSame($gender->getTerm(), $this->term); 16 | $this->assertTrue(is_object($gender->getNouns())); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /tests/Gins/Genders/NeutroisTest.php: -------------------------------------------------------------------------------- 1 | assertSame($gender->getValue(), $this->value); 15 | $this->assertSame($gender->getTerm(), $this->term); 16 | $this->assertTrue(is_object($gender->getNouns())); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /tests/Gins/Genders/NonBinaryTest.php: -------------------------------------------------------------------------------- 1 | assertSame($gender->getValue(), $this->value); 15 | $this->assertSame($gender->getTerm(), $this->term); 16 | $this->assertTrue(is_object($gender->getNouns())); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /tests/Gins/Genders/NoneTest.php: -------------------------------------------------------------------------------- 1 | assertSame($gender->getValue(), $this->value); 15 | $this->assertSame($gender->getTerm(), $this->term); 16 | $this->assertTrue(is_object($gender->getNouns())); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /tests/Gins/Genders/OtherTest.php: -------------------------------------------------------------------------------- 1 | assertSame($gender->getValue(), $this->value); 16 | $this->assertSame($gender->getTerm(), $this->term); 17 | $this->assertTrue(is_object($gender->getNouns())); 18 | } 19 | 20 | public function testAltTerm() 21 | { 22 | $gender = new \Gins\Genders\Other(); 23 | $this->assertSame($gender->getTerm(), $this->term); 24 | $gender->setTerm($this->altterm); 25 | $this->assertSame($gender->getTerm(), $this->altterm); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /tests/Gins/Genders/PangenderTest.php: -------------------------------------------------------------------------------- 1 | assertSame($gender->getValue(), $this->value); 15 | $this->assertSame($gender->getTerm(), $this->term); 16 | $this->assertTrue(is_object($gender->getNouns())); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /tests/Gins/Genders/TransexualTest.php: -------------------------------------------------------------------------------- 1 | assertSame($gender->getValue(), $this->value); 15 | $this->assertSame($gender->getTerm(), $this->term); 16 | $this->assertTrue(is_object($gender->getNouns())); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /tests/Gins/Genders/TransgenderTest.php: -------------------------------------------------------------------------------- 1 | assertSame($gender->getValue(), $this->value); 15 | $this->assertSame($gender->getTerm(), $this->term); 16 | $this->assertTrue(is_object($gender->getNouns())); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /tests/Gins/PronounTest.php: -------------------------------------------------------------------------------- 1 | assertTrue(is_array($pronouns->getAll())); 11 | } 12 | 13 | public function testCanAddAPronoun() 14 | { 15 | $him = new \Gins\Pronouns\He(); 16 | $nouns = new \Gins\Pronouns(); 17 | 18 | $current = count($nouns->getAll()); 19 | $nouns->addNoun($him); 20 | 21 | $this->assertSame($current + 1, count($nouns->getAll())); 22 | } 23 | 24 | public function testCanFindAPronounByValue() 25 | { 26 | $pronouns = new \Gins\Pronouns(); 27 | $value = 'he'; 28 | 29 | $male = $pronouns->findOrFailByValue($value); 30 | $this->assertSame($male->getValue(), $value); 31 | } 32 | 33 | /** 34 | * @expectedException \Gins\Exceptions\PronounNotRegistered 35 | */ 36 | public function testCantFindAPronounByValue() 37 | { 38 | $pronouns = new \Gins\Pronouns(); 39 | $value = 'm'; 40 | 41 | $male = $pronouns->findOrFailByValue($value); 42 | $this->assertSame($male->getValue(), $value); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /tests/Gins/Pronouns/AeTest.php: -------------------------------------------------------------------------------- 1 | assertSame($noun->getValue(), $this->value); 19 | $this->assertSame($noun->getSubject(), $this->subject); 20 | $this->assertSame($noun->getObject(), $this->object); 21 | $this->assertSame($noun->getPossessive(), $this->possessive); 22 | $this->assertSame($noun->getPossessivePlural(), $this->possessive_plural); 23 | $this->assertSame($noun->getReflective(), $this->reflective); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /tests/Gins/Pronouns/EyTest.php: -------------------------------------------------------------------------------- 1 | assertSame($noun->getValue(), $this->value); 19 | $this->assertSame($noun->getSubject(), $this->subject); 20 | $this->assertSame($noun->getObject(), $this->object); 21 | $this->assertSame($noun->getPossessive(), $this->possessive); 22 | $this->assertSame($noun->getPossessivePlural(), $this->possessive_plural); 23 | $this->assertSame($noun->getReflective(), $this->reflective); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /tests/Gins/Pronouns/FaeTest.php: -------------------------------------------------------------------------------- 1 | assertSame($noun->getValue(), $this->value); 19 | $this->assertSame($noun->getSubject(), $this->subject); 20 | $this->assertSame($noun->getObject(), $this->object); 21 | $this->assertSame($noun->getPossessive(), $this->possessive); 22 | $this->assertSame($noun->getPossessivePlural(), $this->possessive_plural); 23 | $this->assertSame($noun->getReflective(), $this->reflective); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /tests/Gins/Pronouns/HeTest.php: -------------------------------------------------------------------------------- 1 | assertSame($noun->getValue(), $this->value); 19 | $this->assertSame($noun->getSubject(), $this->subject); 20 | $this->assertSame($noun->getObject(), $this->object); 21 | $this->assertSame($noun->getPossessive(), $this->possessive); 22 | $this->assertSame($noun->getPossessivePlural(), $this->possessive_plural); 23 | $this->assertSame($noun->getReflective(), $this->reflective); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /tests/Gins/Pronouns/PerTest.php: -------------------------------------------------------------------------------- 1 | assertSame($noun->getValue(), $this->value); 19 | $this->assertSame($noun->getSubject(), $this->subject); 20 | $this->assertSame($noun->getObject(), $this->object); 21 | $this->assertSame($noun->getPossessive(), $this->possessive); 22 | $this->assertSame($noun->getPossessivePlural(), $this->possessive_plural); 23 | $this->assertSame($noun->getReflective(), $this->reflective); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /tests/Gins/Pronouns/SheTest.php: -------------------------------------------------------------------------------- 1 | assertSame($noun->getValue(), $this->value); 19 | $this->assertSame($noun->getSubject(), $this->subject); 20 | $this->assertSame($noun->getObject(), $this->object); 21 | $this->assertSame($noun->getPossessive(), $this->possessive); 22 | $this->assertSame($noun->getPossessivePlural(), $this->possessive_plural); 23 | $this->assertSame($noun->getReflective(), $this->reflective); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /tests/Gins/Pronouns/TheyTest.php: -------------------------------------------------------------------------------- 1 | assertSame($noun->getValue(), $this->value); 19 | $this->assertSame($noun->getSubject(), $this->subject); 20 | $this->assertSame($noun->getObject(), $this->object); 21 | $this->assertSame($noun->getPossessive(), $this->possessive); 22 | $this->assertSame($noun->getPossessivePlural(), $this->possessive_plural); 23 | $this->assertSame($noun->getReflective(), $this->reflective); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /tests/Gins/Pronouns/VeTest.php: -------------------------------------------------------------------------------- 1 | assertSame($noun->getValue(), $this->value); 19 | $this->assertSame($noun->getSubject(), $this->subject); 20 | $this->assertSame($noun->getObject(), $this->object); 21 | $this->assertSame($noun->getPossessive(), $this->possessive); 22 | $this->assertSame($noun->getPossessivePlural(), $this->possessive_plural); 23 | $this->assertSame($noun->getReflective(), $this->reflective); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /tests/Gins/Pronouns/XTest.php: -------------------------------------------------------------------------------- 1 | assertSame($noun->getValue(), $this->value); 19 | $this->assertSame($noun->getSubject(), $this->subject); 20 | $this->assertSame($noun->getObject(), $this->object); 21 | $this->assertSame($noun->getPossessive(), $this->possessive); 22 | $this->assertSame($noun->getPossessivePlural(), $this->possessive_plural); 23 | $this->assertSame($noun->getReflective(), $this->reflective); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /tests/Gins/Pronouns/XeTest.php: -------------------------------------------------------------------------------- 1 | assertSame($noun->getValue(), $this->value); 19 | $this->assertSame($noun->getSubject(), $this->subject); 20 | $this->assertSame($noun->getObject(), $this->object); 21 | $this->assertSame($noun->getPossessive(), $this->possessive); 22 | $this->assertSame($noun->getPossessivePlural(), $this->possessive_plural); 23 | $this->assertSame($noun->getReflective(), $this->reflective); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /tests/Gins/Pronouns/ZeTest.php: -------------------------------------------------------------------------------- 1 | assertSame($noun->getValue(), $this->value); 19 | $this->assertSame($noun->getSubject(), $this->subject); 20 | $this->assertSame($noun->getObject(), $this->object); 21 | $this->assertSame($noun->getPossessive(), $this->possessive); 22 | $this->assertSame($noun->getPossessivePlural(), $this->possessive_plural); 23 | $this->assertSame($noun->getReflective(), $this->reflective); 24 | } 25 | } 26 | --------------------------------------------------------------------------------