示例#1
0
        public void ToString_FormsEntryRepresentation()
        {
            String actual   = new LoggableEntry(entry).ToString();
            String expected = FormExpectedMessage(entry);

            Assert.AreEqual(expected, actual);
        }
示例#2
0
        public void LoggableEntry_SetsEntityBaseTypeThenEntityIsProxied()
        {
            Type actual   = new LoggableEntry(entry).EntityType;
            Type expected = model.GetType();

            Assert.AreEqual("System.Data.Entity.DynamicProxies", entry.Entity.GetType().Namespace);
            Assert.AreEqual(expected, actual);
        }
示例#3
0
        public void LoggableEntry_SetsState()
        {
            entry.State = EntityState.Deleted;

            String expected = entry.State.ToString().ToLower();
            String actual   = new LoggableEntry(entry).State;

            Assert.AreEqual(expected, actual);
        }
示例#4
0
        public void LoggableEntry_SetsEntityTypeThenEntityIsNotProxied()
        {
            entry = context.Entry(context.Set <Role>().Add(new Role()));

            Type actual   = new LoggableEntry(entry).EntityType;
            Type expected = model.GetType();

            Assert.AreNotEqual("System.Data.Entity.DynamicProxies", entry.Entity.GetType().Namespace);
            Assert.AreEqual(expected, actual);
        }
示例#5
0
        public void LoggableEntry_CreatesProperties()
        {
            DbPropertyValues     originalValues = entry.GetDatabaseValues();
            IEnumerable <String> properties     = originalValues.PropertyNames;

            IEnumerable <LoggablePropertyEntry> expected = properties.Select(name => new LoggablePropertyEntry(entry.Property(name), originalValues[name]));
            IEnumerable <LoggablePropertyEntry> actual   = new LoggableEntry(entry).Properties;

            TestHelper.EnumPropertyWiseEqual(expected, actual);
        }
示例#6
0
        public void Log_LogsFormattedMessage()
        {
            entry.State = EntityState.Added;
            logger.Log(new[] { entry });
            logger.Save();

            String actual   = context.Set <Log>().Single().Message;
            String expected = new LoggableEntry(entry).ToString();

            Assert.AreEqual(expected, actual);
        }
示例#7
0
        private String FormExpectedMessage(DbEntityEntry entry)
        {
            LoggableEntry loggableEntry  = new LoggableEntry(entry);
            StringBuilder messageBuilder = new StringBuilder();

            messageBuilder.AppendFormat("{0} {1}:{2}",
                                        loggableEntry.EntityType.Name,
                                        loggableEntry.State,
                                        Environment.NewLine);

            foreach (LoggablePropertyEntry property in loggableEntry.Properties)
            {
                messageBuilder.AppendFormat("    {0}{1}", property, Environment.NewLine);
            }

            return(messageBuilder.ToString());
        }