private static (AssemblyInformation assembly, Assembly?msAssembly) CreateManagedAssemblyInformation(MetadataLoadContext context, AssemblyName assemblyName, string baseDirectory, string extension = "dll") { var assemblyPath = FilePathProvider.GetAssemblyPath($"{assemblyName.Name}.{extension}", baseDirectory); Assembly?assembly = null; try { assembly = File.Exists(assemblyPath) ? context.LoadFromAssemblyPath(assemblyPath ?? string.Empty) : context.LoadFromAssemblyName(assemblyName); } catch { // In this case, assembly is not found } var assemblyShortName = assemblyName.Name ?? string.Empty; var assemblyVersion = assemblyName.Version?.ToString() ?? string.Empty; var info = new AssemblyInformation(assemblyShortName, assembly?.GetName().Version?.ToString() ?? assemblyVersion, assemblyPath) { IsLocalAssembly = assemblyPath != null || assembly == null, AssemblyName = assemblyName.FullName, IsResolved = assembly != null }; info.EnhancePropertiesWithFile(); info.EnhanceProperties(assembly?.GetModules().First()); return(info, assembly); }
public void ExecuteBrowseFile() { if (FilePathProvider != null) { PathVariable = FilePathProvider.Browse(); } }
private static (AssemblyInformation assembly, AssemblyDefinition?monoAssembly) CreateManagedAssemblyInformation(AssemblyNameReference assemblyName, string?baseDirectory, string extension = "dll") { var assemblyPath = FilePathProvider.GetAssemblyPath($"{assemblyName.Name}.{extension}", baseDirectory); AssemblyDefinition?assembly = null; try { using var resolver = new DefaultAssemblyResolver(); assembly = assemblyPath != null?AssemblyDefinition.ReadAssembly(assemblyPath) : resolver.Resolve(assemblyName); } catch { // do nothing, assembly is not found } var info = new AssemblyInformation(assemblyName.Name, assembly?.Name.Version.ToString() ?? assemblyName.Version.ToString(), assemblyPath) { IsLocalAssembly = assemblyPath != null || assembly == null, AssemblyName = assembly?.FullName ?? assemblyName.FullName, IsResolved = assembly != null, HasEntryPoint = assembly?.EntryPoint != null }; info.EnhancePropertiesWithFile(); info.EnhanceProperties(assembly); return(info, assembly); }
public void Read_ReturnedTwoProvidedTips() { string inputFileName = FilePathProvider.ProvideFullPathToFile("TestTips.json", inputDataDirectoryName); var sut = new ProvidedTipsReader(inputFileName); ProvidedTips providedTips = sut.Read(); Assert.That(providedTips.Count, Is.EqualTo(2)); }
public void Read_ReturnsProvidedTipsObject() { string inputFileName = FilePathProvider.ProvideFullPathToFile("TestTips.json", inputDataDirectoryName); var sut = new ProvidedTipsReader(inputFileName); ProvidedTips providedTips = sut.Read(); Assert.That(providedTips, Is.InstanceOf <ProvidedTips>()); }
private void PersistToFile(IEnumerable <DataAtom> finalDataList, string fileName) { FilePathProvider.EnsureFileWithFolder(fileName); using (StreamWriter sw = File.AppendText(fileName)) { foreach (var item in finalDataList) { sw.WriteLine(item.ToString()); } } }
public void GetPath_Should_Return_CorrectPath() { // arrange FilePathProvider service = new FilePathProvider(); // act var result = service.GetPath(); // assert Assert.Equal("../VCharge.UnitTests/TestData/MeterData.csv", result); }
public void Read_ReturnsCandidateNameElectionGainPairsObject() { //prepare var inputFileNameFullPath = FilePathProvider.ProvideFullPathToFile("TestResults.json", inputDataDirectoryName); var sut = new ElectionResultsReader(inputFileNameFullPath); //act CandidateNameElectionGainPairs candidateNameElectionGainPairs = sut.Read(); //assert Assert.That(candidateNameElectionGainPairs, Is.TypeOf <CandidateNameElectionGainPairs>()); }
public void Serialize() { if (Reflector != null) { string pathToSaveSerializedFile = FilePathProvider.Browse(); if (pathToSaveSerializedFile != "") { Reflector.SerializeAssembly(pathToSaveSerializedFile); } } }
public static async Task Main(string[] args) { var commandLineProvider = new CommandLineProvider(); var filePathProvider = new FilePathProvider(commandLineProvider); var builder = new HostBuilder() .ConfigureAppConfiguration((hostingContext, config) => { ConfigureHost(config, args, filePathProvider); }) .ConfigureServices((hostContext, services) => { services.AddOptions(); services.Configure <BotConfig>(hostContext.Configuration.GetSection("config")); services.AddSingleton <IHostedService, BotService>(); services.AddSingleton <IDataStorage, DataStorage>(); services.AddSingleton <IConfigProvider, ConfigProvider>(); services.AddSingleton <BotTelegramClient, BotTelegramClient>(); services.AddSingleton <IBotTelegramClient>(s => s.GetRequiredService <BotTelegramClient>()); services.AddSingleton <IBotTelegramClientControl>(s => s.GetRequiredService <BotTelegramClient>()); services.AddSingleton(commandLineProvider); services.AddSingleton(filePathProvider); //services.AddSingleton<AsusRouterRequestService>(); services.AddSingleton <KeeneticRouterRequestService>(); services.AddSingleton <TransmissionService>(); var types = Assembly.GetExecutingAssembly() .GetTypes() .ToArray(); // Поиск и регистрация обработчиков команд. foreach (var type in types) { if (!typeof(IBotCommandHandler).IsAssignableFrom(type) || !type.IsClass) { continue; } services.AddSingleton(typeof(IBotCommandHandler), type); services.AddSingleton(type, type); } services.AddSingleton <IBotDocumentHandler, TorrentDocumentHandler>(); }) .ConfigureLogging((hostingContext, logging) => { ConfigureLogging(logging); }); await builder.RunConsoleAsync(); }
public void ElectionResultsReaderObject_InitializedCorrectly() { //prepare var inputFileNameFullPath = FilePathProvider.ProvideFullPathToFile("TestResults.json", inputDataDirectoryName); //act var sut = new ElectionResultsReader(inputFileNameFullPath); Console.WriteLine($"Full file name: {sut.InputFileName}"); //assert Assert.That(sut.InputFileName, Is.EqualTo(inputFileNameFullPath)); }
public void Deserialize() { string pathToSerializedFile = FilePathProvider.Browse(); if (pathToSerializedFile != null) { Reflector = new Reflector(); Reflector.DeserializeAssembly(pathToSerializedFile); HierarchicalAreas.Clear(); TreeViewLoaded(); } }
public void ProvidedTipsReaderObject_InitializedCorrectly() { //prepare string inputFileName = FilePathProvider.ProvideFullPathToFile("TestTips.json", inputDataDirectoryName); //act var sut = new ProvidedTipsReader(inputFileName); Console.Error.WriteLine($"Full file name: {sut.InputFileName}"); //verify Assert.That(sut.InputFileName, Is.EqualTo(inputFileName)); }
public void Read_ReadoutValuesFitWithValuesInFile_Tip2() { string inputFileName = FilePathProvider.ProvideFullPathToFile("TestTips.json", inputDataDirectoryName); var sut = new ProvidedTipsReader(inputFileName); ProvidedTips providedTips = sut.Read(); Assert.That(providedTips[1].TipperName, Is.EqualTo("Miso")); Assert.That(providedTips[1].Tips[0].CandidateName, Is.EqualTo("TestCandidate1")); Assert.That(providedTips[1].Tips[0].ElectionGainInPercent, Is.EqualTo(40)); Assert.That(providedTips[1].Tips[1].CandidateName, Is.EqualTo("TestCandidate2")); Assert.That(providedTips[1].Tips[1].ElectionGainInPercent, Is.EqualTo(25)); Assert.That(providedTips[1].Tips[2].CandidateName, Is.EqualTo("TestCandidate3")); Assert.That(providedTips[1].Tips[2].ElectionGainInPercent, Is.EqualTo(20)); }
private static EncodingTaskBase ConvertToAssemblyLineIfNeeded(EncodingTask[] encodingSteps, string file) { var filePathProvider = new FilePathProvider(file); if (encodingSteps.Length == 1) { // Only a single task so we don't need an assembly line. Just return the task. var task = encodingSteps[0]; task.FileProvider = filePathProvider; return(task); } return(new AssemblyLine(filePathProvider, encodingSteps)); }
static void Main(string[] args) { IPathProvider pathProvider = new FilePathProvider(); string sourceFilePath = pathProvider.GetSourcePath(); string targetFilePath = pathProvider.GetTargetPath(); IDataProvider dataProvider = resolver.Get <IDataProvider>(new Ninject.Parameters.ConstructorArgument("filePath", sourceFilePath)); ILogger logger = resolver.Get <ILogger>(); var firstP = new Ninject.Parameters.ConstructorArgument("dataProvider", dataProvider); var secondP = new Ninject.Parameters.ConstructorArgument("logger", logger); Converter <XDocument> converter = resolver.Get <Converter <XDocument> >(firstP, secondP); Console.WriteLine(converter.Convert()); converter.SaveToFile(targetFilePath); }
private void PersistPerHour(IEnumerable <DataAtom> finalDataList) { if (finalDataList.Count() == 0) { return; } var start = finalDataList.Min(s => s.Time); var end = finalDataList.Max(s => s.Time); for (DateTime i = start; i < end.AddHours(1); i = i.AddHours(1)) { PersistToFile( finalDataList.Where(s => s.Time >= i && s.Time < i.AddHours(1)), FilePathProvider.GetHourSummary(i)); } }
public void Read_ReadOutValuesFitWithValuesInFile() { //prepare var inputFileNameFullPath = FilePathProvider.ProvideFullPathToFile("TestResults.json", inputDataDirectoryName); var sut = new ElectionResultsReader(inputFileNameFullPath); //act CandidateNameElectionGainPairs candidateNameElectionGainPairs = sut.Read(); //assert Assert.That(candidateNameElectionGainPairs[0].CandidateName, Is.EqualTo("TestCandidate1")); Assert.That(candidateNameElectionGainPairs[1].CandidateName, Is.EqualTo("TestCandidate2")); Assert.That(candidateNameElectionGainPairs[2].CandidateName, Is.EqualTo("TestCandidate3")); Assert.That(candidateNameElectionGainPairs[0].ElectionGainInPercent, Is.EqualTo(40)); Assert.That(candidateNameElectionGainPairs[1].ElectionGainInPercent, Is.EqualTo(30)); Assert.That(candidateNameElectionGainPairs[2].ElectionGainInPercent, Is.EqualTo(20)); }
public void WhenRunIsCalledThenScreenshotEngineTakesASnapshotForEachUrl() { var mockScreenshotProvider = new Mock <IScreenshotProvider>(); var filePathProvider = new FilePathProvider("TestDirectory"); var sut = new ScreenshotRunner(mockScreenshotProvider.Object, filePathProvider); var screenshotDefinitions = new[] { new ScreenshotDefinition("url1", "fileName1"), new ScreenshotDefinition("url2", "fileName2") }; sut.CreateScreenshots(screenshotDefinitions); mockScreenshotProvider.Verify(x => x.SaveScreenshot("url1", @"TestDirectory\fileName1"), Times.Once); mockScreenshotProvider.Verify(x => x.SaveScreenshot("url2", @"TestDirectory\fileName2"), Times.Once); }
public void Count_RealResults_ForParliamentElections2020() { //prepare var realElectionResultsFile = FilePathProvider.ProvideFullPathToFile("ParliamentElections2020Results.json", @"Source\PresidentElection\InputData"); var realTipsFile = FilePathProvider.ProvideFullPathToFile("ParliamentElections2020Tips.json", @"Source\PresidentElection\InputData"); var sut = new ContestEvaluation(realElectionResultsFile, realTipsFile); //act var result = sut.CountScore(1, 6).OrderBy(x => x.Score).ToList(); int i = 0; Console.WriteLine("{0} {1,6} {2,7}", "Place", "Name", "Score"); Console.WriteLine("--------------------"); foreach (var evaluatedTip in result) { Console.WriteLine($"{++i,3}. {evaluatedTip.TipperName,7} {evaluatedTip.Score,7}"); } }
public void Read_ReturnedThreeCandidateNameElectionGainPairs() { //prepare var inputFileNameFullPath = FilePathProvider.ProvideFullPathToFile("TestResults.json", inputDataDirectoryName); var sut = new ElectionResultsReader(inputFileNameFullPath); //act CandidateNameElectionGainPairs candidateNameElectionGainPairs = sut.Read(); foreach (var candidateNameElectionGainPair in candidateNameElectionGainPairs) { Console.Error.WriteLine($"candidate name: {candidateNameElectionGainPair.CandidateName}"); Console.Error.WriteLine($"result in percent : {candidateNameElectionGainPair.ElectionGainInPercent}"); } //assert Assert.That(candidateNameElectionGainPairs.Count, Is.EqualTo(3)); }
private void PersistPerDay(IEnumerable <DataAtom> finalDataList) { if (finalDataList.Count() == 0) { return; } // TODO This method needs to be called by writestore sometime. var start = finalDataList.Min(s => s.Time); var end = finalDataList.Max(s => s.Time); for (DateTime i = start; i < end.AddDays(1); i = i.AddDays(1)) { PersistToFile( finalDataList.Where(s => s.Time >= i && s.Time < i.AddDays(1)), FilePathProvider.GetDaySummary(i)); } }
public void RunTests() { var screenshots = new[] { new ScreenshotDefinition( @"http://www.thelondonclinic.co.uk/patient-care/your-stay-at-the-london-clinic", "Your_Stay.png"), new ScreenshotDefinition(@"http://www.thelondonclinic.co.uk/eye-centre", "Eye_Centre.png") }; var oldFilePath = new FilePathProvider("Original"); var newFilePath = new FilePathProvider("New"); var screenshotProvider = new ScreenshotProvider(new ChromeDriver(@"Drivers/")); var runner = new ScreenshotRunner(screenshotProvider, oldFilePath); runner.CreateScreenshots(screenshots); var screenshotEngine = new ScreenshotTestEngine(oldFilePath, newFilePath, screenshotProvider); var testRunner = new ScreenshotTestRunner(screenshotEngine, screenshots); var results = testRunner.Run(); }
public void Open(FilePathProvider filePathProvider) { string newFilePath = filePathProvider(FilePath); if (newFilePath != null) { using (var stream = File.OpenRead(newFilePath)) { World worldModel = DogFight.World.LoadFrom(stream); var worldContext = new WorldContext(this, worldModel); New(worldContext); FilePath = newFilePath; } } }
private IEnumerable <DataAtom> GetData(DateTime start, DateTime end) { return(FilePathProvider.GetFilesToRead(start, end) .SelectMany(file => LoadDataFromFile(file)) .Where(data => data.Time >= start && data.Time <= end)); }
private static void ConfigureHost(IConfigurationBuilder builder, string[] args, FilePathProvider filePathProvider) { var configDirectoryPath = filePathProvider.GetConfigDirectoryPath(); if (!Directory.Exists(configDirectoryPath)) { Directory.CreateDirectory(configDirectoryPath); } var configFilePath = Path.Combine(configDirectoryPath, AppSettingsFilename); if (!File.Exists(configFilePath)) { var assembly = Assembly.GetEntryAssembly(); using (var resource = assembly.GetManifestResourceStream("iznakurnoz.Bot.Resources.iznakurnozbot.conf")) { using (var textStream = new FileStream(configFilePath, FileMode.Create)) { resource.Seek(0, SeekOrigin.Begin); resource.CopyTo(textStream); textStream.Flush(); textStream.Close(); } } } builder .AddJsonFile(configFilePath, optional: false, reloadOnChange: true) .Build(); builder.AddEnvironmentVariables(); if (args != null) { builder.AddCommandLine(args); } }
public void SetUp() { electionResultsFile = FilePathProvider.ProvideFullPathToFile("TestResults.json", @"Tests\PresidentElection\InputData"); providedTipsFile = FilePathProvider.ProvideFullPathToFile("TestTips.json", @"Tests\PresidentElection\InputData"); }
public void NominalTest() { var rootFolder = Guid.NewGuid().ToString("N"); try { var filePathProvider = new FilePathProvider(rootFolder); var dataProvider = Substitute.For <IDataProvider>(); dataProvider.Fetch(Arg.Any <string>(), Arg.Any <DateTime>(), Arg.Any <DateTime>()) .ReturnsForAnyArgs(p => p.ArgAt <DateTime>(1).SplitDaysTo(p.ArgAt <DateTime>(2)) .SelectMany(d => Fmds(filePathProvider, p.ArgAt <string>(0), new[] { "Column_1", "Column_2", "Column_3" }, d)) .Select(CreateFile)); var streamFactory = Substitute.For <IStreamFactory <IStream> >(); var mockStream = Substitute.For <IStream>(); streamFactory.CreateReader(Arg.Any <string>()).Returns(mockStream); var provider = new StreamProvider <IStream>(filePathProvider, streamFactory, dataProvider); var symbol = "Symbol"; // Initial request CheckDataCollect("2018-03-01", "2018-03-31"); // 2nd request in the future from the first one CheckDataCollect("2018-05-01", "2018-05-31"); // 3th request in the past from the first one CheckDataCollect("2018-01-01", "2018-01-31"); // 4th request between 1st and 2nd CheckDataCollect("2018-04-01", "2018-04-30"); // Request already collected data CheckDataReadOnly("2018-03-15", "2018-05-15"); // Request both CheckMixed("2018-01-15", "2018-03-15", "2018-02-01", "2018-03-01"); void CheckDataCollect(string startStr, string endStr) { var start = startStr.ToDateTime(); var end = endStr.ToDateTime(); var dates = start.SplitDaysTo(end).ToArray(); var idx = 0; foreach (var stream in provider.Fetch("Symbol", "Column_2", start, end)) { var date = dates[idx++]; var filePath = filePathProvider.GetFilePath("Symbol", "Column_2", date); streamFactory.Received(1).CreateReader(Arg.Is <string>(p => string.Equals(p, filePath))); streamFactory.Received(1).CreateReader(Arg.Any <string>()); streamFactory.ClearReceivedCalls(); Assert.AreEqual(mockStream, stream); } Assert.AreEqual(dates.Length, idx); dataProvider.Received(1).Fetch( Arg.Is <string>(p => p == symbol), Arg.Is <DateTime>(p => p == start), Arg.Is <DateTime>(p => p == end)); dataProvider.ClearReceivedCalls(); } void CheckDataReadOnly(string startStr, string endStr) { var start = startStr.ToDateTime(); var end = endStr.ToDateTime(); var dates = start.SplitDaysTo(end).ToArray(); var idx = 0; foreach (var stream in provider.Fetch("Symbol", "Column_2", start, end)) { var date = dates[idx++]; var filePath = filePathProvider.GetFilePath("Symbol", "Column_2", date); streamFactory.Received(1).CreateReader(Arg.Is <string>(p => string.Equals(p, filePath))); streamFactory.Received(1).CreateReader(Arg.Any <string>()); streamFactory.ClearReceivedCalls(); Assert.AreEqual(mockStream, stream); } Assert.AreEqual(dates.Length, idx); dataProvider.DidNotReceive().Fetch(Arg.Any <string>(), Arg.Any <DateTime>(), Arg.Any <DateTime>()); } void CheckMixed(string startStr, string endStr, string collectStartStr, string collectEndStr) { var start = startStr.ToDateTime(); var end = endStr.ToDateTime(); var dates = start.SplitDaysTo(end).ToArray(); var idx = 0; foreach (var stream in provider.Fetch("Symbol", "Column_2", start, end)) { var date = dates[idx++]; var filePath = filePathProvider.GetFilePath("Symbol", "Column_2", date); streamFactory.Received(1).CreateReader(Arg.Is <string>(p => string.Equals(p, filePath))); streamFactory.Received(1).CreateReader(Arg.Any <string>()); streamFactory.ClearReceivedCalls(); Assert.AreEqual(mockStream, stream); } Assert.AreEqual(dates.Length, idx); dataProvider.Received(1).Fetch( Arg.Is <string>(p => p == symbol), Arg.Is <DateTime>(p => p == collectStartStr.ToDateTime()), Arg.Is <DateTime>(p => p == collectEndStr.ToDateTime().AddTicks(-1))); dataProvider.ClearReceivedCalls(); } } finally { Directory.Delete(rootFolder, true); } }
internal FilePersister(string filename) { filePathProvider = new FilePathProvider(filename); reader = new FileReader(); writer = new FileWriter(); }
public void SaveAs(FilePathProvider filePathProvider) { string newFilePath = filePathProvider(FilePath); if (newFilePath != null) { FilePath = newFilePath; Save(); } }
public void SetUp() { provider = new FilePathProvider(Filename); }