public async Task ShouldParseJsonFileSuccessfully() { //Arrange var appConfig = new AppConfig { JsonFilePath = "FeedData\\Wolferhampton_Race1.json", XmlFilePath = "FeedData\\Caulfield_Race1.xml" }; var IOptionsMock = Options.Create(appConfig); var loggerMock = new Mock <ILogger <JsonFileParser> >(); var jsonFileParser = new JsonFileParser(IOptionsMock, loggerMock.Object); //Act var horses = await jsonFileParser.ParseAsync(); Horse horse1 = horses.First(); Horse horse2 = horses.Skip(1).First(); //Assert Assert.True(horses.Count() == 2); Assert.True(horse1.Name == "Toolatetodelegate" && horse1.Price == 10m); Assert.True(horse2.Name == "Fikhaar" && horse2.Price == 4.4m); }
public PostModel(int id) { Blog root = JsonFileParser.LoadBlogsPosts(); List <Post> blogPosts = root.BlogPosts; var blogPost = blogPosts.FirstOrDefault(x => x.Id == id); if (blogPost == null) { throw new ArgumentNullException("Blog Should Be Valid Integer"); } Id = blogPost.Id; Date = blogPost.Date; Title = blogPost.Title; Image = blogPost.Image; HtmlContent = blogPost.HtmlContent; if (blogPost.Comments != null) { SetCommentsModel(blogPost.Comments); } else { CommentsModel = new List <CommentModel>(); } }
public static void Main(string[] args) { MainConfig app = JsonFileParser.DeserializeFile <MainConfig> ("Config/MainConfig.json"); var cfg = new LoggingConfiguration(); var console = new ConsoleTarget(); console.Layout = @"${level} [${logger}] - ${message}"; cfg.AddTarget("console", console); LogLevel level = DetermineLogLevel(app.LogLevel); cfg.LoggingRules.Add(new LoggingRule("*", level, console)); LogManager.Configuration = cfg; Logger logger = LogManager.GetCurrentClassLogger(); var uri = String.Format("http://localhost:{0}", app.Port); var host = new NancyHost(new Uri(uri)); logger.Info("Listening on {0}", uri); host.Start(); logger.Info("Connecting to zookeeper and registering service..."); ZookeeperAccessor accessor = new ZookeeperAccessor(app.ZookeeperHost, app.ZookeeperPort); accessor.RegisterService("1.0", "location", app.Port, "/location"); accessor.RegisterService("1.0", "time", app.Port, "/time"); logger.Info("Service registration complete"); while (true) { } }
public void GivenNullFilePath_WhenGetHorsesCalled_ThenReturnEmptyList() { var jsonFileParser = new JsonFileParser(); var horses = jsonFileParser.GetHorses(null); Assert.True(horses.Count() == 0); }
public bool DisplayHorsesFromFile(string path) { //TODO: Use Factory pattern foreach (string file in Directory.GetFiles(path)) { var fileExtension = Path.GetExtension(file).ToLower(); FileParser fileParse = null; if (fileExtension == ".xml") { fileParse = new XmlFileParser(); } else if (fileExtension == ".json") { fileParse = new JsonFileParser(); } if (fileParse != null) { var horses = fileParse.GetRacingHorses(file); Console.WriteLine("Race Name is {0}", fileParse.RaceName); fileParse.DisplayHorsesInOrder(horses); } else { return(false); } } return(true); }
static void Main(string[] args) { IDotNetMethodsInvoker dotNetMethodsInvoker = new DotNetMethodsInvoker(); IMethodDetailsObtainer methodDetailsObtainer = new JsonFileParser(); dotNetMethodsInvoker.InvokeMethods(methodDetailsObtainer); Console.ReadKey(); }
public void GivenJSONFilePath_WhenGetHorsesCalled_ThenReturnListOfHorses() { var jsonFileParser = new JsonFileParser(); var horses = jsonFileParser.GetHorses(@"TestData\Wolferhampton_Race1.json"); Assert.NotNull(horses); Assert.True(horses.Count() > 0); }
public void GetHorseDetails_Success_Case1() { var fileParser = new JsonFileParser(); string path = "TestData/Wolferhampton_Race1.json"; var horses = fileParser.GetHorseDetails(path); Assert.NotNull(horses); Assert.True(horses.Count > 0); }
public void GetHorseFromJsonFile() { var jsonFileParser = new JsonFileParser(); string path = "TestData/Wolferhampton_Race1.json"; var horses = jsonFileParser.GetParticipantHorses(path); Assert.NotNull(horses); Assert.Equal(2, horses.Count); }
static LocationProvider() { Location = JsonFileParser.DeserializeFile <LocationConfig> ("Config/Location.json"); logger.Info("Location services initialized with address '{0}'", Location.Address); var locationService = new GoogleLocationService(); LatLong = locationService.GetLatLongFromAddress(Location.Address); logger.Info("Retrieved lat: {0} long: {1} from google", LatLong.Latitude, LatLong.Longitude); }
public void GetHorsesDetails_Fail_Case2() { var fileParser = new JsonFileParser(); string path = ""; var horses = fileParser.GetHorseDetails(path); Assert.NotNull(horses); Assert.True(horses.Count == 0); }
public void JsonFileParserTest() { try { JsonFileParser parser = new JsonFileParser(); } catch (Exception) { Assert.Fail(); } }
public async Task JsonFilePerFileTest() { JsonFileParser parser = new JsonFileParser(new JsonFormatMessageFields()); CancellationTokenSource cts = new CancellationTokenSource(); string fileName = Path.Combine(Folder, "log files", "JsonFormatPerFile.clef"); MessageHandlerForTesting forTesting = new MessageHandlerForTesting(); var messages = (await parser.Process(fileName, cts.Token, forTesting)).ToList(); Assert.IsTrue(messages.Count == 2); //Assert.IsTrue(messages[0].Text == "Hello, { Name: \"nblumhardt\", Tags: [1, 2, 3] }, 0000007b at 06/07/2016 06:44:57","got"+ messages[0].Text); Assert.IsTrue(messages[0].User == "{ Name: \"nblumhardt\", Tags: [1, 2, 3] }"); }
public async Task CompactJsonFormatFullFileTest() { JsonFileParser parser = new JsonFileParser(new CompactJsonFormatMessageFields()); CancellationTokenSource cts = new CancellationTokenSource(); string fileName = Path.Combine(Folder, "log files", "JsonFileCompactFormat.clef"); MessageHandlerForTesting forTesting = new MessageHandlerForTesting(); var messages = (await parser.Process(fileName, cts.Token, forTesting)).ToList(); Assert.IsTrue(messages.Count == 2); Assert.IsTrue(messages[0].MachineName == "MY-MACHINE"); Assert.IsTrue(messages[1].Text.StartsWith("An unknown error occurred")); Assert.IsTrue((messages[1].Module == "My process")); }
public async Task ShouldParseJsonFileWithAnException() { //Arrange var appConfig = new AppConfig { JsonFilePath = "", XmlFilePath = "FeedData\\Caulfield_Race1.xml" }; var IOptionsMock = Options.Create(appConfig); var loggerMock = new Mock <ILogger <JsonFileParser> >(); var jsonFileParser = new JsonFileParser(IOptionsMock, loggerMock.Object); //Act and Assert await Assert.ThrowsAsync <DirectoryNotFoundException>(() => jsonFileParser.ParseAsync()); }
public void AddComment() { Blog root = JsonFileParser.LoadBlogsPosts(); Comment comment = new Comment { Name = NewComment.Name, Date = DateTime.Now, EmailAddress = NewComment.EmailAddress, Message = NewComment.Message }; Post blogPost = root.BlogPosts.FirstOrDefault(x => x.Id == this.Id); comment.Id = blogPost?.Comments?.Count + 1 ?? 1; blogPost?.AddComment(comment); JsonFileParser.SaveToJson(root); }
public void AddReply(int commentId) { Reply reply = new Reply { Name = NewComment.Name, Date = DateTime.Now, EmailAddress = NewComment.EmailAddress, Message = NewComment.Message }; Blog root = JsonFileParser.LoadBlogsPosts(); Post blogPost = root.BlogPosts.FirstOrDefault(x => x.Id == this.Id); if (blogPost != null) { Comment comment = blogPost.Comments.FirstOrDefault(x => x.Id == commentId); comment?.AddReply(reply); } JsonFileParser.SaveToJson(root); }
/// <summary> /// Adds the json file to the configuration. Multiple different files can be added. /// Use root expression syntax for file selection <example>$(filename).some.path</example> /// </summary> /// <param name="configuration"></param> /// <param name="file">the file to use</param> /// <param name="eagerLoad">load the file eagerly instead of lazily</param> /// <returns></returns> public static IEnvironmentConfiguration WithJsonFile(this IEnvironmentConfiguration configuration, string file, bool eagerLoad = false) { JsonFileParser parser = null; if (configuration.HasValue(typeof(JsonFileParser).FullName)) { parser = configuration.GetValue <JsonFileParser>(typeof(JsonFileParser).FullName); } else { configuration.SetValue(typeof(JsonFileParser).FullName, parser = new JsonFileParser()); } if (parser.Files.Keys.Any(x => String.Equals(x, file, StringComparison.OrdinalIgnoreCase))) { return(configuration); } else { var data = new JsonFileParser.FileDataHolder(); if (eagerLoad) { try { data.ParsedFile = JsonManager.Parse(File.ReadAllText(file)); } catch { data.ParsingFailed = true; } } data.Path = file; parser.Files.Add(file, data); } return(configuration); }
private JsonFileParser CreateTestee() { var jsonFactoryMock = A.Fake <IJsonFactory>(); A.CallTo(() => jsonFactoryMock.CreateJsonTextReader(A <string> .Ignored)).Returns(_jsonTextReaderMock); A.CallTo(() => _jsonTextReaderMock.TokenType).Returns(JsonToken.String); A.CallTo(() => _jsonTextReaderMock.Read()).ReturnsNextFromSequence(true, true, true, true, false); var lineCounter = 0; var texts = new[] { "A", "B", "C", "D" }; A.CallTo(() => _jsonTextReaderMock.LineNumber).ReturnsLazily(() => ++ lineCounter); A.CallTo(() => _jsonTextReaderMock.Value).ReturnsLazily(() => texts[lineCounter - 1 % 4]); A.CallTo(() => _jsonTextReaderMock.Path).Returns(SourcePath); var fileHelperMock = A.Fake <IFileHelper>(); A.CallTo(() => fileHelperMock.GetNumberOfLines(A <string> .Ignored)).Returns(4); var filePropertiesMock = A.Fake <IFileProperties>(); var testee = new JsonFileParser( jsonFactoryMock, fileHelperMock, _embeddedContentRegexSettingsMock, _parsingSettingsMock, _paragraphUnitFactoryMock, _segmendDataCollectorMock) { ItemFactory = _itemFactoryMock, Output = _bilingualContentHandlerMock }; testee.SetFileProperties(filePropertiesMock); return(testee); }
public void GivenInvalidFilePath_WhenGetHorsesCalled_ThenExceptionThrown() { var jsonFileParser = new JsonFileParser(); Assert.Throws <FileNotFoundException>(() => jsonFileParser.GetHorses(@"TestData\test.json")); }
public void GivenPathToTextFile_WhenGetHorsesCalled_ThenExceptionThrown() { var jsonFileParser = new JsonFileParser(); Assert.Throws <JsonReaderException>(() => jsonFileParser.GetHorses(@"TestData\TextFile1.txt")); }
public void TestClean() { _jsonFileParser = null; }
public JsonParserTests() { _parser = new JsonFileParser(); }
public void TestInit() { _jsonFileParser = new JsonFileParser <Config>(); }