Rename Magic to Guess

This commit is contained in:
Sergey Chebotar 2023-05-23 07:07:16 +03:00
parent 733440392e
commit 16b5ddedb1
9 changed files with 17 additions and 19 deletions

View File

@ -36,8 +36,8 @@ public sealed class RhSolutionsAddIn : IExcelAddIn
Services.AddSingleton<ReaderFactory>();
Services.AddTransient<ExcelReader>()
.AddTransient<IReader, ExcelReader>(s => s.GetService<ExcelReader>());
Services.AddTransient<MagicReader>()
.AddTransient<IReader, MagicReader>(s => s.GetService<MagicReader>());
Services.AddTransient<GuessReader>()
.AddTransient<IReader, GuessReader>(s => s.GetService<GuessReader>());
Services.AddSingleton<ToolFactory>();

View File

@ -27,7 +27,7 @@ public class RibbonController : ExcelRibbon
<button id='export' getEnabled='GetExportEnabled' label='Экспорт в новый файл' size='normal' imageMso='PivotExportToExcel' onAction='OnToolPressed'/>
<button id='convert' getEnabled='GetConvertEnabled' label='Актуализировать' size='normal' imageMso='FileUpdate' onAction='OnToolPressed'/>
<button id='merge' label='Объединить' size='normal' imageMso='Copy' onAction='OnToolPressed'/>
<button id='magicexport' label='Распознать и экспортировать' size='normal' imageMso='ExportExcel' onAction='OnToolPressed'/>
<button id='Guessexport' label='Распознать и экспортировать' size='normal' imageMso='ExportExcel' onAction='OnToolPressed'/>
<button id='dxfexport' getEnabled='GetDxfEnabled' label='Экспортировать в DXF' size='normal' imageMso='ExportExcel' onAction='OnToolPressed'/>
</group>
<group id='rausettings' getLabel='GetVersionLabel'>

View File

@ -2,12 +2,12 @@
namespace RhSolutions.Services;
public class MagicReader : IReader
public class GuessReader : IReader
{
private readonly Application _application;
private ProgressBar _progressBar;
public MagicReader(Application application)
public GuessReader(Application application)
{
_application = application;
}

View File

@ -13,7 +13,7 @@ public class ReaderFactory
{
return readerName switch
{
"Magic" => (IReader)_serviceProvider.GetService(typeof(MagicReader)),
"Guess" => (IReader)_serviceProvider.GetService(typeof(GuessReader)),
"Excel" => (IReader)_serviceProvider.GetService(typeof(ExcelReader)),
_ => (IReader)_serviceProvider.GetService(typeof(ExcelReader))
};

View File

@ -4,9 +4,9 @@ using System.Runtime.Versioning;
namespace RhSolutions.Tools;
internal class MagicTool : Tool
internal class GuessTool : Tool
{
public MagicTool(IServiceProvider provider) : base(provider)
public GuessTool(IServiceProvider provider) : base(provider)
{
}
@ -14,7 +14,7 @@ internal class MagicTool : Tool
{
Application app = RhSolutionsAddIn.Excel.Application;
Worksheet worksheet = app.ActiveWorkbook.ActiveSheet;
_reader = _readerFactory.GetReader("Magic");
_reader = _readerFactory.GetReader("Guess");
var products = _reader.ReadProducts(new[] { worksheet });
_writer = _writerFactory.GetWriter("Excel");
_writer.WriteProducts(products);

View File

@ -10,7 +10,7 @@ internal class ToolFactory
"convert" => new ConvertTool(RhSolutionsAddIn.ServiceProvider),
"merge" => new MergeTool(RhSolutionsAddIn.ServiceProvider),
"dxfexport" => new DxfTool(RhSolutionsAddIn.ServiceProvider),
"magicexport" => new MagicTool(RhSolutionsAddIn.ServiceProvider),
"Guessexport" => new GuessTool(RhSolutionsAddIn.ServiceProvider),
_ => throw new Exception("Неизвестный инструмент"),
};
return tool;

View File

@ -5,33 +5,31 @@ using System.IO;
namespace RhSolutions.Tests;
[ExcelTestSettings(OutOfProcess = true)]
public class CanDoMagic : IDisposable
public class CanDoGuess : IDisposable
{
private RhSolutionsAddIn _addIn;
//private ReaderFactory _readerFactory;
private IReader _reader;
public CanDoMagic()
public CanDoGuess()
{
_addIn = new();
_addIn.AutoOpen();
//_readerFactory = RhSolutionsAddIn.ServiceProvider.GetRequiredService<ReaderFactory>();
_reader = new MagicReader(Util.Application);
_reader = new GuessReader(Util.Application);
}
[ExcelFact(Workbook = @"..\..\..\TestWorkbooks\TestSpecificationMagic.xlsx")]
[ExcelFact(Workbook = @"..\..\..\TestWorkbooks\TestSpecificationGuess.xlsx")]
public void CanWrite()
{
Worksheet sourceSheet = Util.Workbook.Worksheets[1];
RhSolutionsAddIn.Configuration.SetPriceListPath(Path.GetFullPath(@"..\..\..\TestWorkbooks\TargetSpecificationMagic.xlsx"));
RhSolutionsAddIn.Configuration.SetPriceListPath(Path.GetFullPath(@"..\..\..\TestWorkbooks\TargetSpecificationGuess.xlsx"));
var products = _reader.ReadProducts(new[] { sourceSheet });
var _writer = new ExcelWriter(Util.Application, RhSolutionsAddIn.Configuration);
_writer.WriteProducts(products);
Worksheet targetSheet = Util.Application.ActiveWindow.ActiveSheet;
var targetProducts = _reader.ReadProducts(new[] { targetSheet });
Assert.Equal("TestSpecificationMagic", products.First().Item1);
Assert.Equal("TargetSpecificationMagic", targetProducts.First().Item1);
Assert.Equal("TestSpecificationGuess", products.First().Item1);
Assert.Equal("TargetSpecificationGuess", targetProducts.First().Item1);
Assert.Equal(products.First().Item2.Count(), targetProducts.First().Item2.Count());
Assert.Equal(products.First().Item2.Values.Sum(), targetProducts.First().Item2.Values.Sum());
}