Autofixture: Заполнить отсортированные списки

Созданный на 18 мая 2016  ·  7Комментарии  ·  Источник: AutoFixture/AutoFixture

Когда вы запрашиваете у AutoFixture словарь, он предоставляет непустое значение:

`` С #
var fixture = new Fixture ();
var actual = fixture.Create> ();
Assert.NotEmpty (актуально); // Успешно

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

Поскольку AutoFixture уже может предоставлять непустые словари, а одна из перегрузок конструктора для SortedList<TKey, TValue> принимает словарь, должно быть довольно легко добавить _relay_ из SortedList<TKey, TValue> в IDictionary<TKey, TValue> .

Реализацией может быть, например, новый ISpecimenBuilder который обрабатывает запросы для любых SortedList<TKey, TValue> , разрешая IDictionary<TKey, TValue> из context , а затем вызывая соответствующую перегрузку конструктора с возвращаемое значение.

Другой вариант реализации - имитировать то, как конкретные словари уже заполнены. См. Комбинацию DictionaryFiller и DictionarySpecification в классе Fixture .

enhancement good first issue

Самый полезный комментарий

@sbrockway объявляет, что вы собираетесь попробовать, должно быть достаточно, назначение не требуется: +1:

Все 7 Комментарий

Эта проблема была вызвана вопросом о переполнении стека .

См. Также № 623 и № 624.

@ploeh Я хотел бы

@sbrockway объявляет, что вы собираетесь попробовать, должно быть достаточно, назначение не требуется: +1:

@sbrockway , @adamchester прав: обычно достаточно сделать объявление. AutoFixture - это умеренно успешный проект с открытым исходным кодом, поэтому он видит постоянный поток вкладов, но я не думаю, что когда-либо видел случай, когда несколько участников соревнуются за выполнение одной и той же функции: smile:

Другие, более популярные проекты могут действовать иначе, поэтому вы поступили правильно, спросив: +1:

Если вам в чем-то нужна помощь, спросите: smile:

Мне сложно научиться пользоваться GitHub. Приносим извинения за запрос на перенос вчера, я пытался перестроить свою вилку, и он не угадал, в каком направлении двигался запрос на перенос. Я разобрался и обновил репо.
Я застрял в том, как откатить / отменить мою последнюю фиксацию в моем репо, чтобы я мог вернуть файл, который я удалил, чтобы пойти по маршруту, который вы предложили. Если у вас есть какие-либо указания по этому поводу, это было бы полезно.

Я не знаю, как выглядит ваше репо. Хотя я мог взглянуть на вашу вилку, я не видел, как она выглядит на вашем локальном компьютере, поэтому мне сложно дать конкретный совет.

Часто с Git, если вы безнадежно заблудились, самый простой выход - начать все сначала с новой ветки. Это гарантирует, что исходная ветвь останется нетронутой. Это важно, потому что я часто слышу, что люди делают с Git, что в отчаянии они пытаются выполнить команду, которую не полностью понимают, а затем в конечном итоге удаляют свою работу - навсегда!

Лучший совет, который я могу дать относительно Git, - не торопитесь и делайте только то, что вы полностью понимаете. В тех редких случаях, когда вы хотите попробовать что-то, чего не совсем понимаете, по крайней мере, сделайте себе одолжение и создайте копию своего репозитория в другом месте. Прелесть Git в том, что он полностью основан на файлах, поэтому (временная) «резервная копия» может быть такой же простой, как копирование папки репозитория на ваш рабочий стол.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги

Смежные вопросы

mjfreelancing picture mjfreelancing  ·  4Комментарии

zvirja picture zvirja  ·  8Комментарии

Accc99 picture Accc99  ·  4Комментарии

Ephasme picture Ephasme  ·  3Комментарии

tomasaschan picture tomasaschan  ·  3Комментарии