예제 #1
0
        public void ShouldGetDataStorageFromSwitcher(DataEngineCommand sut, DataStorageSwitcher switcher)
        {
            // arrange
            var databaseName = sut.DataStorage.Database.Name;

            // act && assert
            sut.DataStorage.Should().Be(DataStorageSwitcher.CurrentValue(databaseName));
        }
 public void ShouldSwitchDataStorage(
     DataStorage expected)
 {
     using (new DataStorageSwitcher(expected))
     {
         var actual = DataStorageSwitcher.CurrentValue(expected.Database.Name);
         Assert.Same(expected, actual);
     }
 }
 public void ShouldGetDataStorageFromSwitcher(
     DataEngineCommand sut,
     DataStorage dataStorage)
 {
     using (new DataStorageSwitcher(dataStorage))
     {
         var databaseName = sut.DataStorage.Database.Name;
         sut.DataStorage.Should().Be(DataStorageSwitcher.CurrentValue(databaseName));
     }
 }
예제 #4
0
        /// <summary>
        /// Initializes a new instance of the <see cref="Db"/> class with the specified database.
        /// </summary>
        /// <param name="databaseName">The database name.</param>
        public Db(string databaseName)
        {
            Assert.ArgumentNotNullOrEmpty(databaseName, "databaseName");

            this.database            = Database.GetDatabase(databaseName);
            this.dataStorage         = new DataStorage(this.database);
            this.dataStorageSwitcher = new DataStorageSwitcher(this.dataStorage);
            this.databaseSwitcher    = new DatabaseSwitcher(this.database);

            var args = new InitDbArgs(this.database, this.dataStorage);

            CorePipeline.Run("initFakeDb", args);
        }
예제 #5
0
        /// <summary>
        /// Initializes a new instance of the <see cref="Db"/> class with the specified database.
        /// </summary>
        /// <param name="databaseName">The database name.</param>
        public Db(string databaseName)
        {
            Assert.ArgumentNotNullOrEmpty(databaseName, "databaseName");

            this.database            = Database.GetDatabase(databaseName);
            this.dataStorage         = new DataStorage(this.database);
            this.dataStorageSwitcher = new DataStorageSwitcher(this.dataStorage);
            this.databaseSwitcher    = new DatabaseSwitcher(this.database);
            this.databaseLanguages   = new Stack <Switcher <DbLanguages> >();
            this.databaseLanguages.Push(
                new Switcher <DbLanguages>(
                    new DbLanguages(Language.Parse("en"))));

            var args = new InitDbArgs(this.database, this.dataStorage);

            CorePipeline.Run("initFakeDb", args);
        }
 public void ShouldCreateInstance(GetChildrenCommandPrototype sut, DataStorageSwitcher switcher)
 {
     ReflectionUtil.CallMethod(sut, "CreateInstance").Should().BeOfType <GetChildrenCommand>();
 }
예제 #7
0
 public void ShouldReturnEmptyStringIfNoTemplateFound(FakeStandardValuesProvider sut, [Greedy] Field field, DataStorageSwitcher switcher)
 {
     // act & assert
     sut.GetStandardValue(field).Should().BeEmpty();
 }
예제 #8
0
 public void ShouldCreateInstance(SetBlobStreamCommandPrototype sut, DataStorageSwitcher switcher)
 {
     ReflectionUtil.CallMethod(sut, "CreateInstance").Should().BeOfType <SetBlobStreamCommand>();
 }
        public virtual DataStorage DataStorage(Database database)
        {
            Assert.IsNotNull(database, "database");

            return(DataStorageSwitcher.CurrentValue(database.Name));
        }
예제 #10
0
        public void ShouldMoveItemToNewDestination(MoveItemCommand sut, Item item, Item destination, ID parentId, DataStorageSwitcher switcher)
        {
            // arrange
            var fakeItem = new DbItem("item", item.ID)
            {
                ParentID = parentId
            };
            var fakeParent = new DbItem("parent", parentId)
            {
                Children = { fakeItem }
            };
            var fakeDestination = new DbItem("destination", destination.ID)
            {
                FullPath = "/new destination path"
            };

            sut.DataStorage.GetFakeItem(item.ID).Returns(fakeItem);
            sut.DataStorage.GetFakeItem(parentId).Returns(fakeParent);
            sut.DataStorage.GetFakeItem(destination.ID).Returns(fakeDestination);

            sut.Initialize(item, destination);

            // act
            var result = (bool)ReflectionUtil.CallMethod(sut, "DoExecute");

            // assert
            result.Should().BeTrue();
            fakeItem.ParentID.Should().Be(destination.ID);
            fakeItem.FullPath.Should().Be("/new destination path/item");
            fakeParent.Children.Should().NotContain(fakeItem);
            fakeDestination.Children.Should().Contain(fakeItem);
        }
예제 #11
0
 public void ShouldCreateInstance(AddFromTemplateCommandPrototype sut, DataStorageSwitcher switcher)
 {
     ReflectionUtil.CallMethod(sut, "CreateInstance").Should().BeOfType <AddFromTemplateCommand>();
 }
예제 #12
0
 public void ShouldSwitchDataStorage([Frozen] DataStorage dataStorage, DataStorageSwitcher sut)
 {
     Assert.Same(dataStorage, DataStorageSwitcher.CurrentValue(dataStorage.Database.Name));
 }