public void Storage2_NodeEnumeratorCache()
{
var query = new NodeQuery();
query.Add(new IntExpression(IntAttribute.Id, ValueOperator.GreaterThanOrEqual, 20));
query.Add(new IntExpression(IntAttribute.Id, ValueOperator.LessThan, 30));
query.Orders.Add(new SearchOrder(IntAttribute.Id));
var result = query.Execute().Nodes;
//----
var nodes1 = new List<Node>(result);
var nodes2 = new List<Node>(result);
//----
var nodes3 = new List<Node>();
foreach (var node in result)
nodes3.Add(node);
var nodes4 = new List<Node>();
foreach (var node in result)
nodes4.Add(node);
//----
var nodes5 = result.ToArray<Node>();
var nodes6 = result.ToArray<Node>();
//----
for (int i = 0; i < nodes1.Count; i++)
{
Assert.IsTrue(Object.ReferenceEquals(nodes1[i], nodes2[i]), "#1");
Assert.IsTrue(Object.ReferenceEquals(nodes1[i], nodes3[i]), "#2");
Assert.IsTrue(Object.ReferenceEquals(nodes1[i], nodes4[i]), "#3");
Assert.IsTrue(Object.ReferenceEquals(nodes1[i], nodes5[i]), "#4");
Assert.IsTrue(Object.ReferenceEquals(nodes1[i], nodes6[i]), "#5");
}
}