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

  • DancingIsAPassion

    DancingIsAPa

    29 AĞUSTOS 2009
  • DragsterMC Gaming

    DragsterMC G

    30 HAZİRAN 2013
  • VJ VIMANA

    VJ VIMANA

    3 Mayıs 2007