public void A_custom_exception_can_be_specified()
                {
                    Action ensuring = () => Ensure.Argument("foobarbaz")
                                      .DoesNotMatch(new Regex("^.*baz$"), _ => new IndexOutOfRangeException("bar"));

                    ensuring.ShouldThrowExactly <IndexOutOfRangeException>().WithMessage("bar");
                }
            public void The_default_exception_is_ArgumentException()
            {
                Action ensuring = () => Ensure.Argument(@"Z:\foo\bar\baz").DirectoryExists();

                ensuring.ShouldThrowExactly <ArgumentException>()
                .WithMessage(@"Directory 'Z:\foo\bar\baz' does not exist.");
            }
                public void The_default_exception_is_ArgumentException()
                {
                    Action ensuring = () => Ensure.Argument("foobarbaz").DoesNotMatch("^.*baz$");

                    ensuring.ShouldThrowExactly <ArgumentException>()
                    .WithMessage("'foobarbaz' does not match the required regex '^.*baz$'.");
                }
            public void No_exception_is_thrown_if_the_directory_exists()
            {
                var    directory = Directory.GetCurrentDirectory();
                Action ensuring  = () => Ensure.Argument(directory).DirectoryExists();

                ensuring.ShouldNotThrow();
            }
示例#5
0
            public void The_default_exception_is_ArgumentOutOfRangeException()
            {
                Action ensuring = () => Ensure.Argument(1).GreaterThanOrEqualTo(2);

                ensuring.ShouldThrowExactly <ArgumentOutOfRangeException>()
                .WithMessage("Value must be greater than or equal to 2 but was 1.");
            }
示例#6
0
        static Real ComputeLoss(FunctionStack model, NdArray[] sequences)
        {
            Ensure.Argument(model).NotNull();
            Ensure.Argument(sequences).NotNull();

            // Total error in the whole
            Real    totalLoss = 0;
            NdArray x         = new NdArray(new[] { 1 }, MINI_BATCH_SIZE, (Function)null);
            NdArray t         = new NdArray(new[] { 1 }, MINI_BATCH_SIZE, (Function)null);

            Stack <NdArray[]> backNdArrays = new Stack <NdArray[]>();

            for (int i = 0; i < LENGTH_OF_SEQUENCE - 1; i++)
            {
                for (int j = 0; j < MINI_BATCH_SIZE; j++)
                {
                    x.Data[j] = sequences[j].Data[i];
                    t.Data[j] = sequences[j].Data[i + 1];
                }

                NdArray[] result = model.Forward(true, x);
                totalLoss += new MeanSquaredError().Evaluate(result, t);
                backNdArrays.Push(result);
            }

            for (int i = 0; backNdArrays.Count > 0; i++)
            {
                model.Backward(true, backNdArrays.Pop());
            }

            return(totalLoss / (LENGTH_OF_SEQUENCE - 1));
        }
        public void The_name_and_value_can_be_derived_from_a_lambda()
        {
            var theTimeNow = DateTime.Now;

            Ensure.Argument(() => theTimeNow).Should()
            .Match(arg => (Ensurable <DateTime>)arg == theTimeNow && ((EnsurableArgument <DateTime>)arg).Name == "theTimeNow");
        }
            public void A_custom_exception_can_be_specified()
            {
                Action ensuring = () => Ensure.Argument(Enumerable.Empty <int>())
                                  .NotEmpty(_ => new FileNotFoundException("bar"));

                ensuring.ShouldThrowExactly <FileNotFoundException>().WithMessage("bar");
            }
示例#9
0
        static Bitmap CreateMonoImage([NotNull] Real[] data, int width, int height, bool isNorm)
        {
            Ensure.Argument(data).NotNull("data is null");

            Bitmap result = new Bitmap(width, height, PixelFormat.Format8bppIndexed);
            Real   norm   = isNorm ? 255 : 1;

            ColorPalette pal = result.Palette;

            for (int i = 0; i < 255; i++)
            {
                pal.Entries[i] = Color.FromArgb(i, i, i);
            }
            result.Palette = pal;

            BitmapData bmpdat = result.LockBits(new Rectangle(0, 0, result.Width, result.Height), ImageLockMode.WriteOnly, result.PixelFormat);

            byte[] resultData = new byte[bmpdat.Stride * height];
            Real   datamax    = data.Max();

            for (int y = 0; y < result.Height; y++)
            {
                for (int x = 0; x < result.Width; x++)
                {
                    resultData[y * bmpdat.Stride + x] = (byte)(data[y * width + x] / datamax * norm);
                }
            }

            Marshal.Copy(resultData, 0, bmpdat.Scan0, resultData.Length);
            result.UnlockBits(bmpdat);

            return(result);
        }
示例#10
0
                public void A_custom_exception_can_be_specified()
                {
                    Action ensuring = () => Ensure.Argument("foobarbaz")
                                      .Matches(".*[0-9]", _ => new IndexOutOfRangeException("bar"));

                    ensuring.ShouldThrowExactly <IndexOutOfRangeException>().WithMessage("bar");
                }
示例#11
0
            public void The_default_exception_is_ArgumentException()
            {
                Action ensuring = () => Ensure.Argument(typeof(int)).IsAssignableTo <long>();

                ensuring.ShouldThrowExactly <ArgumentException>()
                .WithMessage("Type System.Int32 is not assignable to type System.Int64.");
            }
示例#12
0
                public void The_default_exception_is_ArgumentException()
                {
                    Action ensuring = () => Ensure.Argument("foobarbaz").Matches(".*[0-9]");

                    ensuring.ShouldThrowExactly <ArgumentException>()
                    .WithMessage("'foobarbaz' does not match the required regex '.*[0-9]'.");
                }
        public void FileExists_ArgNotNullExistingFileName_ReturnsArgument()
        {
            const string fileName = @"C:\temp_dir\test.txt";

            var mockFileSystem = new MockFileSystemEx(
                new Dictionary <string, MockFileData>
            {
                { fileName, MockFileData.NullObject }
            },
                @"C:\");

            mockFileSystem.Install();

            // Act
            var argument = Ensure.Argument(fileName, nameof(fileName)).NotNull().FileExists();

            // Assert
            argument
            .Should()
            .BeOfType <ArgumentNotNull <string> >();

            argument.Value
            .Should()
            .Be(fileName);
        }
示例#14
0
            public void The_default_exception_is_ArgumentException()
            {
                Action ensuring = () => Ensure.Argument(0).In(new[] { 1, 2, 3 });

                ensuring.ShouldThrowExactly <ArgumentException>()
                .WithMessage("Value was not contained in the specified collection.");
            }
            public void The_ensurable_is_returned()
            {
                var directory    = Directory.GetCurrentDirectory();
                var theEnsurable = Ensure.Argument(directory);

                theEnsurable.DirectoryExists().Should().Be(theEnsurable);
            }
示例#16
0
        public void Argument_ParamNameIsNull_ThrowsException()
        {
            // Act
            Action act = () => Ensure.Argument("Test", null);

            // Assert
            act
            .Should()
            .Throw <ArgumentNullException>();
        }
示例#17
0
        public void InRange_ItemsCountIsNotInRange_ThrowsException(int[] items, int minCount, int maxCount)
        {
            // Act
            Action act = () => Ensure.Argument(items, nameof(items)).NotNull().InRange(minCount, maxCount);

            // Assert
            act
            .Should()
            .Throw <ArgumentException>();
        }
示例#18
0
        public void MaxCount_ItemsCountNotMeetsMaxCount_ThrowsException(int[] items, int maxCount)
        {
            // Act
            Action act = () => Ensure.Argument(items, nameof(items)).NotNull().MaxCount(maxCount);

            // Assert
            act
            .Should()
            .Throw <ArgumentException>();
        }
示例#19
0
        public void InRange_ItemsCountIsInRange_ReturnsArgumentNotNullWithItems(
            int[] items, int minCount, int maxCount)
        {
            // Act
            var argument = Ensure.Argument(items, nameof(items)).NotNull().InRange(minCount, maxCount);

            // Assert
            argument.Value
            .Should()
            .HaveCount(items.Length);
        }
示例#20
0
        public void MaxCount_ItemsCountMeetsMaxCount_ReturnsArgumentNotNullWithItems(int[] items,
                                                                                     int maxCount)
        {
            // Act
            var argument = Ensure.Argument(items, nameof(items)).NotNull().MaxCount(maxCount);

            // Assert
            argument.Value
            .Should()
            .HaveCount(items.Length);
        }
示例#21
0
        public void NotEmpty_NewGuidNullable_ReturnsArgumentWithGuid()
        {
            Guid?guid = Guid.NewGuid();

            // Act
            var argument = Ensure.Argument(guid, nameof(guid)).NotEmpty();

            // Assert
            argument.Value
            .Should()
            .Be(guid);
        }
示例#22
0
        public void Null_ValueIsNotNull_ThrowsException()
        {
            const string testValue = "TestText";

            // Act
            Action act = () => Ensure.Argument(testValue, nameof(testValue)).Null();

            // Assert
            act
            .Should()
            .Throw <ArgumentException>();
        }
示例#23
0
        public void Null_ValueNull_ReturnsNull()
        {
            const string?testValue = null;

            // Act
            var value = Ensure.Argument(testValue, nameof(testValue)).Null();

            // Assert
            value
            .Should()
            .BeNull();
        }
示例#24
0
        public void NotNullOrEmpty_ArrayContainingItems_ReturnsArgument()
        {
            var items = new[] { 1, 2, 3 };

            // Act
            var argument = Ensure.Argument(items, nameof(items)).NotNullOrEmpty();

            // Assert
            argument.Value
            .Should()
            .BeSameAs(items);
        }
示例#25
0
        public void NotEmpty_EnumerableContainingItems_ReturnsArgument()
        {
            var items = new[] { 1, 2, 3 }.Where(_ => true);

            // Act
            var argument = Ensure.Argument(items, nameof(items)).NotNull().NotEmpty();

            // Assert
            argument.Value
            .Should()
            .BeSameAs(items);
        }
示例#26
0
        public void NotNullOrEmpty_ArrayEmpty_ThrowsException()
        {
            var items = Array.Empty <int>();

            // Act
            Action act = () => Ensure.Argument(items, nameof(items)).NotNullOrEmpty();

            // Assert
            act
            .Should()
            .Throw <ArgumentException>();
        }
示例#27
0
        public void NotNull_ValueIsNull_ThrowsException()
        {
            string?testValue = null;

            // Act
            Action act = () => Ensure.Argument(testValue, nameof(testValue)).NotNull();

            // Assert
            act
            .Should()
            .Throw <ArgumentNullException>();
        }
示例#28
0
        public void NotEmpty_EmptyGuidNullable_ThrowsException()
        {
            Guid?guid = Guid.Empty;

            // Act
            Action act = () => Ensure.Argument(guid, nameof(guid)).NotEmpty();

            // Assert
            act
            .Should()
            .Throw <ArgumentException>();
        }
示例#29
0
        public void NotNullOrEmpty_ArrayNull_ThrowsException()
        {
            int[]? items = null;

            // Act
            Action act = () => Ensure.Argument(items, nameof(items)).NotNullOrEmpty();

            // Assert
            act
            .Should()
            .Throw <ArgumentNullException>();
        }
示例#30
0
        public void NotEmpty_ArgNotNullNullGuidNullable_ThrowsException()
        {
            Guid?guid = null;

            // Act
            Action act = () => Ensure.Argument(guid, nameof(guid)).NotNull().NotEmpty();

            // Assert
            act
            .Should()
            .Throw <ArgumentNullException>();
        }