public void GetCollectionNakedObjectFromId()
        {
            IList <Claim> claims = NakedObjectsFramework.GetService <ClaimRepository>().FindMyClaims(null, "");
            INakedObject  no     = NakedObjectsFramework.NakedObjectManager.CreateAdapter(claims, null, null);

            INakedObject service = NakedObjectsFramework.ServicesManager.GetService("ClaimRepository");
            IActionSpec  action  = service.Spec.GetObjectActions().Single(a => a.Id == "FindMyClaims");

            INakedObject[] parms = new[] { null, "" }.Select(o => NakedObjectsFramework.NakedObjectManager.CreateAdapter(o, null, null)).ToArray();

            var cm = new CollectionMemento(NakedObjectsFramework.LifecycleManager, NakedObjectsFramework.NakedObjectManager, NakedObjectsFramework.MetamodelManager, service, action, parms);

            no.SetATransientOid(cm);

            string id = NakedObjectsFramework.GetObjectId(no);

            INakedObject no2 = NakedObjectsFramework.GetNakedObjectFromId(id);

            List <Claim> claims2 = no2.GetDomainObject <IEnumerable <Claim> >().ToList();

            Assert.AreEqual(claims.Count(), claims2.Count());

            int index = 0;
            Dictionary <Claim, Claim> dict = claims.ToDictionary(x => x, y => claims2.Skip(index++).First());

            dict.ForEach(kvp => Assert.AreSame(kvp.Key, kvp.Value));
        }
Exemple #2
0
        public void TestActionNoParmsTransient()
        {
            var targetNo   = NakedObjectsFramework.LifecycleManager.CreateInstance((IObjectSpec)NakedObjectsFramework.MetamodelManager.GetSpecification(typeof(TestDomainObject)));
            var actionSpec = targetNo.Spec.GetActions().Single(a => a.Id == "Action1");
            var logger     = LoggerFactory.CreateLogger <CollectionMemento>();

            var memento = new CollectionMemento(NakedObjectsFramework.LifecycleManager, NakedObjectsFramework.NakedObjectManager, NakedObjectsFramework.MetamodelManager, logger, targetNo, actionSpec, new INakedObjectAdapter[] { });

            RoundTrip(memento);
            RecoverCollection(targetNo.GetDomainObject <TestDomainObject>().Action1(), memento, NakedObjectsFramework.NakedObjectManager);
        }
        public void TestActionValueParmString()
        {
            TestDomainObject    target     = NakedObjectsFramework.Persistor.Instances <TestDomainObject>().Single(i => i.Id == 1);
            INakedObjectAdapter targetNo   = NakedObjectsFramework.NakedObjectManager.CreateAdapter(target, null, null);
            IActionSpec         actionSpec = targetNo.Spec.GetActions().Single(a => a.Id == "Action6");

            var memento = new CollectionMemento(NakedObjectsFramework.LifecycleManager, NakedObjectsFramework.NakedObjectManager, NakedObjectsFramework.MetamodelManager, targetNo, actionSpec, new[] { NakedObjectsFramework.NakedObjectManager.CreateAdapter("1", null, null) });

            RoundTrip(memento);
            RecoverCollection(target.Action6("1"), memento, NakedObjectsFramework.NakedObjectManager);
        }
Exemple #4
0
        public void TestActionValueParm()
        {
            var target     = NakedObjectsFramework.Persistor.Instances <TestDomainObject>().Single(i => i.Id == 1);
            var targetNo   = NakedObjectsFramework.NakedObjectManager.CreateAdapter(target, null, null);
            var actionSpec = targetNo.Spec.GetActions().Single(a => a.Id == "Action2");
            var logger     = LoggerFactory.CreateLogger <CollectionMemento>();

            var memento = new CollectionMemento(NakedObjectsFramework.LifecycleManager, NakedObjectsFramework.NakedObjectManager, NakedObjectsFramework.MetamodelManager, logger, targetNo, actionSpec, new[] { NakedObjectsFramework.NakedObjectManager.CreateAdapter(1, null, null) });

            RoundTrip(memento);
            RecoverCollection(target.Action2(1), memento, NakedObjectsFramework.NakedObjectManager);
        }
        private void RoundTrip(CollectionMemento memento)
        {
            string[] strings1   = memento.ToEncodedStrings();
            var      newMemento = new CollectionMemento(NakedObjectsFramework.LifecycleManager, NakedObjectsFramework.NakedObjectManager, NakedObjectsFramework.MetamodelManager, strings1);

            string[] strings2 = newMemento.ToEncodedStrings();
            Assert.IsTrue(strings1.SequenceEqual(strings2), "memento failed roundtrip");

            var copyMemento = new CollectionMemento(NakedObjectsFramework.LifecycleManager, NakedObjectsFramework.NakedObjectManager, NakedObjectsFramework.MetamodelManager, memento, new object[] {});

            string[] strings3 = copyMemento.ToEncodedStrings();
            Assert.IsTrue(strings1.SequenceEqual(strings3), "memento failed copy");
        }
        public void CollectionMemento()
        {
            mocks.ViewDataContainer.Object.ViewData["Services"] = NakedObjectsFramework.GetServices();

            INakedObject service = NakedObjectsFramework.ServicesManager.GetService("ClaimRepository");
            IActionSpec  action  = service.Spec.GetObjectActions().Single(a => a.Id == "FindMyClaims");

            INakedObject[] parms = new[] { null, "" }.Select(o => NakedObjectsFramework.NakedObjectManager.CreateAdapter(o, null, null)).ToArray();

            var cm = new CollectionMemento(NakedObjectsFramework.LifecycleManager, NakedObjectsFramework.NakedObjectManager, NakedObjectsFramework.MetamodelManager, service, action, parms);
            var claims = (IEnumerable)cm.RecoverCollection().Object;

            Assert.AreEqual(5, claims.Cast <object>().Count());
            Assert.AreEqual(cm, cm.RecoverCollection().Oid);
        }
        public void TestActionObjectCollectionParmEmpty()
        {
            TestDomainObject    target   = NakedObjectsFramework.Persistor.Instances <TestDomainObject>().Single(i => i.Id == 1);
            INakedObjectAdapter targetNo = NakedObjectsFramework.NakedObjectManager.CreateAdapter(target, null, null);

            IActionSpec actionSpec = targetNo.Spec.GetActions().Single(a => a.Id == "Action5");

            var rawParm = new List <TestDomainObject>();
            INakedObjectAdapter parm = NakedObjectsFramework.NakedObjectManager.CreateAdapter(rawParm, null, null);

            var memento = new CollectionMemento(NakedObjectsFramework.LifecycleManager, NakedObjectsFramework.NakedObjectManager, NakedObjectsFramework.MetamodelManager, targetNo, actionSpec, new[] { parm });

            RoundTrip(memento);
            RecoverCollection(target.Action5(rawParm), memento, NakedObjectsFramework.NakedObjectManager);
        }
        [Test, Ignore] // temp ignore pending proper tests
        public void AddCollection()
        {
            var claim  = NakedObjectsFramework.Persistor.Instances <Claim>().First();
            var claims = new List <Claim> {
                claim
            };
            var claimAdapter  = NakedObjectsFramework.GetNakedObject(claim);
            var claimsAdapter = NakedObjectsFramework.GetNakedObject(claims);

            var mockOid = new CollectionMemento(NakedObjectsFramework.LifecycleManager, NakedObjectsFramework.NakedObjectManager, NakedObjectsFramework.MetamodelManager, claimAdapter, claimAdapter.GetActionLeafNode("ApproveItems"), new INakedObject[] { });

            claimsAdapter.SetATransientOid(mockOid);

            mocks.HtmlHelper.ViewContext.HttpContext.Session.AddToCache(NakedObjectsFramework, claimsAdapter);

            Assert.IsTrue(mocks.HtmlHelper.ViewContext.HttpContext.Session.AllCachedObjects(NakedObjectsFramework).Contains(claims));
            Assert.IsTrue(mocks.HtmlHelper.ViewContext.HttpContext.Session.AllCachedObjects(NakedObjectsFramework).Count() == 1);
        }
        public void CollectionMementoToStringWithObject()
        {
            mocks.ViewDataContainer.Object.ViewData["Services"] = NakedObjectsFramework.GetServices();

            var          status  = NakedObjectsFramework.Persistor.Instances <ClaimStatus>().First();
            INakedObject service = NakedObjectsFramework.ServicesManager.GetService("ClaimRepository");
            IActionSpec  action  = service.Spec.GetObjectActions().Single(a => a.Id == "FindMyClaims");

            INakedObject[] parms = new object[] { status, "" }.Select(o => NakedObjectsFramework.NakedObjectManager.CreateAdapter(o, null, null)).ToArray();

            var cm = new CollectionMemento(NakedObjectsFramework.LifecycleManager, NakedObjectsFramework.NakedObjectManager, NakedObjectsFramework.MetamodelManager, service, action, parms);

            string[] strings = cm.ToEncodedStrings();
            var      cm2     = new CollectionMemento(NakedObjectsFramework.LifecycleManager, NakedObjectsFramework.NakedObjectManager, NakedObjectsFramework.MetamodelManager, strings);
            var      claims  = (IEnumerable)cm2.RecoverCollection().Object;

            Assert.AreEqual(2, claims.Cast <object>().Count());
            Assert.AreEqual(cm2, cm2.RecoverCollection().Oid);
        }
        public void TestActionNoParmsWithSelected()
        {
            TestDomainObject    target     = NakedObjectsFramework.Persistor.Instances <TestDomainObject>().Single(i => i.Id == 1);
            INakedObjectAdapter targetNo   = NakedObjectsFramework.NakedObjectManager.CreateAdapter(target, null, null);
            IActionSpec         actionSpec = targetNo.Spec.GetActions().Single(a => a.Id == "Action1");

            var memento = new CollectionMemento(NakedObjectsFramework.LifecycleManager, NakedObjectsFramework.NakedObjectManager, NakedObjectsFramework.MetamodelManager, targetNo, actionSpec, new INakedObjectAdapter[] {});

            var selectedMemento = new CollectionMemento(NakedObjectsFramework.LifecycleManager, NakedObjectsFramework.NakedObjectManager, NakedObjectsFramework.MetamodelManager, memento, new object[] { target });

            RoundTrip(selectedMemento);
            IEnumerable <TestDomainObject> recoveredCollection = selectedMemento.RecoverCollection().GetAsEnumerable(NakedObjectsFramework.NakedObjectManager).Select(AdapterUtils.GetDomainObject <TestDomainObject>);

            Assert.IsFalse(target.Action1().SequenceEqual(recoveredCollection), "recovered selected collection same as original");

            IEnumerable <TestDomainObject> selectedCollection = target.Action1().Where(tdo => tdo.Id == target.Id);

            Assert.IsTrue(selectedCollection.SequenceEqual(recoveredCollection), "recovered selected collection not same as original selected collection");
        }
 public static string GetObjectId(INakedObject nakedObject, CollectionMemento memento)
 {
     return(memento.Encode());
 }
 private static INakedObject RestoreCollection(CollectionMemento memento)
 {
     return(memento.RecoverCollection());
 }
Exemple #13
0
        private static void RecoverCollection(IEnumerable <TestDomainObject> originalCollection, CollectionMemento memento, INakedObjectManager manager)
        {
            var recoveredCollection = memento.RecoverCollection().GetAsEnumerable(manager).Select(AdapterUtils.GetDomainObject <TestDomainObject>);
            var oc = originalCollection.ToList();
            var rc = recoveredCollection.ToList();

            Assert.IsTrue(oc.SequenceEqual(rc), "recovered collection not same as original");
        }