예제 #1
0
        private void Store(IDrsProviderFixture fixture, SimpleListHolder listHolder)
        {
            ITestableReplicationProviderInside provider = fixture.Provider();

            provider.StoreNew(listHolder);
            provider.StoreNew(GetItem(listHolder, "foo"));
            provider.StoreNew(GetItem(listHolder, "foobar"));
            provider.Commit();
            EnsureContents(fixture, listHolder);
        }
예제 #2
0
        private void EnsureContents(IDrsProviderFixture actualFixture, SimpleListHolder expected
                                    )
        {
            SimpleListHolder actual = (SimpleListHolder)GetOneInstance(actualFixture, typeof(
                                                                           SimpleListHolder));
            IList expectedList = expected.GetList();
            IList actualList   = actual.GetList();

            AssertListWithCycles(expectedList, actualList);
        }
예제 #3
0
        private void ChangeInProviderB()
        {
            SimpleListHolder simpleListHolder = (SimpleListHolder)GetOneInstance(B(), typeof(
                                                                                     SimpleListHolder));
            SimpleItem fooBaby = new SimpleItem(simpleListHolder, "foobaby");

            B().Provider().StoreNew(fooBaby);
            simpleListHolder.Add(fooBaby);
            SimpleItem foo = GetItem(simpleListHolder, "foo");

            foo.SetChild(fooBaby);
            B().Provider().Update(foo);
            B().Provider().Update(simpleListHolder.GetList());
            B().Provider().Update(simpleListHolder);
        }
예제 #4
0
 public void Run()
 {
     for (int i = 0; i < PerformanceTestCase.ListHolderCount; i++)
     {
         SimpleListHolder listHolder = new SimpleListHolder("CreatedHolder");
         for (int j = 0; j < PerformanceTestCase.ObjectCount; j++)
         {
             SimpleItem child  = new SimpleItem("CreatedChild");
             SimpleItem parent = new SimpleItem(listHolder, child, "CreatedParent");
             this._enclosing.A().Provider().StoreNew(parent);
             listHolder.Add(parent);
         }
         this._enclosing.A().Provider().StoreNew(listHolder);
         this._enclosing.A().Provider().Commit();
     }
     this._enclosing.A().Provider().Commit();
 }
예제 #5
0
        public virtual SimpleListHolder CreateList()
        {
            // list : {foo, bar, baz, foobar}
            //
            // baz -----+
            //          |
            //         bar --> foo
            //                  ^
            //                  |
            // foobar ----------+
            SimpleListHolder listHolder = new SimpleListHolder("root");
            SimpleItem       foo        = new SimpleItem(listHolder, "foo");
            SimpleItem       bar        = new SimpleItem(listHolder, foo, "bar");

            listHolder.Add(foo);
            listHolder.Add(bar);
            listHolder.Add(new SimpleItem(listHolder, bar, "baz"));
            listHolder.Add(new SimpleItem(listHolder, foo, "foobar"));
            return(listHolder);
        }
예제 #6
0
            public void Run()
            {
                IObjectSet storedObjects = this._enclosing.B().Provider().GetStoredObjects(typeof(
                                                                                               SimpleListHolder));

                while (storedObjects.HasNext())
                {
                    SimpleListHolder listHolder = (SimpleListHolder)storedObjects.Next();
                    listHolder.SetName("modifiedHolder");
                    IEnumerator i = listHolder.GetList().GetEnumerator();
                    while (i.MoveNext())
                    {
                        SimpleItem parent = (SimpleItem)i.Current;
                        parent.SetValue("ModifiedParent");
                        this._enclosing.B().Provider().Update(parent);
                        SimpleItem child = parent.GetChild();
                        child.SetValue("ModifiedChild");
                        this._enclosing.B().Provider().Update(child);
                        this._enclosing.B().Provider().Commit();
                    }
                    this._enclosing.B().Provider().Update(listHolder);
                    this._enclosing.B().Provider().Update(listHolder.GetList());
                }
            }
예제 #7
0
 private SimpleItem GetItem(SimpleListHolder holder, string tbf)
 {
     return(GetItem(holder.GetList(), tbf));
 }