Ejemplo n.º 1
0
        public async Task TestFileCSV()
        {
            #region ARRANGE
            StringBuilder sb = new StringBuilder();
            sb.AppendLine("model,Track_number");
            sb.AppendLine("Ford,B325ROS");
            sb.AppendLine("Audi,PL654CSM");
            sb.AppendLine("BMW,B325DFH");
            sb.AppendLine("Ford,B325IYS");

            string filename = SimpleJobConditionalTransformersTest.DeleteFileIfExists("mycsv.csv");

            File.WriteAllText(filename, sb.ToString());

            #endregion
            #region ACT
            var CSVfile = new ReceiverCSVFileInt(filename, Encoding.ASCII);
            await CSVfile.LoadData();

            #endregion
            #region ASSERT
            Assert.AreEqual(4, CSVfile.valuesRead.Length);
            Assert.AreEqual("Ford", CSVfile.valuesRead[0].Values["model"].ToString());
            Assert.AreEqual("B325ROS", CSVfile.valuesRead[0].Values["Track_number"].ToString());
            #endregion
        }
        public async Task Test2Receivers()
        {
            #region arrange
            var dir = AppContext.BaseDirectory;
            dir = Path.Combine(dir, "Test2Receivers");
            if (Directory.Exists(dir))
            {
                Directory.Delete(dir, true);
            }
            Directory.CreateDirectory(dir);
            string fileNameToWrite = "andrei.txt";
            string fullNameFile    = Path.Combine(dir, fileNameToWrite);
            if (File.Exists(fullNameFile))
            {
                File.Delete(fullNameFile);
            }

            File.WriteAllText(fullNameFile, "andrei ignat");

            IReceive      folder = new ReceiverFolderHierarchical(dir, "andrei.txt");
            StringBuilder sb     = new StringBuilder();
            sb.AppendLine("model,Track_number");
            sb.AppendLine("Ford,B325ROS");
            sb.AppendLine("Audi,PL654CSM");
            sb.AppendLine("BMW,B325DFH");
            sb.AppendLine("Ford,B325IYS");

            string filenameCSV = "mycsv.csv";
            if (File.Exists(filenameCSV))
            {
                File.Delete(filenameCSV);
            }
            File.WriteAllText(filenameCSV, sb.ToString());
            //System.Diagnostics.Process.Start("notepad.exe", filenameCSV);
            var CSVfile = new ReceiverCSVFileInt(filenameCSV, Encoding.ASCII);
            #endregion
            #region ACT
            var m = new AsyncReceiverMultiple(CSVfile, folder);
            await m.LoadData();

            #endregion
            #region assert
            //4 records in CSV + 1 folder + 1 file
            Assert.AreEqual(6, m.valuesRead.Length);
            #endregion
        }
Ejemplo n.º 3
0
        public async Task TestFile()
        {
            #region arrange
            StringBuilder sb = new StringBuilder();
            sb.AppendLine("model,Track_number");
            sb.AppendLine("Ford,B325ROS");
            sb.AppendLine("Audi,PL654CSM");
            sb.AppendLine("BMW,B325DFH");
            sb.AppendLine("Ford,B325IYS");

            string filename = SimpleJobConditionalTransformersTest.DeleteFileIfExists("mycsv.csv");

            File.WriteAllText(filename, sb.ToString());
            var CSVfile = new ReceiverCSVFileInt(filename, Encoding.ASCII);
            await CSVfile.LoadData();

            string filenameJSON = SimpleJobConditionalTransformersTest.DeleteFileIfExists("cars.json");

            var sjons = new Sender_JSON(filenameJSON);
            sjons.valuesToBeSent = CSVfile.valuesRead;
            await sjons.Send();


            #endregion
            #region act
            var f = new ReceiverJSONFileInt(filenameJSON, Encoding.UTF8);
            await f.LoadData();

            #endregion
            #region assert

            f?.valuesRead?.Length.ShouldBe(4);
            f.valuesRead[0].Values["model"].ShouldBe("Ford");
            f.valuesRead[0].Values["Track_number"].ShouldBe("B325ROS");
            f.valuesRead[1].Values["model"].ShouldBe("Audi");
            f.valuesRead[1].Values["Track_number"].ShouldBe("PL654CSM");
            f.valuesRead[3].Values["Track_number"].ShouldBe("B325IYS");


            #endregion
        }
Ejemplo n.º 4
0
        public async Task TransmitDataJob2JobFileHardDisk()
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendLine("model,Track_number");
            sb.AppendLine("Ford,B325ROS");
            sb.AppendLine("Audi,PL654CSM");
            sb.AppendLine("BMW,B325DFH");
            sb.AppendLine("Ford,B325IYS");

            string filename = SimpleJobConditionalTransformersTest.DeleteFileIfExists("mycsv.csv");

            File.WriteAllText(filename, sb.ToString());
            var    CSVReceiver  = new ReceiverCSVFileInt(filename, Encoding.ASCII);
            string bin          = SimpleJobConditionalTransformersTest.DeleteFileIfExists("a.bin");
            var    senderBinary = new Sender_Binary(bin);

            var job = new SimpleJob();

            job.Receivers.Add(0, CSVReceiver);
            job.Senders.Add(0, senderBinary);

            var continueJob = new SimpleJob();
            var binReceiver = new ReceiverFileFromStorageBinary(bin);

            continueJob.Receivers.Add(0, binReceiver);


            #region ACT
            await job.Execute();

            await continueJob.Execute();

            #endregion
            #region assert
            Assert.AreEqual(4, binReceiver.valuesRead.Length);
            Assert.AreEqual("Ford", binReceiver.valuesRead[0].Values["model"]);
            Assert.AreEqual("B325IYS", binReceiver.valuesRead[3].Values["Track_number"]);
            #endregion
        }
Ejemplo n.º 5
0
        public static SimpleJobConditionalTransformers GetJobCSV()
        {
            #region ARRANGE
            StringBuilder sb = new StringBuilder();
            sb.AppendLine("model,Track_number,buyYear");
            sb.AppendLine("Ford,B325ROS,1990");
            sb.AppendLine("Audi,PL654CSM,2004");
            sb.AppendLine("BMW,B325DFH,2005");
            sb.AppendLine("Ford,B325IYS,2007");

            string filename = "mycsv.csv";

            File.WriteAllText(filename, sb.ToString());
            //define a receiver
            var receiverCSV = new ReceiverCSVFileInt(filename, Encoding.ASCII);
            //receiverCSV.Name = "From model:" + filename;
            //define a sender to csv for all records
            var senderAllToCSV = new Sender_CSV(DeleteFileIfExists("myAll.csv"));
            //senderAllToCSV.Name = "to csv allRecords";

            //define a filter for audi
            var filterAudi = new FilterComparableEqual(typeof(string), "Audi", "model");

            //define a sender just for audi
            var senderCSVAudi = new Sender_CSV(DeleteFileIfExists("myAudi.csv"));
            //senderCSVAudi.Name= "sender CSV";
            //define a filter to transform the buyYear to string

            var buyYearTOString = new TransformerFieldStringInt("buyYear", "NewBuyYear");
            //buyYearTOString.Name = "transform buyYear to int";
            //define a filter for year>2000
            var filterYear2000 = new FilterComparableGreat(typeof(int), 2000, "NewBuyYear");

            //define a sender the year > 2000 to csv
            var sender2000CSV = new Sender_CSV(DeleteFileIfExists("my2000.csv"));
            //sender2000CSV.Name = "sender CSV";
            //define a sender the year > 2000 to json
            var sender2000JSon = new Sender_JSON(DeleteFileIfExists("my2000.js"));
            //sender2000JSon.Name = "sender json";
            //define a filter for Ford
            var filterFord = new FilterComparableEqual(typeof(string), "Ford", "model");

            //define a sender just for ford
            var senderCSVFord = new Sender_CSV(DeleteFileIfExists("myFord.csv"));
            //senderCSVFord.Name = "sender CSV";
            var cond = new SimpleJobConditionalTransformers();
            //add a receiver
            cond.Receivers.Add(0, receiverCSV);

            //add a sender to csv for all records
            cond.AddSender(senderAllToCSV);



            //add a filter to transform the buyYear to string
            //and then fiter for year>2000
            var buy = cond.Add(buyYearTOString, filterYear2000);

            //send the year> 2000 to csv
            cond.Add(filterYear2000, sender2000CSV);
            //send the year >2000 to json
            cond.Add(filterYear2000, sender2000JSon);


            //add a filter for audi and a sender just for audi
            cond.Add(filterAudi, senderCSVAudi);

            //add a filter for ford and a sender just for ford
            cond.Add(filterFord, senderCSVFord);

            return(cond);

            #endregion
        }