Autofixture: Preencher listas classificadas

Criado em 18 mai. 2016  ·  7Comentários  ·  Fonte: AutoFixture/AutoFixture

Quando você pede um dicionário à AutoFixação, ele fornece um valor não vazio:

`` `C #
var fixture = new Fixture ();
var actual = fixture.Create> ();
Assert.NotEmpty (real); // Sucede

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

Como a AutoFixtura já pode fornecer dicionários não vazios e uma das sobrecargas do construtor para SortedList<TKey, TValue> pega um dicionário, deve ser bastante fácil adicionar um _relay_ de SortedList<TKey, TValue> a IDictionary<TKey, TValue> .

A implementação poderia ser, por exemplo, um novo ISpecimenBuilder que lida com solicitações para qualquer SortedList<TKey, TValue> resolvendo IDictionary<TKey, TValue> de context e, em seguida, invocando a sobrecarga de construtor apropriada com o valor retornado.

Outra opção de implementação é imitar a maneira como os dicionários concretos já estão preenchidos. Veja a combinação de DictionaryFiller e DictionarySpecification na classe Fixture .

enhancement good first issue

Comentários muito úteis

@sbrockway anunciando que você vai tentar deve ser o suficiente, atribuir não deve ser necessário: +1:

Todos 7 comentários

Este problema foi causado por esta questão Stack Overflow .

Consulte também # 623 e # 624.

@ploeh , gostaria de tentar implementar isso. Eu sou um novato no git. Eu fiz bifurcação e coloquei no VS localmente. Presumo que envio uma solicitação pull quando estiver pronto. Você atribui o problema a mim ou não é necessário? Não vejo uma maneira de atribuí-lo a mim mesmo.

@sbrockway anunciando que você vai tentar deve ser o suficiente, atribuir não deve ser necessário: +1:

@sbrockway , @adamchester está certo: fazer o anúncio geralmente é o suficiente. AutoFixture é um projeto de código aberto moderadamente bem-sucedido, portanto, ele vê um fluxo constante de contribuições, mas acho que nunca vi um caso em que vários contribuidores competissem para fazer o mesmo recurso: sorria:

Outros projetos mais populares podem fazer as coisas de maneira diferente, então você fez a coisa certa perguntando: +1:

Se precisar de ajuda com alguma coisa, pergunte: sorria:

Estou tendo problemas para aprender a usar o GitHub. Desculpas pela solicitação de pull ontem, eu estava tentando refazer meu garfo e ele adivinhou em qual direção a solicitação de pull estava se movendo. Eu descobri e mantive meu repo atualizado.
Estou preso em como reverter / reverter meu último commit no meu repo para que eu possa recuperar o arquivo que excluí e seguir o caminho que você sugeriu. Se você tiver alguma indicação sobre isso, seria útil.

Não sei como é o seu repo. Embora eu possa olhar para o seu garfo, não consigo ver o que parece na sua máquina local, por isso é difícil para mim oferecer conselhos concretos.

Freqüentemente, com o Git, se você está desesperadamente perdido, a maneira mais fácil de sair pode ser recomeçar com um novo branch. Isso garante que o ramo original permaneça intacto. Isso é importante porque o que sempre ouço que as pessoas fazem com o Git é que, em desespero, elas tentam executar um comando que não entendem totalmente e acabam excluindo seu trabalho - para sempre!

O melhor conselho que posso dar em relação ao Git é levar o seu tempo e apenas fazer coisas que você entende completamente. Nos raros casos em que você gostaria de tentar algo que não entende totalmente, pelo menos faça o favor de criar uma cópia de seu repositório em outro lugar. A beleza do Git é que ele é totalmente baseado em arquivos, então um 'backup' (temporário) pode ser tão simples quanto copiar a pasta do repositório para a sua área de trabalho.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

josh-degraw picture josh-degraw  ·  4Comentários

Eldar1205 picture Eldar1205  ·  5Comentários

zvirja picture zvirja  ·  4Comentários

ploeh picture ploeh  ·  3Comentários

DeafLight picture DeafLight  ·  5Comentários