Code Coverage
 
Classes and Traits
Functions and Methods
Lines
Total
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
2 / 2
CRAP
100.00% covered (success)
100.00%
9 / 9
JobProvider
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
2 / 2
2
100.00% covered (success)
100.00%
9 / 9
 jobTitle
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
8 / 8
 jobAbbreviation
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
1 / 1
<?php
/*
 * This file is part of the Incipio package.
 *
 * (c) Théo FIDRY <theo.fidry@gmail.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */
namespace ApiBundle\DataFixtures\Faker\Provider;
use Faker\Provider\Base as BaseProvider;
/**
 * Faker provider for jobs.
 *
 * @see    ApiBundle\Entity\Job
 *
 * @author Théo FIDRY <theo.fidry@gmail.com>
 */
class JobProvider
{
    /**
     * Sources: {@link http://siliconvalleyjobtitlegenerator.tumblr.com/}.
     *
     * @var array List of job titles.
     */
    private $titleProvider = [
        'firstname' => [
            'Audience Recognition',
            'Big Data',
            'Bitcoin',
            'Brand Experience',
            'Brand Score',
            'Brand Story',
            'Brogramming',
            'Chief Uber',
            'Cloud',
            'Contextual Computing',
            'Culture',
            'Click-Through',
            'Collaboration',
            'Connection',
            'Content',
            'Convergence',
            'Conversation',
            'Crowdfunding',
            'Cryptocurrency',
            'Data',
            'Decentralized Information Asset',
            'DevOps',
            'Digital',
            'Digital Media',
            'Engagement',
            'Emoji',
            'Facebook',
            'Functionality',
            'Human Experience',
            'Idea',
            'In-House Social Media',
            'Information',
            'Innovation',
            'Intelligence',
            'Kickstarter',
            'Longform Engagement',
            'Mobile Intimacy',
            'Mobile Platform',
            'Naked',
            'Online Space',
            'Pinterest',
            'Platform',
            'Principal Digital Imaging',
            'Quantification',
            'Reddit',
            'Scalability',
            'Self-Quantification',
            'Senior Information',
            'Shareability',
            'Social Media',
            'Software',
            'Startup',
            'Strategic Partnership',
            'Tablet',
            'Technology',
            'Thought',
            'Tinder',
            'Trend',
            'Tumblr',
            'Twitter',
            'User Experience',
            'Unique Experience',
            'Video Experience',
            'Wearables',
            'Webinar',
        ],
        'lastname' => [
            'Advocate',
            'Amplifier',
            'Architect',
            'Agitator',
            'Baron',
            'Commander',
            'Conductor',
            'Connector',
            'Consultant',
            'Curator',
            'Custodian',
            'Directress',
            'Disruptor',
            'Disruptionist',
            'Disruptor',
            'Evangelist',
            'Fellow',
            'Futurist',
            'Hacker',
            'Gatekeeper',
            'General',
            'Guardian',
            'Guru',
            'Instigator',
            'Lord',
            'Maestro',
            'Mastermind',
            'Maven',
            'Mentor',
            'Messiah',
            'Minister',
            'Mystic',
            'Nerd',
            'Ninja',
            'Officer',
            'Overlord',
            'Philosopher',
            'Prophet',
            'Pioneer',
            'Proctor',
            'Resident',
            'Revisionist',
            'Sage',
            'Savant',
            'Seer',
            'Sentry',
            'Shaman',
            'Shepherd',
            'Sherpa',
            'Steward',
            'Strategist',
            'Sultan',
            'Superintendent',
            'Svengali',
            'Tinkerer',
            'Translator',
            'Tsar',
            'Visionary',
            'Warden',
            'Warlock',
            'Watchman',
            'Wizard',
        ],
        'fullname' => [
            'Conductor of Datafication',
            'Crowd-Funder-in-Residence',
            'Quantified-Self-in-Residence',
            'Creator of Things',
            'Curator of Datafication',
            'Curator of Brand Stories',
            'Custodian of Datafication',
            'Custodian of the Quantified Self',
            'Custodian of the Twitterverse',
            'Custodian of the Reddit-sphere',
            'Brogrammer-in-Residence',
            'Data-Miner-in-Residence',
            'Digitizer-in-Residence',
            'Disruptor-in-Residence',
            'Early-Adopter-in-Residence',
            'Explainer-in-Residence',
            'Game-Changer-in-Residence',
            'Gamifyer-in-Residence',
            'Geek-in-Residence',
            'Genius-in-Residence',
            'Grand Poobah of Bitcoin',
            'Grand Poobah of Brand Utilization',
            'Grand Poobah of Cryptocurrencies',
            'Grand Poobah of Big Data',
            'Grand Poobah of Digital Media',
            'Grand Poobah of Digital Innovation',
            'Grand Poobah of Disruptive Innovation',
            'Grand Poobah of Functionality',
            'Grand Poobah of Scalability',
            'Grand Poobah of the Online Space',
            'Grand Poobah of Wearables',
            'Grand Poobah of Video Experience',
            'Hacker-in-Chief',
            'High Priest of Bitcoins',
            'High Priest of Cryptocurrencies',
            'High Priest of Brand Utilization',
            'High Priestess of Data',
            'High Priest of Datafication',
            'High Priestess of Digital Media Solutions',
            'High Priest of Digital Innovation',
            'High Priestess of Disruptive Innovation',
            'High Priest of Functionality',
            'High Priestess of the Quantified Self',
            'High Priest of Scalability',
            'High Priest of the Online Space',
            'High Priest of Wearables',
            'High Preist of Video Experience',
            'In-House Cryptocurrency Wizard',
            'In-House Data Miner',
            'In-House Disruptor',
            'In-House Explainer',
            'In-House Game Changer',
            'In-House Gamifyer',
            'In-House Genius',
            'In-House Evangelist',
            'In-House Pioneer',
            'In-House Tech Evangelist',
            'In-House Tech Mastermind',
            'In-House Tech Maven',
            'In-House Tech Mentor',
            'In-House Tech Mystic',
            'In-House Tech Pioneer',
            'In-House Tech Primo',
            'In-House Tech Sage',
            'In-House Tech Shaman',
            'In-House Tech Sherpa',
            'In-House Tech Sultan',
            'In-House Tech Superintendent',
            'In-House Tech Svengali',
            'In-House Tech Wizard',
            'Influencer-in-Residence',
            'Harbinger of Digital Media',
            'Harbinger of Disruptive Innovation',
            'Instagrammer-in-Chief',
            'Instagrammer-in-Residence',
            'Maker of Things',
            'Mastermind-in-Residence',
            'Maven-in-Residence',
            'Mentor-in-Residence',
            'Nerd-in-Residence',
            'Resident Agitator',
            'Resident Brogrammer',
            'Resident Digitizer',
            'Resident Disruptionist',
            'Resident Evangelist',
            'Resident Future-Maker',
            'Resident Gamifyer',
            'Resident Influencer',
            'Resident Mastermind',
            'Resident Nerd',
            'Resident Tech Maven',
            'Resident Tech Mentor',
            'Resident Tech Mystic',
            'Resident Tech Pioneer',
            'Resident Tech Primo',
            'Resident Tech Sage',
            'Resident Tech Shaman',
            'Resident Tech Sherpa',
            'Resident Tech Sultan',
            'Resident Tech Svengali',
            'Resident Tech Wizard',
            'Resident Thought Leader',
            'Pioneer-in-Residence',
            'Snapchatter-in-Residence',
            'Tech-Shaman-in-Residence',
            'Tech-Sherpa-in-Residence',
            'Tech-Sultan-in-Residence',
            'Tech-Svengali-in-Residence',
            'Tech-Wizard-in-Residence',
            'Thought-Leader-in-Residence',
        ],
    ];
    /**
     * Sources: {@link http://sos.uhrs.indiana.edu/Job_Code_Title_Abbreviation_List.htm}.
     *
     * @var array List of job abbreviations.
     */
    private $abbreviationProvider = [
        'ABATE',
        'ACAD',
        'ACCT',
        'ACK',
        'ACQ',
        'ACT',
        'ADMIN',
        'ADMISS',
        'ADVNCD',
        'AIT',
        'ADV',
        'AFF',
        'AA',
        'AIM',
        'ALUM',
        'AMBUL',
        'ADA',
        'ANGIO',
        'ANN',
        'APPL',
        'APPT',
        'APR',
        'A/S',
        'ASBES',
        'ASSESS',
        'ASST',
        'AVC',
        'AVP',
        'AI',
        'ASSOC',
        'ABFE',
        'ASSUR',
        'ATH',
        'ATTD',
        'AV',
        'AUD',
        'ACE/IVR',
        'AUX',
        'BSW',
        'BASBL',
        'BSKTB',
        'BEN',
        'BIOINFO',
        'BTHER',
        'BL',
        'BLDG',
        'BUS',
        'B&E',
        'CAMP',
        'CNCR',
        'CAP',
        'CAM',
        'CLS',
        'CARDIO',
        'CPR',
        'CTLG',
        'CATH',
        'CAV',
        'CTR',
        'CRTN',
        'CHANC',
        'CHEM',
        'CEO',
        'CFO',
        'CHLDHD',
        'CIRC',
        'CL',
        'CLSF',
        'CLRGHOUSE',
        'CLIN',
        'COLL',
        'CPI',
        'CMTE',
        'COMM',
        'CMTY',
        'COMPENS',
        'CMPL',
        'CBC',
        'CADD&',
        'COMP',
        'CONF',
        'CONST',
        'CONS',
        'CONSMR',
        'CONTIN',
        'CME',
        'CONT',
        'COOP',
        'COORD',
        'COUN',
        'CURR',
        'CYCL',
        'CYTO',
        'DFAC',
        'DECIS',
        'DEL',
        'DENT',
        'DEPT',
        'DPND',
        'DSGN',
        'DEVL',
        'DIAG',
        'DIG',
        'DIR',
        'DISAB',
        'DIST',
        'DISTRIB',
        'DIVR',
        'DIV',
        'DOC',
        'DUPL',
        'ECG',
        'EDUC',
        'EDUCR',
        'ELEC',
        'EEG',
        'ELECT',
        'ERA',
        'ELECTROPHYS',
        'ELEM',
        'EMPL',
        'ERCP',
        'ENFORCEMNT',
        'ENG',
        'ES',
        'ENVIRO',
        'EQUIP',
        'ERIC',
        'EVAL',
        'EVEN',
        'EP',
        'EXCEL',
        'EXEC',
        'EXER',
        'EXP',
        'FAC',
        'FACET',
        'FEL',
        'FIN',
        'FMS',
        'FIS',
        'FSER',
        'FOUNDTN',
        'FRSH',
        'FUTR',
        'GI',
        'GEN',
        'GSN',
        'GIS',
        'GENI',
        'GIV',
        'GOVT',
        'GR',
        'GRAD',
        'GRND',
        'GRP',
        'HD',
        'HLTH',
        'HIS',
        'HVAC',
        'HEMA',
        'HS',
        'HORTI',
        'HOSP',
        'HFC',
        'HIV',
        'HR',
        'IMAG',
        'IMMUN',
        'IN',
        'IAI',
        'IPCRES',
        'IU',
        'INDPLS',
        'IAHP',
        'INFEC',
        'IBD',
        'INFO',
        'IO-LINE',
        'IOCM',
        'INIT',
        'INSP',
        'INSTALL',
        'INST',
        'INSTR',
        'IMS',
        'IT',
        'INSTRUMENT',
        'INT',
        'IAVP',
        'INTERLIBR',
        'INTNL',
        'INTRN',
        'INTRREL',
        'INTRM',
        'INV',
        'INVEST',
        'JR',
        'LAB',
        'LANG',
        'LD',
        'LEAD',
        'LRNG',
        'LEC',
        'LAS',
        'LIBR',
        'LIC',
        'LAN',
        'MACH',
        'MRI',
        'MAINT',
        'MMS',
        'MBDC',
        'MAMMO',
        'MGT',
        'MGR',
        'MNGNG',
        'MKTG',
        'MSW',
        'MSMS',
        'MATH',
        'MECH',
        'MED',
        'MERP',
        'MSAA',
        'MEDCN',
        'MEMBER',
        'METH',
        'MICRO',
        'MIN',
        'MOL',
        'MOM',
        'MULTIM',
        'NATL',
        'NIH',
        'NGHBORHD',
        'NEO/PERI',
        'NW',
        'NWBORN',
        'NIC',
        'NGT',
        'NMR',
        'PRN',
        'NRSG',
        'OSCE',
        'OB/GYN',
        'OCCUP',
        'OFF',
        'ONCOL',
        'OPER',
        'OPTOM',
        'ORTHO',
        'OUTPAT',
        'PRNT',
        'P/T',
        'PRTNR',
        'PATH',
        'PAT',
        'PED',
        'PER',
        'PHOTOCOMP',
        'PHOTOGRAPHR',
        'PHYS',
        'PHYSN',
        'PHYSIO',
        'PL',
        'PLAN',
        'POS',
        'POL',
        'PET',
        'PRACT',
        'PRECRTN',
        'PRENA-NATAL',
        'PREP',
        'PRESNT',
        'PRES',
        'PREV',
        'PRIN',
        'PROB',
        'PROC',
        'PRODU',
        'PROD',
        'PROF',
        'PROG',
        'PROJ',
        'PROM',
        'PSYCH',
        'PSYCHOL',
        'PUBL',
        'PDDS',
        'PUR',
        'QUAL',
        'QC',
        'RADIO',
        'REC',
        'RECRE',
        'RECR',
        'REDRC',
        'REFRIG',
        'REG',
        'REGR',
        'REHAB',
        'REIMBURSE',
        'REL',
        'REP',
        'RES',
        'RESNET',
        'RESID',
        'RESO',
        'RESP',
        'SAFE',
        'SCAN',
        'SCHED',
        'SCHL',
        'SCI',
        'SCNDRY',
        'SEC',
        'SECT',
        'SR',
        'SER',
        'SHIP',
        'SHOOT',
        'SBDC',
        'SOC',
        'SEA',
        'SPEC',
        'SPAN',
        'SPECT',
        'S/L',
        'SPON',
        'STF',
        'STATIS',
        'STR',
        'STU',
        'SRSC',
        'STDY',
        'SUPT',
        'SUPR',
        'SUPP',
        'SWIM',
        'SYS',
        'TCHNG',
        'TECH',
        'TECHNOL',
        'TELC',
        'TEMP',
        'THTR',
        'THER',
        'TIS',
        'TOX',
        'TRNE',
        'TRNR',
        'TRNG',
        'TRANSCPT',
        'TRANS',
        'TRNSPLT',
        'TRANSPORT',
        'ULTRA',
        'UG',
        'UNEMPLOY',
        'UNIV',
        'UCET',
        'UMDA',
        'UPA',
        'UTIL',
        'VARS',
        'VCLUB',
        'VC',
        'VP',
        'VIC',
        'WAREHS',
        'WELLNS',
        'WCTR',
        'WSTRN',
        'WKR',
    ];
    /**
     * @return string Random job title.
     */
    public function jobTitle()
    {
        $names = [
            sprintf(
                '%s %s',
                BaseProvider::randomElement($this->titleProvider['firstname']),
                BaseProvider::randomElement($this->titleProvider['lastname'])
            ),
            BaseProvider::randomElement($this->titleProvider['fullname']),
        ];
        return BaseProvider::randomElement($names);
    }
    /**
     * @return string Random job abbreviation title
     */
    public function jobAbbreviation()
    {
        return BaseProvider::randomElement($this->abbreviationProvider);
    }
}