summaryrefslogtreecommitdiff
path: root/src/test/java/org/zwobble/hobgoblin/compiler/util/CasingTests.java
blob: 69414e9dee996c85b7e06773ee0f6e1569977894 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
package org.zwobble.hobgoblin.compiler.util;

import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.CsvSource;

import static org.zwobble.precisely.AssertThat.assertThat;
import static org.zwobble.precisely.Matchers.equalTo;

public class CasingTests {
    @Test
    public void lowerCamelCaseToUpperCamelCase() {
        var result = Casing.lowerCamelCaseToUpperCamelCase("abcDef");

        assertThat(result, equalTo("AbcDef"));
    }

    @Test
    public void upperCamelCaseToLowerCamelCase() {
        var result = Casing.upperCamelCaseToLowerCamelCase("AbcDef");

        assertThat(result, equalTo("abcDef"));
    }

    @ParameterizedTest
    @CsvSource({
        "a,A",
        "abc,ABC",
        "abcDef,ABC_DEF",
        "abDeFg,AB_DE_FG",
        "a0,A_0",
        "a123,A_123",
    })
    public void lowerCamelCaseToUpperCase(String lowerCamelCase, String expectedUpperCase) {
        var result = Casing.lowerCamelCaseToUpperCase(lowerCamelCase);

        assertThat(result, equalTo(expectedUpperCase));
    }

    @ParameterizedTest
    @CsvSource({
        "a,a",
        "abc,abc",
        "abcDef,abc_def",
        "abDeFg,ab_de_fg",
        "a0,a_0",
        "a123,a_123",
    })
    public void lowerCamelCaseToSnakeCase(String lowerCamelCase, String expectedUpperCase) {
        var result = Casing.lowerCamelCaseToSnakeCase(lowerCamelCase);

        assertThat(result, equalTo(expectedUpperCase));
    }

    @ParameterizedTest
    @CsvSource({
        "A,a",
        "Abc,abc",
        "AbcDef,abc_def",
        "AbDeFg,ab_de_fg",
        "A0,a_0",
        "A123,a_123",
    })
    public void upperCamelCaseToSnakeCase(String lowerCamelCase, String expectedUpperCase) {
        var result = Casing.upperCamelCaseToSnakeCase(lowerCamelCase);

        assertThat(result, equalTo(expectedUpperCase));
    }
}