<commit_before>package ru.yandex.qatools.allure.aspects;

import org.junit.Test;

import java.util.Arrays;

import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.CoreMatchers.*;
import static ru.yandex.qatools.allure.aspects.AllureAspectUtils.getTitle;

/**
 * User: hrundelb
 * Date: 28.02.14
 * Time: 16:51
 */
public class AllureAspectUtilsTest {

    String namePattern = "{method} (first arg:{0}, second arg:{1})";
    String methodName = "getSomethingNew";

    @Test
    public void getTitleWithStringArray(){
        String[] firstArg = {"one string", "two string", "three string"};
        int secondArg = 2454575;
        String title = getTitle(namePattern, methodName, new Object[]{firstArg, secondArg});
        assertThat("Название метода с массивом строк сформировано неверно", title,
                equalTo("getSomethingNew (first arg:[one string, two string, three string], second arg:2 454 575)"));
    }

    @Test
    public void getTitleWithLongArray(){
        long[] firstArg = {20000L, 464564L, 8798765465465465132L};
        Integer secondArg = 1546825;
        String title = getTitle(namePattern, methodName, new Object[]{firstArg, secondArg});
        assertThat("Название метода с массивом длинных целых чисел сформировано неверно", title,
                equalTo("getSomethingNew (first arg:[20000, 464564, 8798765465465465132], second arg:1 546 825)"));
    }

    @Test
    public void getTitleWithIntArray(){
        int[] firstArg = {1, 2, 3};
        Boolean secondArg = true;
        String title = getTitle(namePattern, methodName, new Object[]{firstArg, secondArg});
        assertThat("Название метода с массивом целых чисел сформировано неверно", title,
                equalTo("getSomethingNew (first arg:[1, 2, 3], second arg:true)"));
    }

    @Test
    public void getTitleWithShortArray(){
        short[] firstArg = {32767, 0, -32768};
        String secondArg = "aaabbbbccdddd";
        String title = getTitle(namePattern, methodName, new Object[]{firstArg, secondArg});
        assertThat("Название метода с массивом коротких целых чисел сформировано неверно", title,
                equalTo("getSomethingNew (first arg:[32767, 0, -32768], second arg:aaabbbbccdddd)"));
    }

    @Test
    public void getTitleWithCharArray(){
        char[] firstArg = {'a', 'b', 'z'};
        double secondArg = 25.546548946;
        String title = getTitle(namePattern, methodName, new Object[]{firstArg, secondArg});
        assertThat("Название метода с массивом символов сформировано неверно", title,
                equalTo("getSomethingNew (first arg:[a, b, z], second arg:25,547)"));
    }

    @Test
    public void getTitleWithByteArray(){
        byte[] firstArg = {1, 127, -128};
        char secondArg = 'x';
        String title = getTitle(namePattern, methodName, new Object[]{firstArg, secondArg});
        assertThat("Название метода с массивом байтов сформировано неверно", title,
                equalTo("getSomethingNew (first arg:[1, 127, -128], second arg:x)"));
    }

    @Test
    public void getTitleWithBooleanArray(){
        boolean[] firstArg = {true, false, false};
        float secondArg = 0.00005F;
        String title = getTitle(namePattern, methodName, new Object[]{firstArg, secondArg});
        assertThat("Название метода с массивом логических переменных сформировано неверно", title,
                equalTo("getSomethingNew (first arg:[true, false, false], second arg:0)"));
    }

    @Test
    public void getTitleWithFloatArray(){
        float[] firstArg = {0.1F, 1.002F, 6.45F};
        byte secondArg = 127;
        String title = getTitle(namePattern, methodName, new Object[]{firstArg, secondArg});
        assertThat("Название метода с массивом чисел с плавающей запятой сформировано неверно", title,
                equalTo("getSomethingNew (first arg:[0.1, 1.002, 6.45], second arg:127)"));
    }

    @Test
    public void getTitleWithDoubleArray(){
        double[] firstArg = {4.0000006, 0.4, 6.0};
        short secondArg = -5462;
        String title = getTitle(namePattern, methodName, new Object[]{firstArg, secondArg});
        assertThat("Название метода с массивом чисел с плавающей запятой двойной точности сформировано неверно", title,
                equalTo("getSomethingNew (first arg:[4.0000006, 0.4, 6.0], second arg:-5 462)"));
    }

    @Test
    public void getTitleWithoutArray() {
        double firstArg = 0.00000001;
        String secondArg = "second arg";
        String title = getTitle(namePattern, methodName, new Object[]{firstArg, secondArg});
        assertThat("Название метода без массивов сформировано неверно", title,
                equalTo("getSomethingNew (first arg:0, second arg:second arg)"));
    }

    @Test
    public void getTitleWithEmptyArray() {
        String[] firstArg = new String[0];
        long secondArg = 1000000000000L;
        String title = getTitle(namePattern, methodName, new Object[]{firstArg, secondArg});
        assertThat("Название метода с пустым массивом сформировано неверно", title,
                equalTo("getSomethingNew (first arg:[], second arg:1 000 000 000 000)"));
    }
}<commit_msg>fix - Getting Object[] args and using MessageFormat instead of string consts<commit_after>package ru.yandex.qatools.allure.aspects;

import org.junit.Test;

import java.text.MessageFormat;
import java.util.Arrays;

import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.CoreMatchers.*;
import static ru.yandex.qatools.allure.aspects.AllureAspectUtils.getTitle;

/**
 * User: hrundelb
 * Date: 28.02.14
 * Time: 16:51
 */
public class AllureAspectUtilsTest {

    String namePattern = "{method} (first arg:{0}, second arg:{1})";
    String methodName = "getSomethingNew";
    String titleString = "{0} (first arg:{1}, second arg:{2})";

    @Test
    public void getTitleWithStringArray(){
        String[] firstArg = {"one string", "two string", "three string"};
        int secondArg = 2454575;
        String title = getTitle(namePattern, methodName, new Object[]{firstArg, secondArg});
        Object[] args = { methodName, Arrays.toString(firstArg), secondArg};
        assertThat("Название метода с массивом строк сформировано неверно", title,
                equalTo(MessageFormat.format(titleString, args)));
    }

    @Test
    public void getTitleWithLongArray(){
        long[] firstArg = {20000L, 464564L, 8798765465465465132L};
        Integer secondArg = 1546825;
        String title = getTitle(namePattern, methodName, new Object[]{firstArg, secondArg});
        Object[] args = { methodName, Arrays.toString(firstArg), secondArg};
        assertThat("Название метода с массивом длинных целых чисел сформировано неверно", title,
                equalTo(MessageFormat.format(titleString, args)));
    }

    @Test
    public void getTitleWithIntArray(){
        int[] firstArg = {1, 2, 3};
        Boolean secondArg = true;
        String title = getTitle(namePattern, methodName, new Object[]{firstArg, secondArg});
        Object[] args = { methodName, Arrays.toString(firstArg), secondArg};
        assertThat("Название метода с массивом целых чисел сформировано неверно", title,
                equalTo(MessageFormat.format(titleString, args)));
    }

    @Test
    public void getTitleWithShortArray(){
        short[] firstArg = {32767, 0, -32768};
        String secondArg = "aaabbbbccdddd";
        String title = getTitle(namePattern, methodName, new Object[]{firstArg, secondArg});
        Object[] args = { methodName, Arrays.toString(firstArg), secondArg};
        assertThat("Название метода с массивом коротких целых чисел сформировано неверно", title,
                equalTo(MessageFormat.format(titleString, args)));
    }

    @Test
    public void getTitleWithCharArray(){
        char[] firstArg = {'a', 'b', 'z'};
        double secondArg = 25.546548946;
        String title = getTitle(namePattern, methodName, new Object[]{firstArg, secondArg});
        Object[] args = { methodName, Arrays.toString(firstArg), secondArg};
        assertThat("Название метода с массивом символов сформировано неверно", title,
                equalTo(MessageFormat.format(titleString, args)));
    }

    @Test
    public void getTitleWithByteArray(){
        byte[] firstArg = {1, 127, -128};
        char secondArg = 'x';
        String title = getTitle(namePattern, methodName, new Object[]{firstArg, secondArg});
        Object[] args = { methodName, Arrays.toString(firstArg), secondArg};
        assertThat("Название метода с массивом байтов сформировано неверно", title,
                equalTo(MessageFormat.format(titleString, args)));
    }

    @Test
    public void getTitleWithBooleanArray(){
        boolean[] firstArg = {true, false, false};
        float secondArg = 0.00005F;
        String title = getTitle(namePattern, methodName, new Object[]{firstArg, secondArg});
        Object[] args = { methodName, Arrays.toString(firstArg), secondArg};
        assertThat("Название метода с массивом логических переменных сформировано неверно", title,
                equalTo(MessageFormat.format(titleString, args)));
    }

    @Test
    public void getTitleWithFloatArray(){
        float[] firstArg = {0.1F, 1.002F, 6.45F};
        byte secondArg = 127;
        String title = getTitle(namePattern, methodName, new Object[]{firstArg, secondArg});
        Object[] args = { methodName, Arrays.toString(firstArg), secondArg};
        assertThat("Название метода с массивом чисел с плавающей запятой сформировано неверно", title,
                equalTo(MessageFormat.format(titleString, args)));
    }

    @Test
    public void getTitleWithDoubleArray(){
        double[] firstArg = {4.0000006, 0.4, 6.0};
        short secondArg = -5462;
        String title = getTitle(namePattern, methodName, new Object[]{firstArg, secondArg});
        Object[] args = { methodName, Arrays.toString(firstArg), secondArg};
        assertThat("Название метода с массивом чисел с плавающей запятой двойной точности сформировано неверно", title,
                equalTo(MessageFormat.format(titleString, args)));
    }

    @Test
    public void getTitleWithoutArray() {
        double firstArg = 0.00000001;
        String secondArg = "second arg";
        String title = getTitle(namePattern, methodName, new Object[]{firstArg, secondArg});
        Object[] args = { methodName, firstArg, secondArg};
        assertThat("Название метода без массивов сформировано неверно", title,
                equalTo(MessageFormat.format("{0} (first arg:{1}, second arg:{2})", args)));
    }

    @Test
    public void getTitleWithEmptyArray() {
        String[] firstArg = new String[0];
        long secondArg = 1000000000000L;
        String title = getTitle(namePattern, methodName, new Object[]{firstArg, secondArg});
        Object[] args = { methodName, Arrays.toString(firstArg), secondArg};
        assertThat("Название метода с пустым массивом сформировано неверно", title,
                equalTo(MessageFormat.format(titleString, args)));
    }
}
{'fraction_non_alphanumeric': 0.1142521676300578, 'fraction_numerical': 0.036940028901734104, 'mean_word_length': 3.28853601859024, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 4, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7156269', 'n_tokens_mistral': 3617, 'n_tokens_neox': 3480, 'n_words': 876}