public void tracks_add()
        {
            //setup
            var subject = new TrackingAuditEvent(CreateUserContext());

            var entity = new Gender();
            entity.Name = Guid.NewGuid().ToString();
            using (var addContext = CreateObjectContext())
            {
                addContext.Genders.AddObject(entity);
                addContext.SaveChanges();
                //act
                subject.TrackAdd(addContext.ObjectStateManager.GetObjectStateEntry(entity));
            }

            //assert
            Assert.AreEqual(1, subject.AuditEntities.Count);
            var auditEntity = subject.AuditEntities[0];
            Assert.AreEqual(typeof(EntityAddedAudit), auditEntity.GetType());
        }
        public void tracks_add_multiple()
        {
            //setup
            var subject = new TrackingAuditEvent(CreateUserContext());

            for (int x = 0; x < 10; x++)
            {
                var entity = new Gender();
                entity.Name = Guid.NewGuid().ToString();
                using (var addContext = CreateObjectContext())
                {
                    addContext.Genders.AddObject(entity);
                    addContext.SaveChanges();
                    //act
                    subject.TrackAdd(addContext.ObjectStateManager.GetObjectStateEntry(entity));
                }
            }

            //assert
            Assert.AreEqual(10, subject.AuditEntities.Count);
        }