public void Resize_OnWorld2D_3x3_AllNewCellsAreFalse(int dimension, int scale, int[] newCells)
        {
            var world  = TestHelper.CreateMockWorld2D_3x3(Enumerable.Repeat(true, 9).ToArray());
            var editor = new WorldEditor(world, TestHelper.CreateMockCoordinateConverter());

            editor.Resize(dimension, scale);

            Assert.All(newCells, coo => Assert.False(world.State[coo]));
        }
        public void Resize_WorldDimensionAndScaleUpdatedToProvidedValues(int dimension, int scale)
        {
            var world  = TestHelper.CreateMockWorld2D_3x3();
            var editor = new WorldEditor(world, TestHelper.CreateMockCoordinateConverter());

            editor.Resize(dimension, scale);

            Assert.True(world.Dimension == dimension && world.Scale == scale);
        }
        public void Resize_ParameterDimensionIsNonPositive_ThrowsArgumentOutOfRangeException(int dimension)
        {
            var editor = new WorldEditor(TestHelper.CreateMockWorld2D_3x3(), TestHelper.CreateMockCoordinateConverter(1));

            Assert.Throws <ArgumentOutOfRangeException>(() => editor.Resize(dimension, It.IsAny <int>()));
        }
        public void Resize_ParameterScaleIsNonPositive_ThrowsArgumentOutOfRangeException(int scale)
        {
            var editor = new WorldEditor(TestHelper.CreateMockWorld2D_3x3(), Mock.Of <ICoordinateConverter>());

            Assert.Throws <ArgumentOutOfRangeException>(() => editor.Resize(It.IsAny <int>(), scale));
        }