System.Data.Tests.DataRowTest2.HasVersion_ByDataRowVersion C# (CSharp) Method

HasVersion_ByDataRowVersion() private method

private HasVersion_ByDataRowVersion ( ) : void
return void
        public void HasVersion_ByDataRowVersion()
        {
            DataTable t = new DataTable("atable");
            t.Columns.Add("id", typeof(int));
            t.Columns.Add("name", typeof(string));
            t.Columns[0].DefaultValue = 1;
            t.Columns[1].DefaultValue = "something";

            // row r is detached
            DataRow r = t.NewRow();

            // HasVersion Test #10
            Assert.Equal(false, r.HasVersion(DataRowVersion.Current));

            // HasVersion Test #11
            Assert.Equal(false, r.HasVersion(DataRowVersion.Original));

            // HasVersion Test #12
            Assert.Equal(true, r.HasVersion(DataRowVersion.Default));

            // HasVersion Test #13
            Assert.Equal(true, r.HasVersion(DataRowVersion.Proposed));

            r[0] = 4;
            r[1] = "four";

            // HasVersion Test #20
            Assert.Equal(false, r.HasVersion(DataRowVersion.Current));

            // HasVersion Test #21
            Assert.Equal(false, r.HasVersion(DataRowVersion.Original));

            // HasVersion Test #22
            Assert.Equal(true, r.HasVersion(DataRowVersion.Default));

            // HasVersion Test #23
            Assert.Equal(true, r.HasVersion(DataRowVersion.Proposed));

            t.Rows.Add(r);
            // now it is "added"

            // HasVersion Test #30
            Assert.Equal(true, r.HasVersion(DataRowVersion.Current));

            // HasVersion Test #31
            Assert.Equal(false, r.HasVersion(DataRowVersion.Original));

            // HasVersion Test #32
            Assert.Equal(true, r.HasVersion(DataRowVersion.Default));

            // HasVersion Test #33
            Assert.Equal(false, r.HasVersion(DataRowVersion.Proposed));

            t.AcceptChanges();
            // now it is "unchanged"

            // HasVersion Test #40
            Assert.Equal(true, r.HasVersion(DataRowVersion.Current));

            // HasVersion Test #41
            Assert.Equal(true, r.HasVersion(DataRowVersion.Original));

            // HasVersion Test #42
            Assert.Equal(true, r.HasVersion(DataRowVersion.Default));

            // HasVersion Test #43
            Assert.Equal(false, r.HasVersion(DataRowVersion.Proposed));

            r.BeginEdit();
            r[1] = "newvalue";

            // HasVersion Test #50
            Assert.Equal(true, r.HasVersion(DataRowVersion.Current));

            // HasVersion Test #51
            Assert.Equal(true, r.HasVersion(DataRowVersion.Original));

            // HasVersion Test #52
            Assert.Equal(true, r.HasVersion(DataRowVersion.Default));

            // HasVersion Test #53
            Assert.Equal(true, r.HasVersion(DataRowVersion.Proposed));

            r.EndEdit();
            // now it is "modified"
            // HasVersion Test #60
            Assert.Equal(true, r.HasVersion(DataRowVersion.Current));

            // HasVersion Test #61
            Assert.Equal(true, r.HasVersion(DataRowVersion.Original));

            // HasVersion Test #62
            Assert.Equal(true, r.HasVersion(DataRowVersion.Default));

            // HasVersion Test #63
            Assert.Equal(false, r.HasVersion(DataRowVersion.Proposed));

            // this or t.AcceptChanges
            r.AcceptChanges();
            // now it is "unchanged" again
            // HasVersion Test #70
            Assert.Equal(true, r.HasVersion(DataRowVersion.Current));

            // HasVersion Test #71
            Assert.Equal(true, r.HasVersion(DataRowVersion.Original));

            // HasVersion Test #72
            Assert.Equal(true, r.HasVersion(DataRowVersion.Default));

            // HasVersion Test #73
            Assert.Equal(false, r.HasVersion(DataRowVersion.Proposed));

            r.Delete();
            // now it is "deleted"

            // HasVersion Test #80
            Assert.Equal(false, r.HasVersion(DataRowVersion.Current));

            // HasVersion Test #81
            Assert.Equal(true, r.HasVersion(DataRowVersion.Original));

            // HasVersion Test #82
            Assert.Equal(false, r.HasVersion(DataRowVersion.Default));

            // HasVersion Test #83
            Assert.Equal(false, r.HasVersion(DataRowVersion.Proposed));

            r.AcceptChanges();
            // back to detached
            // HasVersion Test #90
            Assert.Equal(false, r.HasVersion(DataRowVersion.Current));

            // HasVersion Test #91
            Assert.Equal(false, r.HasVersion(DataRowVersion.Original));

            // HasVersion Test #92
            Assert.Equal(false, r.HasVersion(DataRowVersion.Default));

            // HasVersion Test #93
            Assert.Equal(false, r.HasVersion(DataRowVersion.Proposed));
        }
DataRowTest2