Nunit: НСвозмоТно ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° с ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ΠΌ

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 8 янв. 2018  Β·  4ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: nunit/nunit

ЗдравствуйтС, я Π½Π΅ ΠΌΠΎΠ³Ρƒ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏΡ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² с ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ΠΌ, Π½ΠΎ классичСский assert всС Π΅Ρ‰Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚

enum TestEnum : ushort
{
    one = 0x01,
    two = 0x02
}

// test is okay
Assert.AreEqual(typeof(ushort), typeof(TestEnum).GetEnumUnderlyingType());

// test failed
//
// Expected: <System.Uint16>
//  But was: <System.RuntimeType>
//
Assert.That(typeof(TestEnum).GetEnumUnderlyingType(), Is.TypeOf<ushort>());

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

ΠŸΡ€ΠΈΠ²Π΅Ρ‚, @TobiasSekan. Π― Π±Ρ‹ сказал, Ρ‡Ρ‚ΠΎ это ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎ. Π’ классичСском ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠΈ Π²Ρ‹ просто сравниваСтС Π΄Π²Π° Ρ‚ΠΈΠΏΠ°. ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Β«_ провСряСт, ΠΈΠΌΠ΅Π΅Ρ‚ Π»ΠΈ фактичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏ, прСдоставлСнный Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°, ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ. _Β», А Ρ‚ΠΈΠΏ значСния typeof(TestEnum).GetEnumUnderlyingType() - System.RuntimeType .

Аналогично, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ сработаСт (с Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ сообщСниСм)

Assert.That(typeof(string), Is.TypeOf<string>());

Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ

Assert.That("", Is.TypeOf<string>());

Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. Π’Ρ‹ всСгда ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Ρ„Ρ€Π°Π·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ Assert.That(typeof(TestEnum).GetEnumUnderlyingType(), Is.EqualTo(typeof(ushort)));

ВсС 4 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Какая ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΈ какая вСрсия nunit, поТалуйста?

ΠŸΡ€ΠΈΠ²Π΅Ρ‚, @TobiasSekan. Π― Π±Ρ‹ сказал, Ρ‡Ρ‚ΠΎ это ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎ. Π’ классичСском ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠΈ Π²Ρ‹ просто сравниваСтС Π΄Π²Π° Ρ‚ΠΈΠΏΠ°. ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Β«_ провСряСт, ΠΈΠΌΠ΅Π΅Ρ‚ Π»ΠΈ фактичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏ, прСдоставлСнный Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°, ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ. _Β», А Ρ‚ΠΈΠΏ значСния typeof(TestEnum).GetEnumUnderlyingType() - System.RuntimeType .

Аналогично, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ сработаСт (с Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ сообщСниСм)

Assert.That(typeof(string), Is.TypeOf<string>());

Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ

Assert.That("", Is.TypeOf<string>());

Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. Π’Ρ‹ всСгда ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Ρ„Ρ€Π°Π·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ Assert.That(typeof(TestEnum).GetEnumUnderlyingType(), Is.EqualTo(typeof(ushort)));

Π₯ΠΎΡ€ΠΎΡˆΠΈΠΉ ΡƒΠ»ΠΎΠ² @mikkelbu. Π― ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡΡŒ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ это ΠΊΠ°ΠΊ not a bug . @TobiasSekan Π― Π²ΠΈΠΆΡƒ ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Ρƒ, Π½ΠΎ Π½Π° самом Π΄Π΅Π»Π΅ ваш ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ - TypeOf<Type> Π½Π΅ ushort .

Π₯ΠΎΡ€ΠΎΡˆΠΎ спасибо Π·Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ