System.Data.Tests.DataViewTest.CancelEditAndEvents C# (CSharp) Метод

CancelEditAndEvents() приватный Метод

private CancelEditAndEvents ( ) : void
Результат void
        public void CancelEditAndEvents()
        {
            string reference = " =====ItemAdded:3 ------4 =====ItemAdded:3 =====ItemAdded:4 ------5 =====ItemAdded:4 =====ItemAdded:5 ------6 =====ItemDeleted:5 ------5 =====ItemAdded:5";

            _eventWriter = new StringWriter();

            DataTable dt = new DataTable();
            dt.Columns.Add("col1");
            dt.Columns.Add("col2");
            dt.Columns.Add("col3");
            dt.Rows.Add(new object[] { 1, 2, 3 });
            dt.Rows.Add(new object[] { 1, 2, 3 });
            dt.Rows.Add(new object[] { 1, 2, 3 });

            DataView dv = new DataView(dt);
            dv.ListChanged += new ListChangedEventHandler(ListChanged);
            DataRowView a1 = dv.AddNew();
            _eventWriter.Write(" ------" + dv.Count);
            // I wonder why but MS fires another event here.
            a1 = dv.AddNew();
            _eventWriter.Write(" ------" + dv.Count);
            // I wonder why but MS fires another event here.
            DataRowView a2 = dv.AddNew();
            _eventWriter.Write(" ------" + dv.Count);
            a2.CancelEdit();
            _eventWriter.Write(" ------" + dv.Count);
            DataRowView a3 = dv.AddNew();

            Assert.Equal(reference, _eventWriter.ToString());
            GC.KeepAlive(dv);
        }