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

  • Justin Case

    Justin Case

    3 EKİM 2011
  • Matt Steffanina

    Matt Steffan

    1 EYLÜL 2011
  • JeezyVEVO

    JeezyVEVO

    12 Mayıs 2009