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));
        }
Beispiel #5
0
        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;
            }
        }
Beispiel #6
0
        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);
        }