Example #1
0
        public void AddChild()
        {
            DatasetCreationInformation creationInformation = null;

            var storage = new Mock <IPersistenceInformation>();
            var child   = CreateMockDataset();
            var dataset = new Mock <IProxyDataset>();
            {
                dataset.Setup(d => d.StoredAt)
                .Returns(storage.Object);

                dataset.Setup(d => d.CreateNewChild(It.IsAny <DatasetCreationInformation>()))
                .Callback <DatasetCreationInformation>(d => creationInformation = d)
                .Returns(child);
            }

            var facade      = new ScriptFrontEndDatasetFacade(new ScriptBackEndDatasetFacade(new DatasetFacade(dataset.Object)));
            var childFacade = facade.AddChild();

            Assert.AreEqual(new ScriptFrontEndDatasetFacade(new ScriptBackEndDatasetFacade(new DatasetFacade(child))), childFacade);
            Assert.IsFalse(creationInformation.CanBeAdopted);
            Assert.IsTrue(creationInformation.CanBecomeParent);
            Assert.IsTrue(creationInformation.CanBeCopied);
            Assert.IsTrue(creationInformation.CanBeDeleted);
            Assert.AreEqual(DatasetCreator.User, creationInformation.CreatedOnRequestOf);
            Assert.AreEqual(storage.Object, creationInformation.LoadFrom);
        }