Example #1
0
 public ItemManager(DirectoryInfo pathRoot, Lazy <DirectoryTemplate>?directoryTemplate = null) : base(pathRoot, directoryTemplate)
 {
     SettingsLoader = new JsonFileLoader <TSettings>(
         new FileInfo(Path.Join(PathRoot.FullName, Workspace.PSettings)));
     ListLoader = new JsonFileLoader <Dictionary <string, FileItemValue> >(
         new FileInfo(Path.Join(PathRoot.FullName, "list.json")));
 }
Example #2
0
 public Manager(DirectoryInfo pathRoot)
 {
     PathRoot        = pathRoot;
     CRRoot          = new DirectoryInfo(Path.Join(PathRoot.FullName, PCRDir));
     ExtensionRoot   = new DirectoryInfo(Path.Join(CRRoot.FullName, PExtensionDir));
     _settingsLoader = new JsonFileLoader <CRSettings>(new FileInfo(Path.Join(CRRoot.FullName, PSettings)));
 }
        public Workspace(DirectoryInfo pathRoot) : base(pathRoot, new Lazy <DirectoryTemplate>(() => new WorkspaceTemplate()))
        {
            Assert.IsNotNull(pathRoot);

            CRRoot         = new DirectoryInfo(Path.Join(pathRoot.FullName, PCRRoot));
            Templates      = new TemplateManager(new DirectoryInfo(Path.Join(CRRoot.FullName, PTemplatesRoot)));
            Operations     = new OperationManager(new DirectoryInfo(Path.Join(CRRoot.FullName, POperatorsRoot)));
            SettingsLoader = new JsonFileLoader <WorkspaceSettings>(new FileInfo(Path.Join(CRRoot.FullName, PSettings)));
        }
Example #4
0
        public async Task Json()
        {
            using TempFile tf = new TempFile();
            JsonFileLoader <string> loader = new JsonFileLoader <string>(tf.File);

            Assert.IsNull(await loader.GetData());
            File.WriteAllText(tf.File.FullName, JsonConvert.SerializeObject("a"));
            Assert.AreEqual("a", await loader.GetData());
            await loader.Save("b");

            Assert.AreEqual("b", await loader.GetData());
        }
Example #5
0
        public async Task TestMethod3()
        {
            JsonSettings js = new JsonSettings();

            js.Format = FileFormat.JsonFormatPerLine;
            JsonFileLoader           fp      = new JsonFileLoader(js);
            CancellationTokenSource  ts      = new CancellationTokenSource();
            MessageHandlerForTesting handler = new MessageHandlerForTesting();
            var msgs = await fp.Process("icap_log_2020-06-04T16-16-29_2.json", ts.Token, handler);

            Assert.IsTrue(msgs.Count() == 2);
        }
Example #6
0
        public async Task TestMethod2()
        {
            JsonSettings js = new JsonSettings();

            js.Format = FileFormat.JsonFormatFile;
            JsonFileLoader           fp      = new JsonFileLoader(js);
            CancellationTokenSource  ts      = new CancellationTokenSource();
            MessageHandlerForTesting handler = new MessageHandlerForTesting();
            var msgs = await fp.Process("test2.json", ts.Token, handler);

            Assert.IsTrue(msgs.Count() == 1);
        }
Example #7
0
        public void JsonFileLoaderTest()
        {
            var gliders = new List <Glider>()
            {
                new Glider("Puchacz", false),
                new Glider("Pirat", false)
            };

            var jsonLoader = new JsonFileLoader <Glider>(_jsonPath);
            var result     = jsonLoader.Load(gliders);

            Assert.AreEqual(true, result.Result);

            var glidersJson = File.ReadAllText(_jsonPath);

            var glidersDeserialized = JsonConvert.DeserializeObject <List <Glider> >(glidersJson);

            Assert.AreEqual("Puchacz", glidersDeserialized[0].Type);
            Assert.AreEqual("Pirat", glidersDeserialized[1].Type);
        }
Example #8
0
        public void FullEtlOperationTest()
        {
            // Define data extractor
            List <Glider> MapExtracted(List <List <string> > x) => x
            .Select(y =>
                    new Glider(y[0], Boolean.Parse(y[1])))
            .ToList();

            var extractor = new FileCsvExtractor <Glider>("../../../Data/gliders.csv", ';', MapExtracted);

            // Define data cleanser
            var cleanser = new FileCsvCleanser <Glider>();

            // Define data transformer
            List <Szybowiec> MapTransform(List <Glider> x) => x
            .Select(y => new Szybowiec(y.Type, y.HasEngine))
            .ToList();

            var transformer = new SimpleDataTransformer <Glider, Szybowiec>(MapTransform);

            // Define data loader
            var loader = new JsonFileLoader <Szybowiec>(_jsonPath);

            // ETL operation
            var processor = new ETLProcessor <Glider, Szybowiec>(extractor, cleanser, transformer, loader);
            var result    = processor.Process();

            Assert.AreEqual(true, result.Result);


            // Check output file
            var glidersJson = File.ReadAllText(_jsonPath);

            var glidersDeserialized = JsonConvert.DeserializeObject <List <Szybowiec> >(glidersJson);

            Assert.AreEqual("Puchacz", glidersDeserialized[0].Typ);
            Assert.AreEqual("Pirat", glidersDeserialized[1].Typ);
        }
Example #9
0
        public void LoadTranslations()
        {
            loader = new LocalizationLoader(Loc.Instance);
            JsonFileLoader jsonFileLoader = new JsonFileLoader();

            loader.FileLanguageLoaders.Add(jsonFileLoader);

            loader.AddTranslation("SayHello", "en", "Hello");
            loader.AddTranslation("SayHello", "fr", "Bonjour");

            File.WriteAllText(localizationFileName, GetEmbeddedResource("LocFileTest.loc.json"), Encoding.UTF8);
            File.WriteAllText(structuredTransFileName, GetEmbeddedResource("StructuredTrans.loc.json"), Encoding.UTF8);

            Thread.Sleep(1000);

            loader.AddFile(localizationFileName);
            loader.AddFile(structuredTransFileName);
            jsonFileLoader.LabelPathRootPrefix = "/";
            jsonFileLoader.LabelPathSeparator  = "/";
            jsonFileLoader.LabelPathSuffix     = ":";
            loader.AddFile(structuredTransFileName);

            Loc.Instance.Translators.Add(new InMemoryTranslator());
        }