Commit 69229a7d authored by Brickner_cp's avatar Brickner_cp

Tests for receiving packets with IEnumerable.

Code Coverage 93.04%
parent c41e8e21
...@@ -5,8 +5,8 @@ ...@@ -5,8 +5,8 @@
<Regular> <Regular>
<CodeCoverageItem binaryFile="C:\TFS\tfs06.codeplex.com\PcapDotNet\PcapDotNet\bin\Debug\PcapDotNet.Base.dll" pdbFile="C:\TFS\tfs06.codeplex.com\PcapDotNet\PcapDotNet\bin\Debug\PcapDotNet.Base.pdb" instrumentInPlace="true" /> <CodeCoverageItem binaryFile="C:\TFS\tfs06.codeplex.com\PcapDotNet\PcapDotNet\bin\Debug\PcapDotNet.Base.dll" pdbFile="C:\TFS\tfs06.codeplex.com\PcapDotNet\PcapDotNet\bin\Debug\PcapDotNet.Base.pdb" instrumentInPlace="true" />
<CodeCoverageItem binaryFile="c:\TFS\tfs06.codeplex.com\PcapDotNet\PcapDotNet\bin\Debug\PcapDotNet.Core.dll" pdbFile="c:\TFS\tfs06.codeplex.com\PcapDotNet\PcapDotNet\bin\Debug\PcapDotNet.Core.pdb" instrumentInPlace="true" /> <CodeCoverageItem binaryFile="c:\TFS\tfs06.codeplex.com\PcapDotNet\PcapDotNet\bin\Debug\PcapDotNet.Core.dll" pdbFile="c:\TFS\tfs06.codeplex.com\PcapDotNet\PcapDotNet\bin\Debug\PcapDotNet.Core.pdb" instrumentInPlace="true" />
<CodeCoverageItem binaryFile="C:\TFS\tfs06.codeplex.com\PcapDotNet\PcapDotNet\bin\Debug\PcapDotNet.Packets.dll" pdbFile="C:\TFS\tfs06.codeplex.com\PcapDotNet\PcapDotNet\bin\Debug\PcapDotNet.Packets.pdb" instrumentInPlace="true" />
<CodeCoverageItem binaryFile="C:\TFS\tfs06.codeplex.com\PcapDotNet\PcapDotNet\bin\Debug\PcapDotNet.Core.Extensions.dll" pdbFile="C:\TFS\tfs06.codeplex.com\PcapDotNet\PcapDotNet\bin\Debug\PcapDotNet.Core.Extensions.pdb" instrumentInPlace="true" /> <CodeCoverageItem binaryFile="C:\TFS\tfs06.codeplex.com\PcapDotNet\PcapDotNet\bin\Debug\PcapDotNet.Core.Extensions.dll" pdbFile="C:\TFS\tfs06.codeplex.com\PcapDotNet\PcapDotNet\bin\Debug\PcapDotNet.Core.Extensions.pdb" instrumentInPlace="true" />
<CodeCoverageItem binaryFile="C:\TFS\tfs06.codeplex.com\PcapDotNet\PcapDotNet\bin\Debug\PcapDotNet.Packets.dll" pdbFile="C:\TFS\tfs06.codeplex.com\PcapDotNet\PcapDotNet\bin\Debug\PcapDotNet.Packets.pdb" instrumentInPlace="true" />
</Regular> </Regular>
</CodeCoverage> </CodeCoverage>
<TestTypeSpecific> <TestTypeSpecific>
......
...@@ -28,7 +28,7 @@ namespace PcapDotNet.Core.Extensions ...@@ -28,7 +28,7 @@ namespace PcapDotNet.Core.Extensions
/// </remarks> /// </remarks>
public static IEnumerable<Packet> ReceivePackets(this PacketCommunicator communicator, int count) public static IEnumerable<Packet> ReceivePackets(this PacketCommunicator communicator, int count)
{ {
List<Packet> packets = new List<Packet>(); List<Packet> packets = new List<Packet>(Math.Min(Math.Max(0, count), 128));
while (count != 0) while (count != 0)
{ {
......
...@@ -147,27 +147,26 @@ namespace PcapDotNet.Core.Test ...@@ -147,27 +147,26 @@ namespace PcapDotNet.Core.Test
TestReceivePackets(NumPacketsToSend, NumPacketsToSend, NumPacketsToSend / 2, 2, PacketSize, PacketCommunicatorReceiveResult.BreakLoop, NumPacketsToSend / 2, 0, 0.02); TestReceivePackets(NumPacketsToSend, NumPacketsToSend, NumPacketsToSend / 2, 2, PacketSize, PacketCommunicatorReceiveResult.BreakLoop, NumPacketsToSend / 2, 0, 0.02);
} }
// [TestMethod] [TestMethod]
// public void ReceivePacketsEnumerableTest() public void ReceivePacketsEnumerableTest()
// { {
// const int NumPacketsToSend = 100; const int NumPacketsToSend = 100;
// const int PacketSize = 100; const int PacketSize = 100;
//
// // Normal // Normal
// TestReceivePacketsEnumerable(NumPacketsToSend, NumPacketsToSend, int.MaxValue, 2, PacketSize, NumPacketsToSend, 0, 0.02); TestReceivePacketsEnumerable(NumPacketsToSend, NumPacketsToSend, int.MaxValue, 2, PacketSize, NumPacketsToSend, 0, 0.05);
//
// // Wait for less packets // Wait for less packets
// TestReceivePacketsEnumerable(NumPacketsToSend, NumPacketsToSend / 2, int.MaxValue, 2, PacketSize, NumPacketsToSend / 2, 0, 0.02); TestReceivePacketsEnumerable(NumPacketsToSend, NumPacketsToSend / 2, int.MaxValue, 2, PacketSize, NumPacketsToSend / 2, 0, 0.02);
//
// // Wait for more packets // Wait for more packets
// TestReceivePacketsEnumerable(NumPacketsToSend, 0, int.MaxValue, 2, PacketSize, NumPacketsToSend, 2, 2.02); TestReceivePacketsEnumerable(NumPacketsToSend, -1, int.MaxValue, 2, PacketSize, NumPacketsToSend, 2, 2.02);
// TestReceivePacketsEnumerable(NumPacketsToSend, -1, int.MaxValue, 2, PacketSize, NumPacketsToSend, 2, 2.02); TestReceivePacketsEnumerable(NumPacketsToSend, NumPacketsToSend + 1, int.MaxValue, 2, PacketSize, NumPacketsToSend, 2, 2.02);
// TestReceivePacketsEnumerable(NumPacketsToSend, NumPacketsToSend + 1, int.MaxValue, 2, PacketSize, NumPacketsToSend, 2, 2.02);
// // Break loop
// // Break loop TestReceivePacketsEnumerable(NumPacketsToSend, NumPacketsToSend, 0, 2, PacketSize, 0, 0, 0.02);
// TestReceivePacketsEnumerable(NumPacketsToSend, NumPacketsToSend, 0, 2, PacketSize, 0, 0, 0.02); TestReceivePacketsEnumerable(NumPacketsToSend, NumPacketsToSend, NumPacketsToSend / 2, 2, PacketSize, NumPacketsToSend / 2, 0, 0.02);
// TestReceivePacketsEnumerable(NumPacketsToSend, NumPacketsToSend, NumPacketsToSend / 2, 2, PacketSize, NumPacketsToSend / 2, 0, 0.02); }
// }
[TestMethod] [TestMethod]
[Timeout(10 * 1000)] [Timeout(10 * 1000)]
...@@ -297,7 +296,7 @@ namespace PcapDotNet.Core.Test ...@@ -297,7 +296,7 @@ namespace PcapDotNet.Core.Test
// Wait for less statistics // Wait for less statistics
TestGetStatistics(SourceMac, DestinationMac, NumPacketsToSend, NumStatisticsToGather / 2, int.MaxValue, 5, PacketSize, TestGetStatistics(SourceMac, DestinationMac, NumPacketsToSend, NumStatisticsToGather / 2, int.MaxValue, 5, PacketSize,
PacketCommunicatorReceiveResult.Ok, NumStatisticsToGather / 2, NumPacketsToSend, NumStatisticsToGather / 2, NumStatisticsToGather / 2 + 0.04); PacketCommunicatorReceiveResult.Ok, NumStatisticsToGather / 2, NumPacketsToSend, NumStatisticsToGather / 2, NumStatisticsToGather / 2 + 0.05);
// Wait for more statistics // Wait for more statistics
TestGetStatistics(SourceMac, DestinationMac, NumPacketsToSend, 0, int.MaxValue, 5.5, PacketSize, TestGetStatistics(SourceMac, DestinationMac, NumPacketsToSend, 0, int.MaxValue, 5.5, PacketSize,
...@@ -765,7 +764,10 @@ namespace PcapDotNet.Core.Test ...@@ -765,7 +764,10 @@ namespace PcapDotNet.Core.Test
{ {
if (numPacketsToBreakLoop == 0) if (numPacketsToBreakLoop == 0)
communicator.Break(); communicator.Break();
foreach (Packet packet in communicator.ReceivePackets(numPacketsToWait)) IEnumerable<Packet> packets = numPacketsToWait == -1
? communicator.ReceivePackets()
: communicator.ReceivePackets(numPacketsToWait);
foreach (Packet packet in packets)
{ {
Assert.AreEqual(sentPacket, packet); Assert.AreEqual(sentPacket, packet);
++actualPacketsReceived; ++actualPacketsReceived;
......
...@@ -61,14 +61,14 @@ ...@@ -61,14 +61,14 @@
<Project>{83E805C9-4D29-4E34-A27E-5A78690FBD2B}</Project> <Project>{83E805C9-4D29-4E34-A27E-5A78690FBD2B}</Project>
<Name>PcapDotNet.Base</Name> <Name>PcapDotNet.Base</Name>
</ProjectReference> </ProjectReference>
<ProjectReference Include="..\PcapDotNet.Packets\PcapDotNet.Packets.csproj">
<Project>{8A184AF5-E46C-482C-81A3-76D8CE290104}</Project>
<Name>PcapDotNet.Packets</Name>
</ProjectReference>
<ProjectReference Include="..\PcapDotNet.Packets.TestUtils\PcapDotNet.Packets.TestUtils.csproj"> <ProjectReference Include="..\PcapDotNet.Packets.TestUtils\PcapDotNet.Packets.TestUtils.csproj">
<Project>{194D3B9A-AD99-44ED-991A-73C4A7EE550F}</Project> <Project>{194D3B9A-AD99-44ED-991A-73C4A7EE550F}</Project>
<Name>PcapDotNet.Packets.TestUtils</Name> <Name>PcapDotNet.Packets.TestUtils</Name>
</ProjectReference> </ProjectReference>
<ProjectReference Include="..\PcapDotNet.Packets\PcapDotNet.Packets.csproj">
<Project>{8A184AF5-E46C-482C-81A3-76D8CE290104}</Project>
<Name>PcapDotNet.Packets</Name>
</ProjectReference>
<ProjectReference Include="..\PcapDotNet.TestUtils\PcapDotNet.TestUtils.csproj"> <ProjectReference Include="..\PcapDotNet.TestUtils\PcapDotNet.TestUtils.csproj">
<Project>{540F21A8-CD9F-4288-ADCA-DB17027FF309}</Project> <Project>{540F21A8-CD9F-4288-ADCA-DB17027FF309}</Project>
<Name>PcapDotNet.TestUtils</Name> <Name>PcapDotNet.TestUtils</Name>
......
...@@ -149,17 +149,21 @@ Global ...@@ -149,17 +149,21 @@ Global
{20BCB32F-6B86-41D4-8DF4-191F3D233087}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {20BCB32F-6B86-41D4-8DF4-191F3D233087}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{20BCB32F-6B86-41D4-8DF4-191F3D233087}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {20BCB32F-6B86-41D4-8DF4-191F3D233087}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{20BCB32F-6B86-41D4-8DF4-191F3D233087}.Debug|Win32.ActiveCfg = Debug|Any CPU {20BCB32F-6B86-41D4-8DF4-191F3D233087}.Debug|Win32.ActiveCfg = Debug|Any CPU
{20BCB32F-6B86-41D4-8DF4-191F3D233087}.Debug|Win32.Build.0 = Debug|Any CPU
{20BCB32F-6B86-41D4-8DF4-191F3D233087}.Release|Any CPU.ActiveCfg = Release|Any CPU {20BCB32F-6B86-41D4-8DF4-191F3D233087}.Release|Any CPU.ActiveCfg = Release|Any CPU
{20BCB32F-6B86-41D4-8DF4-191F3D233087}.Release|Any CPU.Build.0 = Release|Any CPU {20BCB32F-6B86-41D4-8DF4-191F3D233087}.Release|Any CPU.Build.0 = Release|Any CPU
{20BCB32F-6B86-41D4-8DF4-191F3D233087}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {20BCB32F-6B86-41D4-8DF4-191F3D233087}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{20BCB32F-6B86-41D4-8DF4-191F3D233087}.Release|Mixed Platforms.Build.0 = Release|Any CPU {20BCB32F-6B86-41D4-8DF4-191F3D233087}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{20BCB32F-6B86-41D4-8DF4-191F3D233087}.Release|Win32.ActiveCfg = Release|Any CPU {20BCB32F-6B86-41D4-8DF4-191F3D233087}.Release|Win32.ActiveCfg = Release|Any CPU
{20BCB32F-6B86-41D4-8DF4-191F3D233087}.Release|Win32.Build.0 = Release|Any CPU
{89C63BE1-AF9A-472E-B256-A4F56B1655A7}.Debug|Any CPU.ActiveCfg = Debug|Win32 {89C63BE1-AF9A-472E-B256-A4F56B1655A7}.Debug|Any CPU.ActiveCfg = Debug|Win32
{89C63BE1-AF9A-472E-B256-A4F56B1655A7}.Debug|Any CPU.Build.0 = Debug|Win32
{89C63BE1-AF9A-472E-B256-A4F56B1655A7}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 {89C63BE1-AF9A-472E-B256-A4F56B1655A7}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{89C63BE1-AF9A-472E-B256-A4F56B1655A7}.Debug|Mixed Platforms.Build.0 = Debug|Win32 {89C63BE1-AF9A-472E-B256-A4F56B1655A7}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{89C63BE1-AF9A-472E-B256-A4F56B1655A7}.Debug|Win32.ActiveCfg = Debug|Win32 {89C63BE1-AF9A-472E-B256-A4F56B1655A7}.Debug|Win32.ActiveCfg = Debug|Win32
{89C63BE1-AF9A-472E-B256-A4F56B1655A7}.Debug|Win32.Build.0 = Debug|Win32 {89C63BE1-AF9A-472E-B256-A4F56B1655A7}.Debug|Win32.Build.0 = Debug|Win32
{89C63BE1-AF9A-472E-B256-A4F56B1655A7}.Release|Any CPU.ActiveCfg = Release|Win32 {89C63BE1-AF9A-472E-B256-A4F56B1655A7}.Release|Any CPU.ActiveCfg = Release|Win32
{89C63BE1-AF9A-472E-B256-A4F56B1655A7}.Release|Any CPU.Build.0 = Release|Win32
{89C63BE1-AF9A-472E-B256-A4F56B1655A7}.Release|Mixed Platforms.ActiveCfg = Release|Win32 {89C63BE1-AF9A-472E-B256-A4F56B1655A7}.Release|Mixed Platforms.ActiveCfg = Release|Win32
{89C63BE1-AF9A-472E-B256-A4F56B1655A7}.Release|Mixed Platforms.Build.0 = Release|Win32 {89C63BE1-AF9A-472E-B256-A4F56B1655A7}.Release|Mixed Platforms.Build.0 = Release|Win32
{89C63BE1-AF9A-472E-B256-A4F56B1655A7}.Release|Win32.ActiveCfg = Release|Win32 {89C63BE1-AF9A-472E-B256-A4F56B1655A7}.Release|Win32.ActiveCfg = Release|Win32
...@@ -169,11 +173,13 @@ Global ...@@ -169,11 +173,13 @@ Global
{322040C2-3DC1-4D0C-8E0F-F05290AFE023}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {322040C2-3DC1-4D0C-8E0F-F05290AFE023}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{322040C2-3DC1-4D0C-8E0F-F05290AFE023}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {322040C2-3DC1-4D0C-8E0F-F05290AFE023}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{322040C2-3DC1-4D0C-8E0F-F05290AFE023}.Debug|Win32.ActiveCfg = Debug|Any CPU {322040C2-3DC1-4D0C-8E0F-F05290AFE023}.Debug|Win32.ActiveCfg = Debug|Any CPU
{322040C2-3DC1-4D0C-8E0F-F05290AFE023}.Debug|Win32.Build.0 = Debug|Any CPU
{322040C2-3DC1-4D0C-8E0F-F05290AFE023}.Release|Any CPU.ActiveCfg = Release|Any CPU {322040C2-3DC1-4D0C-8E0F-F05290AFE023}.Release|Any CPU.ActiveCfg = Release|Any CPU
{322040C2-3DC1-4D0C-8E0F-F05290AFE023}.Release|Any CPU.Build.0 = Release|Any CPU {322040C2-3DC1-4D0C-8E0F-F05290AFE023}.Release|Any CPU.Build.0 = Release|Any CPU
{322040C2-3DC1-4D0C-8E0F-F05290AFE023}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {322040C2-3DC1-4D0C-8E0F-F05290AFE023}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{322040C2-3DC1-4D0C-8E0F-F05290AFE023}.Release|Mixed Platforms.Build.0 = Release|Any CPU {322040C2-3DC1-4D0C-8E0F-F05290AFE023}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{322040C2-3DC1-4D0C-8E0F-F05290AFE023}.Release|Win32.ActiveCfg = Release|Any CPU {322040C2-3DC1-4D0C-8E0F-F05290AFE023}.Release|Win32.ActiveCfg = Release|Any CPU
{322040C2-3DC1-4D0C-8E0F-F05290AFE023}.Release|Win32.Build.0 = Release|Any CPU
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment