public async Task Given_DataFile_When_Reporting_Then_ProduceJsonReport() { // Arrange var datafile = Path.Combine(AppContext.BaseDirectory, "Data", "chicago-bulls.csv"); var expectedReportFile = Path.Combine(AppContext.BaseDirectory, "Data", "chicago-bulls.json"); var originalReport = await File.ReadAllTextAsync(expectedReportFile); var reportObject = JsonConvert.DeserializeObject(originalReport); var expectedReport = JsonConvert.SerializeObject(reportObject, Formatting.Indented); var playerParser = new PlayerParser(); var dataProvider = new CsvDataProvider(playerParser); var metricConverter = new ImperialToMetricConverter(); var enrichers = new List <IReportEnricher> { new AveragePlayerHeightEnricher(metricConverter), new AveragePointsForTeamEnricher(), new TeamEnricher(), new TopAchieversEnricher() }; var statisticsReporter = new TeamStatisticsReporter(enrichers); var sut = new TeamStatisticsJsonReporter(dataProvider, statisticsReporter); // Act var result = await sut.GetReportAsJsonAsync(datafile); // Assert Assert.Equal(expectedReport, result); }
static IConversionExpression ConvertFromString(string input) { var tokens = new ConversionTokenizer(); tokens.Tokenize(input, null); var model = new ConversionModelBuilder(); var converter = new ImperialToMetricConverter(); return(converter.Convert(model.BuildFrom(tokens.Tokens))); }
public void Given_FeetAndInch_When_Converted_Then_ReturnEquivalentValueInCm(int feet, int inches, int expectedValue) { // Arrange var sut = new ImperialToMetricConverter(); // Act var result = sut.ConvertToCm(feet, inches); // Assert Assert.Equal(expectedValue, result); }