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
.
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.
Comentários muito úteis
@sbrockway anunciando que você vai tentar deve ser o suficiente, atribuir não deve ser necessário: +1: