public void TestMixed() { _index.Remove(new[] {_testEvents[1]}); ICollection<EventBean> result = _index.Lookup(new Object[] {1, "b"}); Assert.AreEqual(1, result.Count); Assert.IsTrue(result.Contains(_testEvents[4])); // iterate Object[] underlying = ArrayAssertionUtil.EnumeratorToArrayUnderlying(_index.GetEnumerator()); EPAssertionUtil.AssertEqualsAnyOrder( new[] {_testEventsUnd[0], _testEventsUnd[2], _testEventsUnd[3], _testEventsUnd[4], _testEventsUnd[5]}, underlying); _index.Remove(new[] {_testEvents[4]}); result = _index.Lookup(new Object[] {1, "b"}); Assert.IsNull(result); // iterate underlying = ArrayAssertionUtil.EnumeratorToArrayUnderlying(_index.GetEnumerator()); EPAssertionUtil.AssertEqualsAnyOrder( new[] {_testEventsUnd[0], _testEventsUnd[2], _testEventsUnd[3], _testEventsUnd[5]}, underlying); _index.Add(new[] {_testEvents[1]}); result = _index.Lookup(new Object[] {1, "b"}); Assert.AreEqual(1, result.Count); Assert.IsTrue(result.Contains(_testEvents[1])); // iterate underlying = ArrayAssertionUtil.EnumeratorToArrayUnderlying(_index.GetEnumerator()); EPAssertionUtil.AssertEqualsAnyOrder( new[] {_testEventsUnd[0], _testEventsUnd[1], _testEventsUnd[2], _testEventsUnd[3], _testEventsUnd[5]}, underlying); }