public void Returns_by_type() { DISetup.SetupContainer(); var defs = new List <IDefinition>(); for (int i = 0; i < 10; i++) { defs.Add(new Definition() { Code = i.ToString(), ContentSHA = i.ToString(), Dependencies = new List <string> { i.ToString() }, File = i < 3 ? "file" : i.ToString(), Id = i.ToString(), ModName = i.ToString(), Type = i > 3 && i < 6 ? "type" : i.ToString() }); } var service = new IndexedDefinitions(); service.InitMap(defs); var results = service.GetByType("type"); results.Count().Should().Be(defs.Where(s => s.Type == "type").Count()); int match = 0; foreach (var item in defs.Where(s => s.Type == "type")) { if (results.Contains(item)) { match++; } } match.Should().Be(defs.Where(s => s.Type == "type").Count()); }