Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

700
Vistas
¿Autofixture.Create<int> puede devolver un valor negativo?

En realidad, el siguiente método siempre devuelve un número entero positivo:

 var fixture = new Fixture(); var someInt = fixture.Create<int>();

¿Es posible que algún día la función evolucione y comience a devolver un número entero negativo? ¿O hay una razón oficial por la que en realidad devuelve un número entero siempre positivo?
Si no, ¿hay alguna documentación escondida en algún lugar que lo diga?

Para seguir usando autofixture, me gustaría saber si se prevén cambios.

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

El autor de Autofixture habla de esto en su blog . Esta publicación especifica que la implementación actual siempre devolverá números positivos ya que se consideran "más seguros" en general, por lo que no creo que esto cambie en el futuro cercano.

El objetivo de AutoFixture es generar datos de prueba anónimos. Estás pidiendo un número entero que puede ser un número negativo. Para estar 100% seguro, no confiaría en la suposición implícita de que todas las implementaciones futuras solo devuelven números positivos. Puede hacer esto más explícito proporcionando un SpecimenBuilder personalizado:

fixture.Customizations.Add(new PositiveIntegerBuilder());

Puede encontrar más información sobre los constructores de especímenes personalizados aquí .

over 4 years ago · Santiago Trujillo Denunciar

0

Como señala el usuario prgmtc , una opción es a través de un ISpecimenBuilder personalizado.

Otra opción es proporcionar un rango personalizado, mediante el uso de la clase RandomNumericSequenceGenerator incorporada, como se muestra a continuación:

 [Fact] public void FixtureCreatesNegativeNumbers() { var fixture = new Fixture(); fixture.Customizations.Add( new RandomNumericSequenceGenerator(-900, -100)); var i = fixture.Create<int>(); // Prints -> -711 var l = fixture.Create<long>(); // Prints -> 618 var f = fixture.Create<float>(); // Prints -> -78.0 }
over 4 years ago · Santiago Trujillo Denunciar

0

var i = fixture.Create<uint>();

Solo si el código original que se está probando esperaba un parámetro de tipo uint.

¿ var i = Math.Abs(fixture.Create<int>()) para usted?

Para responder a la pregunta original

  • int por definición puede ser negativo.
  • fixture.Create, por definición, no debería devolver int negativo.

Asumiría que los autores de AutoFixture no cambiarán algo tan crucial tan a la ligera. Yo usaría fixture.Create<int>

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda