Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Unit Test expecting 57, 123; code review

Abierto
#10 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
35/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
cpp
Área
testing

Línea de trabajo

Comienza con antlr4cpp/antlr/test/test_interval_set.cpp y el método test_mixed_ranges_and_elements(). Compara su cadena de intervalo esperada con la implementación de Java mostrada y ejecuta la prueba unitaria de C++ relevante. Se considera terminado cuando la expectativa de la prueba o el comportamiento del intervalo se hayan confirmado y estén alineados con la semántica prevista de rangos inclusivos.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Hello,

Inspiring on C ++ test for my unit tests in C, I noticed an error in the expecting result. Maybe the +1 has no effect?

In https://github.com/antlr/antlr4-cpp/blob/master/antlr4cpp/antlr/test/test_interval_set.cpp

        void test_mixed_ranges_and_elements()
        {
            interval_set s;
            s.insert(1);
            s.insert(std::make_pair(L'a',L'z'+1));
            s.insert(std::make_pair(L'0',L'9'+1));
            std::wstring expecting = L"{1, 48..57, 97..122}";
        }

by comparison with Java implementation

        IntervalSet interval_set = new IntervalSet();
        interval_set.add(1);
        interval_set.add('a', 'z'+1);
        interval_set.add('0', '9'+1);
        String str = interval_set.toString();
        String expecting = "{1, 48..58, 97..123}";

PS:
C ++ operator overloading is friendly

    interval_set s;
    s << 1;// s+1 is ambigus
    s << interval('a', 'z'+1);
    s &= interval('0', '9'+1);
    s |= interval('0', '9'+1);

    std::cout << s << std::endl;
Lenguaje dominante
C++
Estrellas
80
Forks
33
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de antlr/antlr4-cpp

Todos los issues de antlr/antlr4-cpp

Issues similares

Más issues de C++

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.