public void Merge()
        {
            List <DataEntity> entities = DataEntity.GetSeveral();
            ObjectDump        dump1    = DataEntity.GetObjectDump(entities[0]);
            ObjectDump        dump2    = DataEntity.GetObjectDump(entities[1]);

            ObjectDump merged = ObjectDump.Merge(dump1, dump2);

            // CodeGen.GenerateAssertions(merged, "merged"); // The following assertions were generated on 22-Jun-2011
            #region Generated Assertions
            Assert.AreEqual(10, merged.Headers.Count);
            Assert.AreEqual("Id", merged.Headers[0]);
            Assert.AreEqual("IsCool", merged.Headers[1]);
            Assert.AreEqual("Description", merged.Headers[2]);
            Assert.AreEqual("Created", merged.Headers[3]);
            Assert.AreEqual("Amount", merged.Headers[4]);
            Assert.AreEqual("Id", merged.Headers[5]);
            Assert.AreEqual("IsCool", merged.Headers[6]);
            Assert.AreEqual("Description", merged.Headers[7]);
            Assert.AreEqual("Created", merged.Headers[8]);
            Assert.AreEqual("Amount", merged.Headers[9]);
            Assert.AreEqual(10, merged.Data.Count);
            Assert.AreEqual("1", merged.Data[0]);
            Assert.AreEqual("True", merged.Data[1]);
            Assert.AreEqual("Holy bat man boat monster", merged.Data[2]);
            Assert.AreEqual("2000-01-01", merged.Data[3]);
            Assert.AreEqual("14.23", merged.Data[4]);
            Assert.AreEqual("1", merged.Data[5]);
            Assert.AreEqual("False", merged.Data[6]);
            Assert.AreEqual("what boy wonder", merged.Data[7]);
            Assert.AreEqual("2000-03-01", merged.Data[8]);
            Assert.AreEqual("12314.23", merged.Data[9]);
            #endregion
        }
예제 #2
0
        public static ObjectDump GetAssemblyDump(Assembly assembly)
        {
            var dump = new ObjectDump();

            dump.Headers.Add("Name");
            dump.Headers.Add("Product");
            dump.Headers.Add("Version");
            dump.Headers.Add("File Version");
            dump.Headers.Add("Informational Version");
            dump.Headers.Add("Configuration");
            dump.Headers.Add("CLR");

            AssemblyProductAttribute productAttribute = null;
            try
            {
                productAttribute = (AssemblyProductAttribute)Attribute.GetCustomAttribute(assembly, typeof(AssemblyProductAttribute));
            }
            catch (Exception e)
            {
                Log.ErrorException("Failed to enumerate AssemblyProductAttribute", e);
            }

            var configAttribute = (AssemblyConfigurationAttribute)Attribute.GetCustomAttribute(assembly, typeof(AssemblyConfigurationAttribute));

            dump.Data.Add(assembly.GetName().Name);
            dump.Data.Add(productAttribute == null ? string.Empty : productAttribute.Product);
            dump.Data.Add(assembly.GetName().Version.ToString());
            dump.Data.Add(FileVersionInfo.GetVersionInfo(assembly.Location).FileVersion);
            dump.Data.Add(FileVersionInfo.GetVersionInfo(assembly.Location).ProductVersion);
            dump.Data.Add(configAttribute == null ? string.Empty : configAttribute.Configuration);
            dump.Data.Add(assembly.ImageRuntimeVersion);

            return dump;
        }
        public static ObjectDump GetObjectDump(PerformanceSummary target)
        {
            var dump = new ObjectDump();

            dump.Headers.AddRange(new [] { "Name", "Hits", "Total (ms)", "Average (ms)", "Maximum (ms)", "Minimum (ms)" });
            dump.Data.AddRange(new[] {
                target.Name,
                target.Hits.ToString().PadLeft(5, ' '),
                target.TotalTime.TotalMilliseconds.ToString("N2").PadLeft(10, ' '),
                target.AverageMilliseconds.ToString("N2").PadLeft(12, ' '),
                target.Maximum.ToString(PerformancePointOutputOptions.WithStartTime)
                , target.Minimum.ToString(PerformancePointOutputOptions.WithStartTime)
            });

            return(dump);
        }
예제 #4
0
        private static ObjectDump GetAssemblyDump(AssemblyEntry assemblyEntry)
        {
            var dump     = new ObjectDump();
            var assembly = assemblyEntry.Assembly;

            dump.Headers.Add("Name");
            dump.Headers.Add("Product");
            dump.Headers.Add("Version");
            dump.Headers.Add("File Version");
            dump.Headers.Add("Informational Version");
            dump.Headers.Add("Configuration");
            dump.Headers.Add("CLR");
            dump.Headers.Add("Path");

            AssemblyProductAttribute productAttribute = null;

            try
            {
                try
                {
                    productAttribute = (AssemblyProductAttribute)Attribute.GetCustomAttribute(assembly, typeof(AssemblyProductAttribute));
                }
                catch (Exception e)
                {
                    Log.Error(e, $"Failed to enumerate AssemblyProductAttribute for {assemblyEntry.FileInfo.FullName}");
                }

                var configAttribute = (AssemblyConfigurationAttribute)Attribute.GetCustomAttribute(assembly, typeof(AssemblyConfigurationAttribute));

                dump.Data.Add(assembly.GetName().Name);
                dump.Data.Add(productAttribute == null ? string.Empty : productAttribute.Product);
                dump.Data.Add(assembly.GetName().Version.ToString());
                dump.Data.Add(FileVersionInfo.GetVersionInfo(assembly.Location).FileVersion);
                dump.Data.Add(FileVersionInfo.GetVersionInfo(assembly.Location).ProductVersion);
                dump.Data.Add(configAttribute == null ? string.Empty : configAttribute.Configuration);
                dump.Data.Add(assembly.ImageRuntimeVersion);
                dump.Data.Add(assemblyEntry.FileInfo.Directory.FullName);
            }
            catch (Exception eOuter)
            {
                Log.Error(eOuter, $"Failed to dump for {assemblyEntry.FileInfo.FullName}");
            }


            return(dump);
        }
예제 #5
0
        public static ObjectDump GetObjectDump(DataEntity a)
        {
            ObjectDump dump = new ObjectDump();

            dump.Headers = new List <string> {
                "Id", "IsCool", "Description", "Created", "Amount"
            };

            dump.Data = new List <String>
            {
                a.Id.ToString(),
                    a.IsCool.ToString(),
                    a.Description,
                    a.Created.ToString("yyyy-MM-dd"),
                a.Amount.ToString(),
            };

            return(dump);
        }
예제 #6
0
        private ObjectDump GetDump(EventLogEntry entry)
        {
            var posOfPeriod = entry.Message.IndexOf(".");
            var message = entry.Message.Trim();

            if (posOfPeriod > 0)
            {
                message = message.Substring(0, posOfPeriod);
            }

            if (entry.InstanceId == EventInstanceIdShutdown)
            {
                message = "The System is shutting down ";// + entry.Message;
            }

            var dump = new ObjectDump();
            dump.Headers.Add("Time");
            dump.Headers.Add("Message");
            dump.Data.Add(entry.TimeGenerated.ToString("dd-MMM-yyyy HH:mm"));
            dump.Data.Add(message);

            if (VerboseOutput)
            {
                dump.Headers.Insert(1, "InstanceId");
                dump.Data.Insert(1, entry.InstanceId.ToString());
            }

            return dump;
        }