@@ -99,6 +99,52 @@ public void Equals_UseSameAndDifferentETags_EqualOrNotEqualNoExceptions()
9999 Assert . True ( etag1 . Equals ( etag5 ) , "tag vs. tag.." ) ;
100100 }
101101
102+ [ Fact ]
103+ public void CompareStrongly_UseSameAndDifferentETags_EqualOrNotEqualNoExceptions ( )
104+ {
105+ var etag1 = new EntityTagHeaderValue ( "\" tag\" " ) ;
106+ var etag2 = new EntityTagHeaderValue ( "\" TAG\" " ) ;
107+ var etag3 = new EntityTagHeaderValue ( "\" tag\" " , true ) ;
108+ var etag4 = new EntityTagHeaderValue ( "\" tag1\" " ) ;
109+ var etag5 = new EntityTagHeaderValue ( "\" tag\" " ) ;
110+ var etag6 = EntityTagHeaderValue . Any ;
111+
112+ Assert . False ( EntityTagHeaderValue . CompareStrongly ( etag1 , etag2 ) , "Different casing." ) ;
113+ Assert . False ( EntityTagHeaderValue . CompareStrongly ( etag2 , etag1 ) , "Different casing." ) ;
114+ Assert . False ( EntityTagHeaderValue . CompareStrongly ( etag1 , null ) , "tag vs. <null>." ) ;
115+ Assert . False ( EntityTagHeaderValue . CompareStrongly ( null , etag1 ) , "<null> vs tag." ) ;
116+ Assert . False ( EntityTagHeaderValue . CompareStrongly ( null , null ) , "<null> vs. <null>." ) ;
117+ Assert . False ( EntityTagHeaderValue . CompareStrongly ( etag3 , etag3 ) , "weak vs. weak." ) ;
118+ Assert . False ( EntityTagHeaderValue . CompareStrongly ( etag1 , etag3 ) , "strong vs. weak." ) ;
119+ Assert . False ( EntityTagHeaderValue . CompareStrongly ( etag3 , etag1 ) , "weak vs. strong." ) ;
120+ Assert . False ( EntityTagHeaderValue . CompareStrongly ( etag1 , etag4 ) , "tag vs. tag1." ) ;
121+ Assert . False ( EntityTagHeaderValue . CompareStrongly ( etag1 , etag6 ) , "tag vs. *." ) ;
122+ Assert . True ( EntityTagHeaderValue . CompareStrongly ( etag1 , etag5 ) , "tag vs. tag." ) ;
123+ }
124+
125+ [ Fact ]
126+ public void CompareWeakly_UseSameAndDifferentETags_EqualOrNotEqualNoExceptions ( )
127+ {
128+ var etag1 = new EntityTagHeaderValue ( "\" tag\" " ) ;
129+ var etag2 = new EntityTagHeaderValue ( "\" TAG\" " ) ;
130+ var etag3 = new EntityTagHeaderValue ( "\" tag\" " , true ) ;
131+ var etag4 = new EntityTagHeaderValue ( "\" tag1\" " ) ;
132+ var etag5 = new EntityTagHeaderValue ( "\" tag\" " ) ;
133+ var etag6 = EntityTagHeaderValue . Any ;
134+
135+ Assert . False ( EntityTagHeaderValue . CompareWeakly ( etag1 , etag2 ) , "Different casing." ) ;
136+ Assert . False ( EntityTagHeaderValue . CompareWeakly ( etag2 , etag1 ) , "Different casing." ) ;
137+ Assert . False ( EntityTagHeaderValue . CompareWeakly ( etag1 , null ) , "tag vs. <null>." ) ;
138+ Assert . False ( EntityTagHeaderValue . CompareWeakly ( null , etag1 ) , "<null> vs tag." ) ;
139+ Assert . False ( EntityTagHeaderValue . CompareWeakly ( null , null ) , "<null> vs. <null>." ) ;
140+ Assert . True ( EntityTagHeaderValue . CompareWeakly ( etag3 , etag3 ) , "weak vs. weak." ) ;
141+ Assert . True ( EntityTagHeaderValue . CompareWeakly ( etag1 , etag3 ) , "strong vs. weak." ) ;
142+ Assert . True ( EntityTagHeaderValue . CompareWeakly ( etag3 , etag1 ) , "weak vs. strong." ) ;
143+ Assert . False ( EntityTagHeaderValue . CompareWeakly ( etag1 , etag4 ) , "tag vs. tag1." ) ;
144+ Assert . False ( EntityTagHeaderValue . CompareWeakly ( etag1 , etag6 ) , "tag vs. *." ) ;
145+ Assert . True ( EntityTagHeaderValue . CompareWeakly ( etag1 , etag5 ) , "tag vs. tag." ) ;
146+ }
147+
102148 [ Fact ]
103149 public void Parse_SetOfValidValueStrings_ParsedCorrectly ( )
104150 {
0 commit comments