Esempio n. 1
0
        public void TestInsertUsingDerivedObjectUsingFluentMapping([DataSources] string context)
        {
            var ms = SetMappings();

            using (new DisableBaseline("TODO: debug reason for inconsistent column order"))
                using (var db = GetDataContext(context, ms))
                {
                    try
                    {
                        InsertData(db);

                        Eye eye = new SauronsEye()
                        {
                            Id = 123,
                            Xy = "test321"
                        };

                        var cnt = db.Insert(eye);
                        Validate(false);

                        cnt = db.InsertOrReplace(eye);
                        Validate(true);

                        cnt = db.Update(eye);
                        Validate(false);

                        db.Delete(eye);

                        void Validate(bool insertOrReplace)
                        {
                            if (insertOrReplace && context.Contains("Oracle") && context.Contains("Native"))
                            {
                                Assert.AreEqual(-1, cnt);
                            }
                            else
                            {
                                Assert.AreEqual(1, cnt);
                            }

                            var data = db.GetTable <Eye>().Where(_ => _.Id == 123).FirstOrDefault();

                            Assert.IsNotNull(data);
                            Assert.AreEqual(eye.Id, data.Id);
                            Assert.AreEqual(eye.Xy, data.Xy);
                        }
                    }
                    finally
                    {
                        CleanupData(db);
                    }
                }
        }
Esempio n. 2
0
        public void TestInsertUsingDerivedObjectUsingFluentMapping(string context)
        {
            var ms = SetMappings();

            using (var db = GetDataContext(context, ms))
            {
                try
                {
                    InsertData(db);

                    Eye eye = new SauronsEye()
                    {
                        Id = 123,
                        Xy = "test321"
                    };

                    var cnt = db.Insert(eye);
                    Validate();

                    cnt = db.InsertOrReplace(eye);
                    Validate();

                    cnt = db.Update(eye);
                    Validate();

                    db.Delete(eye);

                    void Validate()
                    {
                        Assert.AreEqual(1, cnt);

                        var data = db.GetTable <Eye>().Where(_ => _.Id == 123).FirstOrDefault();

                        Assert.IsNotNull(data);
                        Assert.AreEqual(eye.Id, data.Id);
                        Assert.AreEqual(eye.Xy, data.Xy);
                    }
                }
                finally
                {
                    CleanupData(db);
                }
            }
        }