1<?php
2
3namespace CaseHelper\Test\Unit\CaseHelper;
4
5use CaseHelper\CaseHelperFactory;
6
7
8/**
9 * Tests all conversions with input of type camelCase.
10 */
11class CamelCaseInputTest extends TestCase {
12
13    public function setUp() {
14        $this->caseHelper = CaseHelperFactory
15                ::make(CaseHelperFactory::INPUT_TYPE_CAMEL_CASE);
16    }
17
18    public function testItConvertsCamelCaseToCamelCase() {
19
20        $this->assertCaseHelperConvertsCasesCorrectly('toCamelCase', array(
21            'myCamelCase' => 'myCamelCase',
22            'otherStuffInCamelCase' => 'otherStuffInCamelCase',
23            'watEva' => 'watEva'
24        ));
25    }
26
27    public function testItConvertsCamelCaseToSpaceCase() {
28
29        $this->assertCaseHelperConvertsCasesCorrectly('toSpaceCase', array(
30            'someCamelCasedStr' => 'some camel cased str',
31            '1Is4Real2' => '1 is 4 real 2',
32            'alrightThen' => 'alright then'
33        ));
34    }
35
36    public function testItConvertsCamelCaseToPascalCase() {
37
38        $this->assertCaseHelperConvertsCasesCorrectly('toPascalCase', array(
39            'mySuperCoolTest' => 'MySuperCoolTest',
40            'iAmSoUnsureOfMyCase' => 'IAmSoUnsureOfMyCase'
41        ));
42    }
43
44    public function testItConvertsCamelCaseToKebabCase() {
45
46        $this->assertCaseHelperConvertsCasesCorrectly('toKebabCase', array(
47            'ohItsCool' => 'oh-its-cool',
48            'letMeTryAnotherOneOk?' => 'let-me-try-another-one-ok?',
49            'kebabMe' => 'kebab-me'
50        ));
51    }
52
53    public function testItConvertsCamelCaseToTrainCase() {
54
55        $this->assertCaseHelperConvertsCasesCorrectly('toTrainCase', array(
56            'someCamelStuff' => 'Some-Camel-Stuff',
57            'whatchaGonnaDo?' => 'Whatcha-Gonna-Do?',
58            'iHaveNoIdeaWhatImDoing12' => 'I-Have-No-Idea-What-Im-Doing-1-2'
59        ));
60    }
61
62    public function testItConvertsCamelCaseToSnakeCase() {
63
64        $this->assertCaseHelperConvertsCasesCorrectly('toSnakeCase', array(
65            'itsRainingBeCareful' => 'its_raining_be_careful',
66            'iWillThinkAboutItOk?' => 'i_will_think_about_it_ok?',
67            'snakeMe' => 'snake_me',
68            'withNumber9' => 'with_number_9'
69        ));
70    }
71
72    public function testItConvertsCamelCaseToScreamingSnakeCase() {
73        $this->assertCaseHelperConvertsCasesCorrectly('toScreamingSnakeCase', array(
74            'someCamelCaseAsUsual' => 'SOME_CAMEL_CASE_AS_USUAL',
75            'ohHiCaptainCapslock' => 'OH_HI_CAPTAIN_CAPSLOCK',
76            '4You' => '4_YOU'
77        ));
78    }
79}
80