public void DetailsView_ExtractRowValues () { PokerDetailsView dv = new PokerDetailsView (); DataTable ds = TableObject.CreateDataTable (); dv.DataSource = ds; dv.DataBind (); OrderedDictionary fieldsValues = new OrderedDictionary (); dv.DoExtractRowValues (fieldsValues, true, true); Assert.AreEqual (3, fieldsValues.Count, "ExtractRowValues1"); Assert.AreEqual (3, fieldsValues.Keys.Count, "ExtractRowValues2"); Assert.AreEqual (3, fieldsValues.Values.Count, "ExtractRowValues3"); Assert.AreEqual (true, fieldsValues.Contains ("ID"), "ExtractRowValues4"); IDictionaryEnumerator enumerator=fieldsValues.GetEnumerator (); enumerator.MoveNext (); Assert.AreEqual ("ID",enumerator.Key,"FieldValue1"); Assert.AreEqual ("1001", enumerator.Value , "FieldValue2"); enumerator.MoveNext (); Assert.AreEqual ("FName", enumerator.Key, "FieldValue3"); Assert.AreEqual ("Mahesh", enumerator.Value, "FieldValue4"); enumerator.MoveNext (); Assert.AreEqual ("LName", enumerator.Key, "FieldValue5"); Assert.AreEqual ("Chand", enumerator.Value, "FieldValue6"); fieldsValues = new OrderedDictionary (); dv.DoExtractRowValues (fieldsValues, false, false); Assert.AreEqual (0, fieldsValues.Count, "ExtractRowValues-NotReadOnly1"); fieldsValues = new OrderedDictionary (); dv.DoExtractRowValues (fieldsValues, true, false); Assert.AreEqual (3, fieldsValues.Count, "ExtractRowValues-NoPrimaryKeys1"); Assert.AreEqual (3, fieldsValues.Keys.Count, "ExtractRowValues-NoPrimaryKeys2"); fieldsValues = new OrderedDictionary (); dv.DoExtractRowValues (fieldsValues, false, true); Assert.AreEqual (0, fieldsValues.Count, "ExtractRowValues-NotReadOnly2"); Assert.AreEqual (0, fieldsValues.Keys.Count, "ExtractRowValues-NotReadOnly3"); }