Autofixture: Isi Daftar yang Diurutkan

Dibuat pada 18 Mei 2016  ·  7Komentar  ·  Sumber: AutoFixture/AutoFixture

Saat Anda meminta AutoFixture untuk kamus, itu memberikan nilai yang tidak kosong:

``` C#
var perlengkapan = Perlengkapan baru();
var aktual = perlengkapan.Buat>();
Assert.NotEmpty(aktual); // Berhasil

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

Karena AutoFixture sudah dapat menyediakan kamus yang tidak kosong, dan salah satu kelebihan konstruktor untuk SortedList<TKey, TValue> membutuhkan kamus, seharusnya cukup mudah untuk menambahkan _relay_ dari SortedList<TKey, TValue> ke IDictionary<TKey, TValue> .

Implementasinya misalnya bisa berupa ISpecimenBuilder yang menangani permintaan untuk SortedList<TKey, TValue> dengan menyelesaikan IDictionary<TKey, TValue> dari context , dan kemudian memanggil konstruktor yang sesuai dengan overload nilai yang dikembalikan.

Opsi implementasi lainnya adalah meniru cara kamus konkret sudah diisi. Lihat kombinasi DictionaryFiller dan DictionarySpecification di kelas Fixture .

enhancement good first issue

Komentar yang paling membantu

@sbrockway mengumumkan bahwa Anda akan mencobanya sudah cukup, menugaskan tidak perlu :+1:

Semua 7 komentar

Masalah ini dipicu oleh pertanyaan Stack Overflow ini .

Lihat juga #623 dan #624.

@ploeh Saya ingin mencoba menerapkan ini. Saya seorang pemula untuk git. Saya bercabang dan menjalankannya di VS secara lokal. Saya berasumsi saya mengirim permintaan tarik ketika sudah siap. Apakah Anda menyerahkan masalah itu kepada saya, atau apakah itu tidak perlu? Saya tidak melihat cara untuk menetapkannya untuk diri saya sendiri.

@sbrockway mengumumkan bahwa Anda akan mencobanya sudah cukup, menugaskan tidak perlu :+1:

@sbrockway , @adamchester benar: membuat pengumuman biasanya cukup. AutoFixture adalah proyek open source yang cukup sukses, sehingga terlihat tetesan kontribusi yang stabil, tetapi saya rasa saya belum pernah melihat kasus di mana beberapa kontributor bersaing untuk melakukan fitur yang sama :smile:

Proyek lain yang lebih populer mungkin melakukan hal yang berbeda, jadi Anda melakukan hal yang benar dengan menanyakan :+1:

Jika Anda butuh bantuan dengan sesuatu, silakan bertanya :senyum:

Saya mengalami kesulitan mempelajari cara menggunakan GitHub. Permintaan maaf untuk permintaan tarik kemarin, saya mencoba untuk meletakkan kembali garpu saya dan salah menebak ke arah mana permintaan tarik itu bergerak. Saya menemukan jawabannya dan memperbarui repo saya.
Saya terjebak pada cara mengembalikan/mengembalikan komit terakhir saya ke repo saya sehingga saya bisa mendapatkan kembali file yang saya hapus untuk mengikuti rute yang Anda sarankan. Jika Anda memiliki petunjuk tentang itu, itu akan sangat membantu.

Saya tidak tahu seperti apa repo Anda. Meskipun saya dapat melihat garpu Anda, saya tidak dapat melihat seperti apa tampilannya di mesin lokal Anda, jadi sulit bagi saya untuk memberikan saran yang konkret.

Seringkali, dengan Git, jika Anda benar-benar tersesat, jalan keluar yang paling mudah adalah memulai dari awal dengan cabang baru. Itu memastikan bahwa cabang asli tetap utuh. Ini penting, karena apa yang sering saya dengar yang dilakukan orang dengan Git adalah bahwa dalam keputusasaan, mereka mencoba menjalankan perintah yang tidak sepenuhnya mereka pahami, dan mereka akhirnya menghapus pekerjaan mereka - untuk selamanya!

Saran terbaik yang dapat saya berikan mengenai Git adalah meluangkan waktu Anda, dan hanya melakukan hal-hal yang Anda pahami sepenuhnya. Dalam kasus yang jarang terjadi di mana Anda ingin mencoba sesuatu yang tidak sepenuhnya Anda pahami, setidaknya bantulah diri Anda sendiri untuk membuat salinan repositori Anda di tempat lain. Keindahan Git adalah bahwa Git sepenuhnya berbasis file, jadi 'cadangan' (sementara) bisa sesederhana menyalin folder repositori ke desktop Anda.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat