public void TryAddCamper_ActivityHasNoRoom_Failure() { // Arrange - Activity with room for 1 and a camper ActivityBlock activityBlock = new ActivityBlock { ActivityDefinition = new ActivityDefinition { MaximumCapacity = 1 } }; activityBlock.TryAddCamper(new Camper { FirstName = "First" }); // Act var didAdd = activityBlock.TryAddCamper(new Camper { FirstName = "Second" }); // Assert Assert.That(didAdd, Is.False, "TryAddCamper succeeded"); Assert.That(activityBlock.AssignedCampers.Count, Is.EqualTo(1), "Number of assigned campers"); Assert.That(activityBlock.AssignedCampers[0].FirstName, Is.EqualTo("First"), "Name of assigned camper"); }
public void TryAddCamper_ActivityHasRoom_Success() { // Arrange - Activity with room for 1 and a camper ActivityBlock activityBlock = new ActivityBlock { ActivityDefinition = new ActivityDefinition { MaximumCapacity = 1 } }; Camper camper = new Camper(); // Act var didAdd = activityBlock.TryAddCamper(camper); // Assert Assert.That(didAdd, Is.True, "TryAddCamper succeeded"); Assert.That(activityBlock.AssignedCampers.Count, Is.EqualTo(1), "Number of assigned campers"); }
private void ConvertChunksToActivityBlocks(List <Toggl.TimelineChunkView> chunks) { var blocks = new List <ActivityBlock>(); foreach (var chunk in chunks) { if (chunk.Events.Any()) { var start = Toggl.DateTimeFromUnix(chunk.Started); var block = new ActivityBlock() { Offset = ConvertTimeIntervalToHeight(new DateTime(start.Year, start.Month, start.Day), start), TimeInterval = chunk.StartTimeString + " - " + chunk.EndTimeString, ActivityDescriptions = new List <ActivityDescription>() }; long duration = 0; foreach (var eventDesc in chunk.Events) { var activity = new ActivityDescription() { ActivityTitle = eventDesc.Header ? Path.GetFileName(eventDesc.Filename) : eventDesc.Title }; activity.SubActivities = eventDesc.Header ? eventDesc.SubEvents.Select(e => e.DurationString + " " + e.Title).ToList() : new List <string>() { eventDesc.DurationString + " " + eventDesc.Title }; block.ActivityDescriptions.Add(activity); duration += eventDesc.Duration; } block.Height = (1.0 * duration * _hourHeight) / (60 * 60);; if (block.ActivityDescriptions.Any()) { blocks.Add(block); } } } ActivityBlocks = blocks; }
private static List <ActivityBlock> ConvertChunksToActivityBlocks(List <Toggl.TimelineChunkView> chunks, int selectedScaleMode, DateTime selectedDate) { var blocks = new List <ActivityBlock>(); foreach (var chunk in chunks) { if (chunk.Events.Any()) { var start = Toggl.DateTimeFromUnix(chunk.Started); var block = new ActivityBlock() { Offset = ConvertTimeIntervalToHeight(selectedDate, start, selectedScaleMode), TimeInterval = chunk.StartTimeString + " - " + chunk.EndTimeString, ActivityDescriptions = new List <ActivityDescription>() }; long duration = 0; foreach (var eventDesc in chunk.Events) { var activity = new ActivityDescription() { ActivityTitle = eventDesc.DurationString + " " + (eventDesc.Header ? Path.GetFileName(eventDesc.Filename) : eventDesc.Title) }; activity.SubActivities = eventDesc.Header ? eventDesc.SubEvents.Select(e => e.DurationString + " " + e.Title).ToList() : new List <string>() { eventDesc.DurationString + " " + eventDesc.Title }; block.ActivityDescriptions.Add(activity); duration += eventDesc.Duration; } block.Height = (1.0 * Math.Min(duration, TimelineConstants.MaxActivityBlockDurationInSec) * TimelineConstants.ScaleModes[selectedScaleMode]) / (60 * 60); if (block.ActivityDescriptions.Any()) { blocks.Add(block); } } } return(blocks); }
public IDisposable BeginActivity(string name, Guid id) { var block = new ActivityBlock(id, name, trace); return block; }