public void LcPseudoRandomGenerator_PositiveCase_WritesToStringWriter(LcConstants constants, uint count, string expected)
        {
            LcPseudoRandomGenerator.Generate(constants, null, _stringWriter, count);
            _stringWriter.Close();

            Assert.Equal(expected, _stringResult.ToString());
        }
Exemplo n.º 2
0
        public void Execute(object parameter)
        {
            var mainWindowViewModel = (MainWindowViewModel)parameter;
            var input  = mainWindowViewModel.InputParametersViewModel;
            var output = mainWindowViewModel.OutputViewModel;

            var lcParameter = new LcConstants
                              (
                uint.Parse(input.X0),
                uint.Parse(input.A),
                uint.Parse(input.C),
                uint.Parse(input.M)
                              );

            var stringBuilder = new StringBuilder();
            var stringWriter  = new StringWriter(stringBuilder);
            var streamWriter  = new StreamWriter(input.FilePath);

            var period = LcPseudoRandomGenerator.Generate
                         (
                lcParameter,
                streamWriter,
                _toConsole ? stringWriter : null,
                uint.Parse(input.Count)
                         );

            output.Period            = period.ToString();
            output.GeneratedSequence = _toConsole ? stringBuilder.ToString() : "";

            streamWriter.Close();
        }
Exemplo n.º 3
0
        private byte[] GenerateVector()
        {
            var byteCount     = 2 * U;
            var constants     = new LcConstants((uint)Environment.TickCount, 16807, 28657, 2147483648);
            var stringWriter  = new StringWriter();
            var vector        = LcPseudoRandomGenerator.Generate(constants, null, stringWriter, (uint)byteCount / 4);
            var stringNumbers = stringWriter.ToString();
            var numbers       = stringNumbers.Split(", ").Select(UInt32.Parse).ToArray();
            var result        = new byte[2 * U];

            Buffer.BlockCopy(numbers, 0, result, 0, byteCount);
            return(result);
        }
        public void LcPseudoRandomGenerator_PositiveCase_WritesLastNumberToStreamWriter(LcConstants variant, uint expectedPeriod, string expectedLastNumber)
        {
            var streamWriterMock = new StreamWriterMock(_memoryResult);

            var actualPeriod = LcPseudoRandomGenerator.Generate(variant, streamWriterMock);

            Assert.Equal(expectedLastNumber, streamWriterMock.LastWriteCall);
            Assert.Equal(expectedPeriod, actualPeriod);
        }