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); } }); }
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); }