private static TARefreshTestCase.TAItem NewTAItem(int depth)
 {
     if (depth == 0)
     {
         return(null);
     }
     TARefreshTestCase.TAItem root = new TARefreshTestCase.TAItem();
     root._value = depth;
     root._next  = NewTAItem(depth - 1);
     return(root);
 }
        public virtual void TestRefresh()
        {
            IExtObjectContainer client1 = OpenNewSession();
            IExtObjectContainer client2 = OpenNewSession();

            TARefreshTestCase.TAItem item1 = QueryRoot(client1);
            TARefreshTestCase.TAItem item2 = QueryRoot(client2);
            TARefreshTestCase.TAItem next1 = item1;
            int value = 10;

            while (next1 != null)
            {
                Assert.AreEqual(value, next1.Value());
                next1 = next1.Next();
                value--;
            }
            TARefreshTestCase.TAItem next2 = item2;
            value = 10;
            while (next2 != null)
            {
                Assert.AreEqual(value, next2.Value());
                next2 = next2.Next();
                value--;
            }
            //update depth = 1
            item1.Value(100);
            item1.Next().Value(200);
            client1.Store(item1, 2);
            client1.Commit();
            AssertItemValue(100, item1);
            AssertItemValue(200, item1.Next());
            AssertItemValue(10, item2);
            AssertItemValue(9, item2.Next());
            //refresh 0
            client2.Refresh(item2, 0);
            AssertItemValue(10, item2);
            AssertItemValue(9, item2.Next());
            //refresh 1
            client2.Refresh(item2, 1);
            AssertItemValue(100, item2);
            AssertItemValue(9, item2.Next());
            //refresh 2
            client2.Refresh(item2, 2);
            AssertItemValue(100, item2);
            AssertItemValue(200, item2.Next());
            next1 = item1;
            value = 1000;
            while (next1 != null)
            {
                next1.Value(value);
                next1 = next1.Next();
                value++;
            }
            client1.Store(item1, 5);
            client1.Commit();
            client2.Refresh(item2, 5);
            next2 = item2;
            for (int i = 1000; i < 1005; i++)
            {
                AssertItemValue(i, next2);
                next2 = next2.Next();
            }
            client1.Close();
            client2.Close();
        }
 /// <exception cref="System.Exception"></exception>
 protected override void Store()
 {
     TARefreshTestCase.TAItem item = TARefreshTestCase.TAItem.NewGraph(ItemDepth);
     Store(item);
 }
 public static TARefreshTestCase.TAItem NewGraph(int depth)
 {
     TARefreshTestCase.TAItem item = NewTAItem(depth);
     item._isRoot = true;
     return(item);
 }
 private void AssertItemValue(int expectedValue, TARefreshTestCase.TAItem item)
 {
     Assert.AreEqual(expectedValue, item.PassThroughValue());
     Assert.AreEqual(expectedValue, item.Value());
 }
Exemple #6
0
			private static TARefreshTestCase.TAItem NewTAItem(int depth)
			{
				if (depth == 0)
				{
					return null;
				}
				TARefreshTestCase.TAItem root = new TARefreshTestCase.TAItem();
				root._value = depth;
				root._next = NewTAItem(depth - 1);
				return root;
			}