public void LcPseudoRandomGenerator_Variant1_WritesToStreamWriter() { LcPseudoRandomGenerator.Generate(_variant1, _streamWriter); _streamWriter.Close(); Assert.Equal("2, 64", new String(_memoryResult.ToArray().Select(b => (char)b).ToArray())); }
public void LcPseudoRandomGenerator_PositiveCase_WritesToStringWriter(LcConstants constants, uint count, string expected) { LcPseudoRandomGenerator.Generate(constants, null, _stringWriter, count); _stringWriter.Close(); Assert.Equal(expected, _stringResult.ToString()); }
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(); }
public void LcPseudoRandomGenerator_Variant1CountLowerThanPeriod_WritesToBothStreamAndStringWriter() { LcPseudoRandomGenerator.Generate(_variant1, _streamWriter, _stringWriter, 1); _streamWriter.Close(); _stringWriter.Close(); Assert.Equal("2", _stringResult.ToString()); Assert.Equal("2, 64", new String(_memoryResult.ToArray().Select(b => (char)b).ToArray())); }
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); }
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); }