Skip to content

Commit 71149a3

Browse files
Brickner_cpBrickner_cp
authored andcommitted
Code Coverage 94.31%
1 parent 60f12a9 commit 71149a3

File tree

5 files changed

+110
-2
lines changed

5 files changed

+110
-2
lines changed

PcapDotNet/src/PcapDotNet.Base.Test/IDictionaryExtensionsTests.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,5 +75,13 @@ public void DictionaryEqualsTest()
7575
Assert.IsFalse(dic1.DictionaryEquals(dic2));
7676
Assert.IsFalse(dic2.DictionaryEquals(dic1));
7777
}
78+
79+
[TestMethod]
80+
[ExpectedException(typeof(ArgumentNullException))]
81+
public void DictionaryEqualsNullTest()
82+
{
83+
Assert.IsFalse(new Dictionary<int, int>().DictionaryEquals(new Dictionary<int, int>(), null));
84+
Assert.Fail();
85+
}
7886
}
7987
}

PcapDotNet/src/PcapDotNet.Base.Test/IEnumerableExtensionsTests.cs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,5 +79,19 @@ public void SequenceToStringNullTest()
7979
Assert.IsNotNull(IEnumerableExtensions.SequenceToString<int>(null));
8080
Assert.Fail();
8181
}
82+
83+
[TestMethod]
84+
public void XorTest()
85+
{
86+
int[] intValues = new[] {0x0001, 0x0020, 0x0300, 0x4000};
87+
Assert.AreEqual(0x4321, intValues.Xor());
88+
89+
long[] longValues = new[]
90+
{
91+
0x00000001L, 0x00000020L, 0x00000300L, 0x00004000L,
92+
0x00050000L, 0x00600000L, 0x07000000L, 0x80000000L
93+
};
94+
Assert.AreEqual(0x87654321L, longValues.Xor());
95+
}
8296
}
8397
}

PcapDotNet/src/PcapDotNet.Core.Test/LivePacketDeviceTests.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -850,6 +850,7 @@ public static PacketCommunicator OpenLiveDevice()
850850
MoreAssert.IsMatch(@"Network adapter '.*' on local host", device.Description);
851851
Assert.AreEqual(DeviceAttributes.None, device.Attributes);
852852
Assert.AreNotEqual(MacAddress.Zero, device.GetMacAddress());
853+
Assert.AreNotEqual(string.Empty, device.GetPnpDeviceId());
853854
MoreAssert.IsInRange(1, 2, device.Addresses.Count);
854855
foreach (DeviceAddress address in device.Addresses)
855856
{

PcapDotNet/src/PcapDotNet.Packets.Test/ByteArrayExtensionsTests.cs

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,5 +88,62 @@ public void ReadByteNullBufferTest()
8888
Assert.IsNotNull(ByteArrayExtensions.ReadByte(null, 0));
8989
Assert.Fail();
9090
}
91+
92+
[TestMethod]
93+
[ExpectedException(typeof(ArgumentNullException))]
94+
public void ByteArrayCompareFirstNullTest()
95+
{
96+
Assert.IsNotNull(ByteArrayExtensions.Compare(null, 1, new byte[1], 0, 1));
97+
Assert.Fail();
98+
}
99+
100+
[TestMethod]
101+
[ExpectedException(typeof(ArgumentNullException))]
102+
public void ByteArrayCompareSecondNullTest()
103+
{
104+
Assert.IsNotNull(new byte[1].Compare(1, null, 0, 1));
105+
Assert.Fail();
106+
}
107+
108+
[TestMethod]
109+
[ExpectedException(typeof(ArgumentNullException))]
110+
public void ByteArrayFindNullArrayTest()
111+
{
112+
Assert.IsNotNull(ByteArrayExtensions.Find(null, 1, 1, new byte[1]));
113+
Assert.Fail();
114+
}
115+
116+
[TestMethod]
117+
[ExpectedException(typeof(ArgumentNullException))]
118+
public void ByteArrayFindNullOtherTest()
119+
{
120+
Assert.IsNotNull(new byte[5].Find(1, 1, null));
121+
Assert.Fail();
122+
}
123+
124+
[TestMethod]
125+
public void ByteArrayFindOtherCountTooBigTest()
126+
{
127+
Assert.AreEqual(10, new byte[10].Find(1, 1, new byte[5], 1, 2));
128+
}
129+
130+
[TestMethod]
131+
[ExpectedException(typeof(ArgumentNullException))]
132+
public void ByteArraySequenceEqualNullArrayTest()
133+
{
134+
Assert.IsNotNull(ByteArrayExtensions.SequenceEqual(null, 1, new byte[1], 0, 1));
135+
Assert.Fail();
136+
}
137+
138+
[TestMethod]
139+
[ExpectedException(typeof(ArgumentNullException))]
140+
public void ByteArrayWriteNullEncodingTest()
141+
{
142+
int offset = 0;
143+
byte[] buffer = new byte[5];
144+
buffer.Write(ref offset, "123", null);
145+
Assert.IsNotNull(buffer);
146+
Assert.Fail();
147+
}
91148
}
92149
}

PcapDotNet/src/PcapDotNet.Packets.Test/HttpTests.cs

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
using PcapDotNet.Packets.IpV4;
1212
using PcapDotNet.Packets.TestUtils;
1313
using PcapDotNet.Packets.Transport;
14+
using PcapDotNet.TestUtils;
1415

1516
namespace PcapDotNet.Packets.Test
1617
{
@@ -67,6 +68,8 @@ public void RandomHttpTest()
6768

6869
HttpDatagram httpDatagram = packet.Ethernet.IpV4.Tcp.Http;
6970
Assert.AreEqual(httpLayer.Version, httpDatagram.Version);
71+
if (httpLayer.Version != null)
72+
Assert.AreEqual(httpLayer.Version.GetHashCode(), httpDatagram.Version.GetHashCode());
7073
if (httpLayer is HttpRequestLayer)
7174
{
7275
Assert.IsTrue(httpDatagram.IsRequest);
@@ -78,7 +81,10 @@ public void RandomHttpTest()
7881
HttpRequestDatagram httpRequestDatagram = (HttpRequestDatagram)httpDatagram;
7982
Assert.AreEqual(httpRequestLayer.Method, httpRequestDatagram.Method);
8083
if (httpRequestLayer.Method != null)
84+
{
85+
Assert.AreEqual(httpRequestLayer.Method.GetHashCode(), httpRequestDatagram.Method.GetHashCode());
8186
Assert.AreEqual(httpRequestLayer.Method.KnownMethod, httpRequestDatagram.Method.KnownMethod);
87+
}
8288
Assert.AreEqual(httpRequestLayer.Uri, httpRequestDatagram.Uri);
8389
}
8490
else
@@ -96,23 +102,27 @@ public void RandomHttpTest()
96102
Assert.AreEqual(httpLayer.Header, httpDatagram.Header);
97103
if (httpLayer.Header != null)
98104
{
105+
Assert.AreEqual(httpLayer.Header.GetHashCode(), httpDatagram.Header.GetHashCode());
106+
99107
foreach (var field in httpLayer.Header)
100108
Assert.IsFalse(field.Equals("abc"));
101109

110+
MoreAssert.AreSequenceEqual(httpLayer.Header.Select(field => field.GetHashCode()), httpDatagram.Header.Select(field => field.GetHashCode()));
111+
102112
if (httpLayer.Header.ContentType != null)
103113
{
104114
var parameters = httpLayer.Header.ContentType.Parameters;
105115
Assert.IsNotNull(((IEnumerable)parameters).GetEnumerator());
106116
Assert.AreEqual<object>(parameters, httpDatagram.Header.ContentType.Parameters);
117+
Assert.AreEqual(parameters.GetHashCode(), httpDatagram.Header.ContentType.Parameters.GetHashCode());
118+
Assert.AreEqual(parameters.Count, httpDatagram.Header.ContentType.Parameters.Count);
107119
int maxParameterNameLength = parameters.Any() ? parameters.Max(pair => pair.Key.Length) : 0;
108120
Assert.IsNull(parameters[new string('a', maxParameterNameLength + 1)]);
109121
}
110122
}
111123
Assert.AreEqual(httpLayer.Body, httpDatagram.Body);
112124
Assert.AreEqual(httpLayer, httpDatagram.ExtractLayer(), "HTTP Layer");
113125
Assert.AreEqual(httpLayer.Length, httpDatagram.Length);
114-
115-
// Ethernet
116126
}
117127
}
118128

@@ -521,6 +531,24 @@ public void HttpBadTransferCodingsRegexTest()
521531
Assert.IsNull(packet.Ethernet.IpV4.Tcp.Http.Header.TransferEncoding.TransferCodings);
522532
}
523533

534+
[TestMethod]
535+
[ExpectedException(typeof(ArgumentNullException))]
536+
public void HttpCreateFieldNullEncoding()
537+
{
538+
HttpField field = HttpField.CreateField("abc", "cde", null);
539+
Assert.IsNull(field);
540+
Assert.Fail();
541+
}
542+
543+
[TestMethod]
544+
[ExpectedException(typeof(ArgumentNullException))]
545+
public void HttpCreateFieldNullName()
546+
{
547+
HttpField field = HttpField.CreateField(null, "cde");
548+
Assert.IsNull(field);
549+
Assert.Fail();
550+
}
551+
524552
private static void TestHttpResponse(string httpString, HttpVersion expectedVersion = null, uint? expectedStatusCode = null, string expectedReasonPhrase = null, HttpHeader expectedHeader = null, string expectedBodyString = null)
525553
{
526554
Datagram expectedBody = expectedBodyString == null ? null : new Datagram(Encoding.ASCII.GetBytes(expectedBodyString));

0 commit comments

Comments
 (0)