Exemplo n.º 1
0
        static void Main(string[] args)
        {
            ILogger logger = new Logger(@"log.txt");

            logger.Log($"{DateTime.UtcNow} : This was logged just now!!!");

            var dbSaver = new DbSaver(logger, new TaskBettingDbContext());

            dbSaver.InsertOrUpdate(new MyObjectWrapper
            {
                ObjectWrapperId = 2,
                Name            = @"Second",
                ObjectAsByte    = ObjectToSmthgConverter.ObjectToByteArray(new SerializableObject
                {
                    Description = @"13231123321",
                    Id          = 35,
                    Name        = @"132312213312",
                    Price       = 14,
                    Value       = 22,
                }),
                Items = new HashSet <MyCollectionItem>
                {
                    new MyCollectionItem(),
                    new MyCollectionItem()
                }
            });
        }
Exemplo n.º 2
0
        private MyObjectWrapper GetDummyData()
        {
            var wrapperParent = new MyObjectWrapper
            {
                ObjectWrapperId = 1,
                Name            = @"Second",
                ObjectAsByte    = ObjectToSmthgConverter.ObjectToByteArray(new SerializableObject
                {
                    Description = @"132asde-+/*31123321",
                    Id          = 35,
                    Name        = @"132312#$%@%213312",
                    Price       = 14,
                    Value       = 22,
                })
            };

            var collectionItemChildA = new MyCollectionItem
            {
                MyCollectionItemId = 1,
                MyObjectWrapperId  = 1,
                MyObjectWrapper    = wrapperParent
            };
            var collectionItemChildB = new MyCollectionItem
            {
                MyCollectionItemId = 2,
                MyObjectWrapperId  = 1,
                MyObjectWrapper    = wrapperParent
            };

            wrapperParent.Items.Add(collectionItemChildA);
            wrapperParent.Items.Add(collectionItemChildB);

            return(wrapperParent);
        }
Exemplo n.º 3
0
        public void InsertOrUpdate_Updates_AllPropsChanged_NewItems_ExistingObjectWrapper_Via_Context()
        {
            var wrapperToUpdate = this.GetDummyData();

            wrapperToUpdate.Items.First().MyCollectionItemId = default(int);
            wrapperToUpdate.Items.Last().MyCollectionItemId  = default(int);

            var beforeUpdateWrapper = this.GetDummyData();

            beforeUpdateWrapper.Name         = "Third";
            beforeUpdateWrapper.ObjectAsByte = ObjectToSmthgConverter.ObjectToByteArray(new SerializableObject
            {
                Description = @"1hehf(%&#U)JJF",
                Id          = 123123,
                Name        = @"132312#$%@%213312",
                Price       = 23333,
                Value       = 17777,
            });

            var mockWrapperSet = this.GetMockSet <MyObjectWrapper>(new List <MyObjectWrapper> {
                beforeUpdateWrapper
            });

            var mockContext = this.BuildMockContext(mockWrapperSet);

            var dbSaverService = new DbSaver(this.mockedLogger.Object, mockContext.Object);
            var updatedWrapper = dbSaverService.InsertOrUpdate(wrapperToUpdate);

            Assert.IsNotNull(mockWrapperSet);
            Assert.IsTrue(updatedWrapper.Name == wrapperToUpdate.Name);
            Assert.IsTrue(updatedWrapper.ObjectAsByte == wrapperToUpdate.ObjectAsByte);
            Assert.IsTrue(updatedWrapper.Items.Count() == 4);
            mockWrapperSet.Verify(set => set.Add(It.IsAny <MyObjectWrapper>()), Times.Never);
            mockWrapperSet.Verify(set => set.Include(It.IsAny <string>()), Times.Once);
            mockContext.Verify(context => context.SaveChanges(), Times.Once);
        }