@@ -43,7 +43,7 @@ public void ParsesBasicFields()
43
43
packet . Fin . Should ( ) . BeFalse ( ) ;
44
44
packet . WindowSize . Should ( ) . Be ( 64078 ) ;
45
45
packet . Checksum . Should ( ) . Be ( 0x1b5e ) ;
46
- packet . UrgentPointer . Should ( ) . Be ( 0 ) ;
46
+ packet . UrgentPointer . Should ( ) . Be ( 0 ) ;
47
47
}
48
48
49
49
[ Fact ]
@@ -57,10 +57,10 @@ public void SerializesCorrectly()
57
57
, 0xcb , 0xde , 0xa7 , 0xcf , 0xeb , 0x46 , 0xd4 , 0x88 , 0x48 , 0x48 , 0x91 , 0xda
58
58
, 0xb9 , 0xd8 , 0xd7 , 0x52 , 0xef , 0x36 , 0x2a } , out packet ) . Should ( ) . BeTrue ( ) ;
59
59
60
-
60
+
61
61
using ( var ms = new MemoryStream ( ) )
62
62
{
63
- packet . WriteToStream ( ms ) ;
63
+ packet . WriteToStream ( ms ) ;
64
64
ms . ToArray ( )
65
65
. SequenceEqual (
66
66
new byte [ ]
@@ -76,22 +76,21 @@ public void SerializesCorrectly()
76
76
}
77
77
78
78
[ Fact ]
79
- public void CorrectsFields ( )
80
- {
81
- // This test is poor. It seems the original test for CorrectFields didn't set an IPv4 parent, and thus was basically worthless.
82
-
83
- TCP packet ;
84
- TCPFactory . Instance . TryParse ( new byte [ ] { 0x04 , 0x0a
85
- , 0x14 , 0x46 , 0x45 , 0x0e , 0x6e , 0xc8 , 0xfb , 0xcd , 0x4f , 0xcc , 0x50 , 0x18
86
- , 0xfa , 0x4e , 0x1b , 0x5e , 0x00 , 0x00 , 0x17 , 0x03 , 0x01 , 0x00 , 0x20 , 0x0f
87
- , 0x52 , 0xba , 0x8d , 0xda , 0x74 , 0x2a , 0xd7 , 0x3d , 0x59 , 0x2f , 0x22 , 0x5e
88
- , 0xcb , 0xde , 0xa7 , 0xcf , 0xeb , 0x46 , 0xd4 , 0x88 , 0x48 , 0x48 , 0x91 , 0xda
89
- , 0xb9 , 0xd8 , 0xd7 , 0x52 , 0xef , 0x36 , 0x2a } , out packet ) . Should ( ) . BeTrue ( ) ;
90
-
91
- var correctChecksum = packet . Checksum ;
92
- packet . CorrectFields ( ) ;
93
- packet . Checksum . Should ( ) . Be ( correctChecksum ) ;
94
- ( ( int ) packet . DataOffset ) . Should ( ) . Be ( 5 ) ;
79
+ public void CalculatesChecksum ( )
80
+ {
81
+ IPv4 packet ;
82
+ IPv4Factory . Instance . TryParse ( new byte [ ] { 0x45 , 0x00 , 0x00 , 0x29 , 0x10 , 0xe9 ,
83
+ 0x40 , 0x00 , 0x80 , 0x06 , 0x00 , 0x00 , 0x7f , 0x00 ,
84
+ 0x00 , 0x01 , 0x7f , 0x00 , 0x00 , 0x01 , 0xd4 , 0x68 ,
85
+ 0xd4 , 0x69 , 0xb6 , 0x08 , 0xff , 0x50 , 0x01 , 0x1e ,
86
+ 0x37 , 0xd9 , 0x50 , 0x18 , 0x01 , 0x00 , 0xf8 , 0xa5 ,
87
+ 0x00 , 0x00 , 0x21 } , out packet ) . Should ( ) . BeTrue ( ) ;
88
+
89
+ var e2 = EthernetIIFactory . Instance . Default ( packet ) ;
90
+ var tcp = packet . Layer < TCP > ( ) ;
91
+ var correctChecksum = tcp . Checksum ;
92
+ e2 . CorrectFields ( ) ;
93
+ tcp . Checksum . Should ( ) . Be ( correctChecksum ) ;
95
94
}
96
95
97
96
[ Fact ]
0 commit comments