Autofixture: Llenar listas ordenadas

Creado en 18 may. 2016  ·  7Comentarios  ·  Fuente: AutoFixture/AutoFixture

Cuando le pide a AutoFixture un diccionario, proporciona un valor no vacío:

`` C #
var fixture = new Fixture ();
var actual = accesorio.Crear> ();
Assert.NotEmpty (actual); // Tiene éxito

When you request a sorted list, on the other hand, the returned list is empty. This test fails its assertion:

``` C#
var fixture = new Fixture();
var actual = fixture.Create<SortedList<int, string>>();
Assert.NotEmpty(actual); // Fails

Dado que AutoFixture ya puede suministrar diccionarios no vacíos, y uno de los constructores se sobrecarga para SortedList<TKey, TValue> toma un diccionario, debería ser bastante fácil agregar un _relay_ desde SortedList<TKey, TValue> a IDictionary<TKey, TValue> .

La implementación podría ser, por ejemplo, un nuevo ISpecimenBuilder que maneja solicitudes para cualquier SortedList<TKey, TValue> resolviendo IDictionary<TKey, TValue> del context , y luego invocando la sobrecarga del constructor apropiada con el valor devuelto.

Otra opción de implementación es imitar la forma en que los diccionarios concretos ya están llenos. Vea la combinación de DictionaryFiller y DictionarySpecification en la clase Fixture .

enhancement good first issue

Comentario más útil

@sbrockway anunciando que vas a

Todos 7 comentarios

Este problema fue provocado por esta pregunta de Stack Overflow .

Vea también # 623 y # 624.

@ploeh Me gustaría

@sbrockway anunciando que vas a

@sbrockway , @adamchester tiene razón: hacer el anuncio suele ser suficiente. AutoFixture es un proyecto de código abierto moderadamente exitoso, por lo que ve un goteo constante de contribuciones, pero no creo que haya visto un caso en el que varios contribuyentes compitan para hacer la misma función: sonrisa:

Otros proyectos más populares pueden hacer las cosas de manera diferente, por lo que hizo lo correcto al preguntar: +1:

Si necesita ayuda con algo, por favor pregunte: smile:

Tengo problemas para aprender a usar GitHub. Disculpas por la solicitud de extracción de ayer, estaba tratando de volver a basar mi bifurcación y adiviné mal en qué dirección se estaba moviendo la solicitud de extracción. Lo descubrí y actualicé mi repositorio.
Estoy atascado en cómo revertir / revertir mi último compromiso con mi repositorio para poder recuperar el archivo que eliminé para seguir la ruta que sugirió. Si tiene alguna sugerencia al respecto, sería útil.

No sé cómo es su repositorio. Si bien pude mirar su bifurcación, no puedo ver cómo se ve en su máquina local, por lo que es difícil para mí ofrecer consejos concretos.

A menudo, con Git, si está desesperadamente perdido, la salida más fácil podría ser comenzar de nuevo con una nueva rama. Eso asegura que la rama original permanezca intacta. Esto es importante, porque lo que a menudo escucho que la gente hace con Git es que, desesperados, intentan ejecutar un comando que no comprenden completamente y luego terminan borrando su trabajo, ¡para siempre!

El mejor consejo que puedo darte con respecto a Git es que te tomes tu tiempo y solo hagas cosas que entiendas completamente. En los raros casos en los que le gustaría intentar algo que no comprende completamente, al menos hágase el favor de crear una copia de su repositorio en otro lugar. La belleza de Git es que está completamente basado en archivos, por lo que una 'copia de seguridad' (temporal) puede ser tan simple como copiar la carpeta del repositorio en su escritorio.

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

JoshKeegan picture JoshKeegan  ·  6Comentarios

gtbuchanan picture gtbuchanan  ·  3Comentarios

tiesmaster picture tiesmaster  ·  7Comentarios

malylemire1 picture malylemire1  ·  7Comentarios

ploeh picture ploeh  ·  3Comentarios