public void Points_With_Space_Thousands_Separator_Test() { const string html = @"<html> <div data-ag-type='workout'> <a data-item-id='1' /> <a class='action_time gray_link'>2015-01-01</a> <span class='stream_total_points'>1 234 pts</span> </div> </html>"; var workouts = new ScrapingService().ExtractWorkouts(new MemoryStream(Encoding.UTF8.GetBytes(html))); Assert.That(workouts.Count, Is.EqualTo(1)); Assert.That(workouts[0].Points, Is.EqualTo(1234)); }
public void Empty_Test() { const string html = @"<html> <div data-ag-type='workout'> <a data-item-id='123' /> <a class='action_time gray_link'>2015-01-01</a> <span class='stream_total_points'>321 pts</span> </div> </html>"; var workouts = new ScrapingService().ExtractWorkouts(new MemoryStream(Encoding.UTF8.GetBytes(html))); Assert.That(workouts.Count, Is.EqualTo(1)); var workout = workouts[0]; Assert.That(workout.Id, Is.EqualTo(123)); Assert.That(workout.Date, Is.EqualTo(new DateTime(2015, 1, 1))); Assert.That(workout.Points, Is.EqualTo(321)); }
public void Round_Values_To_Two_Decimal_Places_Test() { const string html = @"<html> <div data-ag-type='workout'> <a data-item-id='123' /> <a class='action_time gray_link'>2015-01-01</a> <span class='stream_total_points'>4 pts</span> <ul class='action_detail'> <li> <div class='action_prompt'>Dummy</div> <li> 1 lb | 1 yd | 1 mph <span class='action_prompt_points'>1</span></li> </li> </ul> </div> </html>"; var workouts = new ScrapingService().ExtractWorkouts(new MemoryStream(Encoding.UTF8.GetBytes(html))); Assert.That(workouts.Count, Is.EqualTo(1)); var workout = workouts[0]; Assert.That(workout.Activities.Count, Is.EqualTo(1)); var activity = workout.Activities[0]; Assert.That(activity.Sets.Count, Is.EqualTo(1)); var set = activity.Sets[0]; Assert.That(set.Weight, Is.Not.Null); Assert.That(set.Distance, Is.Not.Null); Assert.That(set.Speed, Is.Not.Null); Assert.That(BitConverter.GetBytes(decimal.GetBits(set.Weight.Value)[3])[2], Is.EqualTo(2)); Assert.That(BitConverter.GetBytes(decimal.GetBits(set.Distance.Value)[3])[2], Is.EqualTo(2)); Assert.That(BitConverter.GetBytes(decimal.GetBits(set.Speed.Value)[3])[2], Is.EqualTo(2)); }