SORU
3 EYLÜL 2009, PERŞEMBE


Neden İddia ediyor.AreEqual(T) obj1, Tobj2 aynı bayt dizileri ile başarısız

Aşağıdaki kod kesimi birbirinin aynı iki bayt dizi var:

    /// <summary>
    ///A test for Bytes
    ///</summary>
    [TestMethod()]
    public void BytesTest() {
        byte[] bytes = Encoding.UTF8.GetBytes(Properties.Resources.ExpectedPacketData);
        TransferEventArgs target = new TransferEventArgs(bytes);

        byte[] expected = Encoding.UTF8.GetBytes(Properties.Resources.ExpectedPacketValue);
        byte[] actual;
        actual = target.Bytes;

        Assert.AreEqual(expected, actual);
    }

Her iki dizide çok bayt aşağı aynıdır. Bu senaryoda, neden sunacaktı.AreEqual başarısız?

CEVAP
3 EYLÜL 2009, PERŞEMBE


Assert.Equals varsayılan olarak referans eşitlik kullanan Equals yöntemi kullanılarak testler ve farklı nesneleri oldukları için, eşit değiller. Her byte için dizideki istiyorum ve eşit olduğundan emin olun. Bunu yapmanın bir yolu CollectionAssert.AreEqual() yerine ICollection ve kullanımı uygulayan bir şeye dönüştürmek.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jucyber Tutoriais

    Jucyber Tuto

    8 EYLÜL 2009
  • MrOctopi

    MrOctopi

    6 Aralık 2010
  • Propaganda Time

    Propaganda T

    19 EYLÜL 2010