Home Reference Source Test

test/specs/generic/network/message/GetAddrMessage.spec.js

describe('GetAddrMessage', () => {
    it('is correctly constructed', () => {
        const msg1 = new GetAddrMessage(2, 4, 8);

        expect(msg1.protocolMask).toBe(2);
        expect(msg1.serviceMask).toBe(4);
    });

    it('is serializable and unserializable', () => {
        const msg1 = new GetAddrMessage(2, 4, 8);
        const msg2 = GetAddrMessage.unserialize(msg1.serialize());

        expect(msg2.protocolMask).toBe(msg1.protocolMask);
        expect(msg2.serviceMask).toBe(msg1.serviceMask);
        expect(msg2.maxResults).toBe(msg1.maxResults);
    });

    it('must have well defined arguments', () => {
        expect(() => new GetAddrMessage(NumberUtils.UINT8_MAX+1, 4)).toThrow();
        expect(() => new GetAddrMessage(2, NumberUtils.UINT32_MAX+1)).toThrow();
        expect(() => new GetAddrMessage(2, 4, NumberUtils.UINT32_MAX+1)).toThrow();
    });
});