コード例 #1
0
        static void Main(string[] args)
        {
            Console.WriteLine("Hello from more real FooBar implementation.");
            Console.WriteLine("***");
            Console.WriteLine();

            var fooBar = new FooBarBuilder().UseDefaults().Build();

            /* Classic way
             * foreach (var message in fooBar.FooBars())
             * {
             *  Console.WriteLine(message);
             * }
             */

            // "Modern" way
            fooBar.ProcessEach(message => { Console.WriteLine(message); });


            Console.WriteLine();
            Console.WriteLine("***");
            Console.WriteLine("Work has finished. Have a nice day!");
            Console.WriteLine("Press any button to exit.");
            Console.ReadKey();
        }
コード例 #2
0
        public void BuildingFooBarWithNoSettingsThrowsException()
        {
            // Arrange
            var fooBarBuilder = new FooBarBuilder();

            // Act && Assert
            Assert.ThrowsException <InvalidOperationException>(() => fooBarBuilder.Build());
        }
コード例 #3
0
        public void BuildFooBarWithRuleOutOfRangeThrowsException(int serialIndex, int from, int to)
        {
            // Arrange
            var fooBarBuilder = new FooBarBuilder().SetRange(from, to)
                                .AddRule(serialIndex, "FooBar");

            // Act && Assert
            Assert.ThrowsException <ArgumentOutOfRangeException>(() => fooBarBuilder.Build());
        }
コード例 #4
0
        public void AddingRuleWithNonPositiveSerialIndexThrowsException(int serialIndex)
        {
            // Arrange
            var fooBarBuilder = new FooBarBuilder();

            // Act && Assert
            Assert.ThrowsException <ArgumentException>(() =>
                                                       fooBarBuilder.AddRule(serialIndex, "FooBar"));
        }
コード例 #5
0
        public void SettingInvalidRangeThrowsException(int from, int to)
        {
            // Arrange
            var fooBarBuilder = new FooBarBuilder()
                                .UseDefaults();

            // Act && Assert
            Assert.ThrowsException <ArgumentException>(() => fooBarBuilder.SetRange(from, to));
        }
コード例 #6
0
        public void BuildFooBarWithRuleInsideOfRangeIsSuccesful()
        {
            // Arrange
            var fooBarBuilder = new FooBarBuilder().SetRange(1, 100)
                                .AddRule(3, "FooBar");

            // Act
            var fooBar = fooBarBuilder.Build();

            // Assert
            Assert.IsNotNull(fooBar);
        }
コード例 #7
0
        public void BuildingFooBarWithDefaultsIsSuccesful()
        {
            // Arrange
            var fooBarBuilder = new FooBarBuilder()
                                .UseDefaults();

            // Act
            var fooBar = fooBarBuilder.Build();

            // Assert
            Assert.IsNotNull(fooBar);
        }