public async Task GetPeople_Broken1_ReturnsPeople() { var fakeReader = new BrokenReader(1); var retryDelay = new TimeSpan(0); var reader = new RetryReader(fakeReader, retryDelay); var result = await reader.GetPeople(); Assert.IsNotNull(result); }
private static void ComposeObjects() { var reader = new ServiceReader(); var delay = new TimeSpan(0, 0, 3); var retryReader = new RetryReader(reader, delay); var logger = new FileLogger(); var loggingReader = new ExceptionLoggingReader(retryReader, logger); var duration = new TimeSpan(0, 0, 10); var cachingReader = new CachingReader(loggingReader, duration); var viewModel = new PeopleReaderViewModel(cachingReader); Application.Current.MainWindow = new MainWindow(viewModel); }
public SeparatedValueRecordParser(RetryReader reader, SeparatedValueOptions options) { this.reader = reader; this.options = options.Clone(); this.separatorMatcher = getMatcher(options.Separator); this.recordSeparatorMatcher = getMatcher(options.RecordSeparator); if (options.RecordSeparator.StartsWith(options.Separator)) { string postfix = options.RecordSeparator.Substring(options.Separator.Length); this.postfixMatcher = getMatcher(postfix); } this.token = new StringBuilder(); }
private static void ComposeObjects() { var reader = new ServiceReader(); var delay = new TimeSpan(0, 0, 3); var retryReader = new RetryReader(reader, delay); var logFilePath = AppDomain.CurrentDomain.BaseDirectory + "ExceptionLog.txt"; var logger = new FileLogger(logFilePath); var loggingReader = new ExceptionLoggingReader(retryReader, logger); var cachingReader = new CachingReader(loggingReader); var viewModel = new PeopleViewModel(cachingReader); Application.Current.MainWindow = new MainWindow(viewModel); }
public static ISeparatorMatcher GetMatcher(RetryReader reader, string separator) { if (separator == null) { return(new DefaultSeparatorMatcher(reader)); } switch (separator.Length) { case 1: return(new OneCharacterSeparatorMatcher(reader, separator[0])); case 2: return(new TwoCharacterSeparatorMatcher(reader, separator[0], separator[1])); default: return(new StringSeparatorMatcher(reader, separator)); } }
public async Task GetPeople_Broken3_ThrowsException() { var fakeReader = new BrokenReader(3); var retryDelay = new TimeSpan(0); var reader = new RetryReader(fakeReader, retryDelay); try { var result = await reader.GetPeople(); Assert.Fail("Exception was not thrown"); } catch (Exception) { Assert.Pass("Exception thrown"); } }
private static void ComposeObjects() { // Data Reader var readerUri = new ServiceReaderUri("http://localhost:9874"); var reader = new ServiceReader(readerUri); // Retry Function var delay = new TimeSpan(0, 0, 3); var retryReader = new RetryReader(reader, delay); // Exception Logging Function var logFilePath = AppDomain.CurrentDomain.BaseDirectory + "ExceptionLog.txt"; var logger = new FileLogger(logFilePath); var loggingReader = new ExceptionLoggingReader(retryReader, logger); // Caching Function var cachingReader = new CachingReader(loggingReader); var viewModel = new PeopleViewModel(retryReader); Application.Current.MainWindow = new MainWindow(viewModel); }
public Matcher2(RetryReader reader, char first, char second) { this.reader = reader; this.first = first; this.second = second; }
public Matcher1(RetryReader reader, char first) { this.reader = reader; this.first = first; }
public Matcher(RetryReader reader, string separator) { this.reader = reader; this.separator = separator; }
public OneCharacterSeparatorMatcher(RetryReader reader, char first) { this.reader = reader; this.first = first; }
public DefaultSeparatorMatcher(RetryReader reader) { this.reader = reader; }
public StringSeparatorMatcher(RetryReader reader, string separator) { this.reader = reader; this.separator = separator; }
public TwoCharacterSeparatorMatcher(RetryReader reader, char first, char second) { this.reader = reader; this.first = first; this.second = second; }