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

  • BruBearBaby

    BruBearBaby

    25 Ocak 2011
  • gsipek

    gsipek

    20 Temmuz 2007
  • Tomas N

    Tomas N

    14 Kasım 2010