Пример #1
0
        public void BaseSaveAndUpdateTest()
        {
            Formula formual = Formula.Create("F1", "AC20-120-水下", null);

            formual.AddFormulaItem(FormulaItem.Create(string.Empty, "B1", "N1", 10));
            formual.AddFormulaItem(FormulaItem.Create(string.Empty, "B2", "N2", 20));
            formual.AddFormulaItem(FormulaItem.Create(string.Empty, "B3", "N3", 30));

            Assert.Equal(3, formual.FormulaItemCount);

            DbContextOptions <FormulaContext> options = InMemoryDbContextFactory.CreateOptions <FormulaContext>("Formula-Base");

            using (FormulaContext content = new FormulaContext(options))
            {
                var obj = content.Formulas.Find("F1");
                Assert.Null(obj);

                content.Formulas.Add(formual);
                content.SaveChanges();

                var objRead = content.Formulas.Find("F1");
                Assert.NotNull(objRead);
                Assert.Equal(3, objRead.FormulaItemCount);
            }
        }
Пример #2
0
        public void BaseOperationTest()
        {
            DbContextOptions <MaterialContext> options = InMemoryDbContextFactory.CreateOptions <MaterialContext>("Material_Base");

            using (MaterialContext content = new MaterialContext(options))
            {
                var obj = content.Materials.SingleOrDefault <Material>(f => f.BomCode == "M1");
                Assert.Null(obj);

                Material m1 = Material.Builder("M1", "N1", 30);
                Material m2 = Material.Builder("M2", "N2", 0);
                Material m3 = Material.Builder("M3", "N3", 20);

                content.Materials.Add(m1);
                content.Materials.Add(m2);
                content.Materials.Add(m3);
                content.Materials.Add(m3);
                var count = content.SaveChanges();

                Assert.Equal(3, count);

                obj = content.Materials.SingleOrDefault <Material>(f => f.BomCode == "M1");
                Assert.NotNull(obj);
                Assert.Equal("M1", obj.BomCode);
                Assert.Equal("N1", obj.BomName);
                Assert.Equal(30, obj.Quantity);

                var objs = content.Materials.Where(f => f.Quantity > 0).ToList <Material>();
                Assert.Equal(2, objs.Count());

                objs = content.Materials.Where(f => f.Quantity / 2 > 10).ToList <Material>();
                Assert.Single(objs);

                objs = content.Materials.Where(f => f.BomName.Contains("N")).ToList <Material>();
                Assert.Equal(3, objs.Count());

                objs = content.Materials.Where(f => f.BomName.Contains("T")).ToList <Material>();
                Assert.Empty(objs);

                objs = content.Materials.Where(f => !f.BomName.Contains("T")).ToList <Material>();
                Assert.Equal(3, objs.Count());

                m2.BomName = "T2";
                content.Materials.Update(m2);
                content.SaveChanges();

                objs = content.Materials.Where(f => !f.BomName.Contains("T")).ToList <Material>();
                Assert.Equal(2, objs.Count());
            }
        }