public void GetOrAddValueCreator() { Dictionary<string, int> dict = new Dictionary<string, int>(); int i = dict.GetOrAddValue("test", () => 1); Assert.That(i, Is.EqualTo(1)); Assert.That(dict["test"], Is.EqualTo(1)); }
public void GetOrAddValueNew() { Dictionary<string, int> dict = new Dictionary<string, int>(); int i = dict.GetOrAddValue("test"); Assert.That(i, Is.EqualTo(0)); Assert.That(dict["test"], Is.EqualTo(0)); }
public void GetOrAddValueNew() { Dictionary <string, int> dict = new Dictionary <string, int>(); int i = dict.GetOrAddValue("test"); Assert.That(i, Is.EqualTo(0)); Assert.That(dict["test"], Is.EqualTo(0)); }
public void GetOrAddValueCreator() { Dictionary <string, int> dict = new Dictionary <string, int>(); int i = dict.GetOrAddValue("test", () => 1); Assert.That(i, Is.EqualTo(1)); Assert.That(dict["test"], Is.EqualTo(1)); }
public static IEnumerable <int> SweepLine(IEnumerable <Building> buildings) { ReadOnlyCollection <Building> buildingsList = buildings.OrderBy(x => x.Left).ToReadOnlyCollection(); Dictionary <int, List <Event> > events = new Dictionary <int, List <Event> >(); foreach (var building in buildingsList) { events.GetOrAddValue(building.Left).Add(new Event { Building = building, Mode = EventMode.Add }); events.GetOrAddValue(building.Right).Add(new Event { Building = building, Mode = EventMode.Remove }); } HashSet <Building> currentHeights = new HashSet <Building>(); int lastHeight = 0; foreach (var position in events.OrderBy(x => x.Key)) { foreach (var buildingEvent in position.Value) { if (buildingEvent.Mode == EventMode.Add) { Assert.IsTrue(currentHeights.Add(buildingEvent.Building)); } if (buildingEvent.Mode == EventMode.Remove) { Assert.IsTrue(currentHeights.Remove(buildingEvent.Building)); } } int max = currentHeights.Any() ? currentHeights.Max(x => x.Height) : 0; if (lastHeight == max) { continue; } yield return(position.Key); yield return(max); lastHeight = max; } }
protected override void RegisterServices(IServiceCollection services) { var proxyFactory = new Mock <IActorProxyFactory <IPullRequestActor> >(); proxyFactory.Setup(l => l.Lookup(It.IsAny <ActorId>())) .Returns((ActorId actorId) => { Mock <IPullRequestActor> mock = PullRequestActors.GetOrAddValue( actorId, CreateMock <IPullRequestActor>); return(mock.Object); }); services.AddSingleton(proxyFactory.Object); base.RegisterServices(services); }