public static RoomDataContract ToContract(this RoomAvailabilityInfo info) { var contract = new RoomDataContract { Id = info.Room.RoomId, Name = info.Room.Name, AvailableFrom = info.Availability.Start.ToRfcDateTimeString(), AvailableForMinutes = (int)info.Availability.Duration.TotalMinutes }; if (info.Room.Location != null) { contract.Site = info.Room.Location.Site; contract.Building = info.Room.Location.Building; contract.Floor = info.Room.Location.Floor; } return(contract); }
public void NonNegligibleTimeComparerTest() { var room1 = new RoomAvailabilityInfo(_availableLater, new RoomInfo { Location = new Location { Geometry = new Geometry(1, 1, 0) } }); var room2 = new RoomAvailabilityInfo(_availableNow, new RoomInfo { Location = new Location { Geometry = new Geometry(2, 2, 0) } }); var comparer = new SmartRoomComparer(_center); Assert.That(comparer.Compare(room1, room2), Is.GreaterThan(0)); Assert.That(comparer.Compare(room2, room1), Is.LessThan(0)); Assert.That(new SmartSearch(_center).Sort(new[] { room1, room2 }), Is.EqualTo(new[] { room2, room1 })); }