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)); }
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); }
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()); }
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"); }