private void WriteTiffInfo() { uint firstIfdOffset = _tiffDecoder.ReadHeader(); _report.WriteSubheader("TiffHeader"); _report.WriteLine("Byte order : {0}", _tiffDecoder.IsLittleEndian ? "Little Endian" : "Big Endian"); WriteTiffIfdInfo(firstIfdOffset, "IFD ", 0, _tagDictionary); }
public void WriteLine_WithoutInitialise_ThrowsException() { IDataReader reader = Substitute.For <IDataReader>(); TestDelegate del = () => _reportWriter.WriteLine(reader, new ColumnMetaData[] { }); Assert.Throws(typeof(InvalidOperationException), del); reader.Received(0).GetValue(Arg.Any <int>()); }
public void Write(string name, IReadOnlyCollection <PackageUpdateSet> updates) { _writer.WriteLine(MessageForCount(updates.Count)); foreach (var update in updates) { _writer.WriteLine(Description.ForUpdateSet(update)); } }
private void WriteHeading() { _writer.WriteLine( "Package id,Package source," + "Usage count,Versions in use,Lowest version in use,Highest Version in use," + "Major version update,Major published date," + "Minor version update,Minor published date," + "Patch version update,Patch published date" ); }
public void ExcelReportWriterTest_CheckFileContents() { const string delimiter = ","; // set up the data reader to return columns ColumnMetaData[] headers = { new ColumnMetaData("Name", "varchar", 100), new ColumnMetaData("Surname", "varchar", 100), new ColumnMetaData("Age", "varchar", 32), }; object[][] data = { new object[] { "Matt", "Salmon", 41 }, new object[] { "John", "Doe", 61 }, new object[] { "Jane", "Smith", 25 } }; IDataReader reader = Substitute.For <IDataReader>(); reader.FieldCount.Returns(3); reader.Read().Returns(true, true, true, false); reader.GetValue(0).Returns(data[0][0], data[1][0], data[2][0]); reader.GetValue(1).Returns(data[0][1], data[1][1], data[2][1]); reader.GetValue(2).Returns(data[0][2], data[1][2], data[2][2]); // execute _reportWriter.Initialise(_filePath, delimiter); _reportWriter.WriteHeader(headers.Select(x => x.Name)); foreach (object[] line in data) { _reportWriter.WriteLine(reader, headers); } _reportWriter.Dispose(); // assert Assert.IsTrue(File.Exists(_filePath)); List <string[]> lines = ReadSpreadsheetLines(_filePath); // check that the header is correct string expectedHeader = String.Join(delimiter, headers.Select(x => x.Name)); Assert.AreEqual(expectedHeader, String.Join(delimiter, lines[0])); // make sure each of the lines is written correctly for (int i = 0; i < data.Length; i++) { object[] line = data[i]; string expectedLine = String.Join(delimiter, data[i]); string actualLine = String.Join(delimiter, lines[i + 1]); Assert.AreEqual(expectedLine, actualLine); } _excelRangeFormatter.Received(data.Length * data[0].Length).FormatCell(Arg.Any <ExcelRange>(), Arg.Any <object>(), Arg.Any <Type>()); }
public void Write(string name, IReadOnlyCollection <PackageUpdateSet> updates) { if (updates == null) { throw new ArgumentNullException(nameof(updates)); } _writer.WriteLine(MessageForCount(updates.Count)); foreach (var update in updates) { _writer.WriteLine(Description.ForUpdateSet(update)); } }
public void Write(string name, IReadOnlyCollection <PackageUpdateSet> updates) { _writer.WriteLine($"Packages with updates: {updates.Count}"); WriteMajorMinorPatchCount(updates); WriteProjectCount(updates); WriteLibYears(updates); }
public ReportJobResult ExecuteJob(ConnectionSetting connection, ReportJob job) { using (IDbConnection conn = _dbConnectionFactory.CreateConnection(connection.ConnectionString)) { int rowCount = 0; DateTime start = DateTime.UtcNow; using (var command = conn.CreateCommand()) { command.CommandTimeout = 0; command.CommandText = job.Command; if (!String.IsNullOrEmpty(job.CommandType) && job.CommandType.ToLower() == Constants.CommandType.StoredProcedure) { command.CommandType = System.Data.CommandType.StoredProcedure; } // add the parameters to the command SqlParameter[] parameters = _dbParameterUtility.ConvertXmlToDbParameters(job.Parameters); foreach (IDataParameter p in parameters) { command.Parameters.Add(p); } // make sure an output format has been specified - if it hasn't then just execute the command if (String.IsNullOrEmpty(job.OutputFormat)) { command.ExecuteNonQuery(); } else { using (var reader = command.ExecuteReader()) { string destinationFile = Path.Combine(job.OutputFilePath, job.OutputFileName); using (IReportWriter reportWriter = _reportWriterFactory.GetReportWriter(job.OutputFormat)) { ColumnMetaData[] columnInfo = GetColumnInfo(reader).ToArray(); reportWriter.Initialise(destinationFile, job.Delimiter); reportWriter.WriteHeader(columnInfo.Select(x => x.Name)); while (reader.Read()) { reportWriter.WriteLine(reader, columnInfo); rowCount++; } } } } } ReportJobResult result = new ReportJobResult(); result.RowCount = rowCount; result.ExecutionTime = DateTime.UtcNow.Subtract(start); return(result); } }
public void Write(string name, IReadOnlyCollection <PackageUpdateSet> updates) { if (updates == null) { throw new ArgumentNullException(nameof(updates)); } _writer.WriteLine($"Packages with updates: {updates.Count}"); WriteMajorMinorPatchCount(updates); WriteProjectCount(updates); WriteLibYears(updates); }
public void Write(string name, IReadOnlyCollection <PackageUpdateSet> updates) { var totalAge = Age.Sum(updates); _writer.WriteLine(Age.AsLibYears(totalAge)); }
public void DelimitedReportWriterTest_CheckFileContents(string delimiter) { // set up the data reader to return columns ColumnMetaData[] headers = { new ColumnMetaData("Name", "varchar", 100), new ColumnMetaData("Surname", "varchar", 100), new ColumnMetaData("Age", "varchar", 32), }; object[][] data = { new object[] { "Matt", "Salmon", 41 }, new object[] { "John", "Doe", 61 }, new object[] { "Jane", "Smith", 25 } }; IDataReader reader = Substitute.For <IDataReader>(); reader.Read().Returns(true, true, true, false); reader.GetValue(0).Returns(data[0][0], data[1][0], data[2][0]); reader.GetValue(1).Returns(data[0][1], data[1][1], data[2][1]); reader.GetValue(2).Returns(data[0][2], data[1][2], data[2][2]); reader.GetFieldType(Arg.Any <int>()).Returns(typeof(String)); // set up the text formatter to return the value supplied _textFormatter.FormatText(Arg.Any <object>(), Arg.Any <Type>()).Returns((c) => { return(c.ArgAt <object>(0).ToString()); }); // execute _reportWriter.Initialise(_filePath, delimiter); _reportWriter.WriteHeader(headers.Select(x => x.Name)); foreach (object[] line in data) { _reportWriter.WriteLine(reader, headers); } _reportWriter.Dispose(); // assert Assert.IsTrue(File.Exists(_filePath)); List <string> lines = File.ReadLines(_filePath).ToList(); // check that the header is correct string expectedHeader = String.Join(delimiter, headers.Select(x => x.Name)); Assert.AreEqual(expectedHeader, lines[0]); // make sure each of the lines is written correctly for (int i = 0; i < data.Length; i++) { object[] line = data[i]; string expectedLine = String.Join(delimiter, data[i]); string actualLine = lines[i + 1]; Assert.AreEqual(expectedLine, actualLine); } // make sure all the data items are formatted foreach (object[] line in data) { foreach (object item in line) { _textFormatter.Received(1).FormatText(item, typeof(String)); } } }