public void Encode_ShouldEncodeCorrectly() { var encoderMock = new Mock <IDerAsnEncoder>(); var sequence = new DerAsnSet(new DerAsnType[] { new DerAsnNull(), new DerAsnObjectIdentifier(1, 2, 840, 113549, 1, 1, 1), new DerAsnNull() }); sequence.Encode(encoderMock.Object); encoderMock.Verify(x => x.Encode(It.IsAny <DerAsnType>()), Times.Exactly(3)); encoderMock.Verify(x => x.Encode(It.IsAny <DerAsnNull>()), Times.Exactly(2)); encoderMock.Verify(x => x.Encode(It.IsAny <DerAsnObjectIdentifier>()), Times.Once); }
public void DerAsnSet_GetBytes_ShouldEncodeCorrectly() { var type = new DerAsnSet(new DerAsnType[] { new DerAsnNull(), new DerAsnObjectIdentifier("1.2.840.113549.1.1.1"), new DerAsnNull() }); var data = type.GetBytes(); Assert.That((DerAsnTypeTag)data[0], Is.EqualTo(DerAsnTypeTag.Set)); Assert.That(data[1], Is.EqualTo(0x0F)); Assert.That(data.Skip(2).ToArray(), Is.EqualTo(new byte[] { 0x05, 0x00, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x01, 0x05, 0x00 })); }
public void ValueConstructor_ShouldSetIdentifier() { var sequence = new DerAsnSet(Array.Empty <DerAsnType>()); Assert.That(sequence.Identifier, Is.EqualTo(DerAsnIdentifiers.Constructed.Set)); }