コード例 #1
0
ファイル: TimeTests.cs プロジェクト: skorlygin/conveyor
        public void Conveyor_500_to_1500__by_5_to_10__PushA_1000(IConveyorBuilder builder)
        {
            var random = new Random(616);
            var timer  = Stopwatch.StartNew();

            for (var count = 500; count <= 1500; count += 500)
            {
                var segments = Enumerable
                               .Repeat(0, count)
                               .Select(__ => ((byte)random.Next(5, 10), (byte)random.Next(5, 10)))
                               .ToArray();

                timer.Reset();

                var sut = builder
                          .WithSegments(segments)
                          .Build();

                _output.WriteLine($"{sut.GetType().Name}@{count} initialize: {timer.ElapsedMilliseconds} ms");

                timer.Reset();

                var result = Enumerable
                             .Repeat(0, 1000)
                             .Select(__value => sut.PushA(__value))
                             .ToArray();

                _output.WriteLine($"{sut.GetType().Name}@{count} PushA {1000} times: {timer.ElapsedMilliseconds} ms");
            }
        }
コード例 #2
0
ファイル: UnitTests.cs プロジェクト: skorlygin/conveyor
        public void Conveyor_11_11_PushB(IConveyorBuilder builder)
        {
            var sut = builder
                      .WithSegments((1, 1), (1, 1))
                      .WithInput((1, null), (0, null), (0, null), (0, null))
                      .Build();

            var result = sut.PushB(0);

            result.Should().Be(1);
        }
コード例 #3
0
ファイル: UnitTests.cs プロジェクト: skorlygin/conveyor
        public void Conveyor_21_41_PushB_Full(IConveyorBuilder builder)
        {
            var sut = builder
                      .WithSegments((2, 1), (3, 1))
                      .WithInput((1, null), (2, null), (3, null), (4, null), (5, null), (6, null), (7, null))
                      .Build();

            var result = Enumerable.Range(8, 4).Select(__value => sut.PushB(__value)).ToArray();

            result.Should().HaveCount(4);
            result.Should().BeEquivalentTo(new[] { 1, 0, 5, 0 });
        }
コード例 #4
0
ファイル: UnitTests.cs プロジェクト: skorlygin/conveyor
        public void Conveyor_11_11_PushA_Full(IConveyorBuilder builder)
        {
            var sut = builder
                      .WithSegments((1, 1), (1, 1))
                      .WithInput((1, null), (2, null), (3, null), (4, null))
                      .Build();

            var result = Enumerable.Range(5, 4).Select(__value => sut.PushA(__value)).ToArray();

            result.Should().HaveCount(4);
            result.Should().BeEquivalentTo(new[] { 1, 2, 3, 4 });
        }