Пример #1
0
        public void TestInputFileFull(string filename, string notExist)
        {
            var          _filename  = string.Format(filename, notExist).GetLocalPath();
            var          _fileExist = File.Exists(_filename);
            FileReadFull fl         = new FileReadFull()
            {
                Filename = _filename
            };
            int caller = 0; int error = 0;

            fl.Output.Select(s => new ContentSchema <string>()
            {
                Content = s
            })
            .Catch((Exception ex) =>
            {
                Debug.WriteLine(ex.Message); ++error;
                return(Observable.Empty <ContentSchema <string> >());
            })
            .Subscribe(s =>
            {
                Debug.WriteLine($"{++caller}-{s.Content.ToString()}");
            },
                       (ex) =>
            {
                if (_fileExist)
                {
                    throw ex;
                }
                Debug.WriteLine($"Good catch of {nameof(TestInputFileFull)}");
            },
                       () =>
            {
                if (_fileExist)
                {
                    Assert.AreEqual(caller, 1);
                    Assert.AreEqual(error, 0);
                }
                else
                {
                    Assert.AreEqual(caller, 0);
                    Assert.AreEqual(error, 1);
                }
            });
        }
Пример #2
0
        protected override Task InternalStart(CancellationToken token)
        {
            FileReadFull fl = new FileReadFull()
            {
                Filename = Filename
            };

            fl.Output
            .Select(s => InternalInputTransform(JsonSerializer.Deserialize <TInputSchema>(s)))
            .Subscribe(OutputHandler, token);

            /*    int counter = 0;
             *  var jsonString = File.ReadAllText(Filename);
             *  row = JsonSerializer.Deserialize<TInputSchema>(jsonString);
             *
             *
             *  var transformed = InternalInputTransform(row);
             *  InternalSendOutput(counter++, transformed);*/


            return(Task.CompletedTask);
        }