/// <summary> /// Store the hash map /// </summary> /// <param name="stream">Stream from whcih file comes</param> /// <param name="Size">Size of the file</param> public void StoreHashMapFile(Stream stream, int Size) { string mapFile = file; // Delete the existing file, any way we are going to store the new one if (File.Exists(mapFile)) { Delete(); } FileStream HashStream = File.OpenWrite(mapFile); try { StreamStream ss = new StreamStream(HashStream); ss.Write(stream, Size); } catch (Exception ex) { throw ex; } finally { HashStream.Close(); } }
public void ReplaceWithActualValues() { var sourceMessage = Load("MBBSEMU.MSG"); var outputRawStream = new MemoryStream(); using var sourceStream = new StreamStream(sourceMessage); using var outputStream = new StreamStream(outputRawStream); MsgFile.UpdateValues(sourceStream, outputStream, new Dictionary <string, string>() { { "SOCCCR", "128" }, { "SLOWTICS", "Whatever" }, { "MAXITEM", "45" } }); outputRawStream.Flush(); outputRawStream.Seek(0, SeekOrigin.Begin); var result = Encoding.ASCII.GetString(outputRawStream.ToArray()); // expected should have the mods applied var expected = Encoding.ASCII.GetString(Load("MBBSEMU.MSG").ToArray()); expected = expected.Replace("SOCCCR {SoC credit consumption rate adjustment, per min: 0}", "SOCCCR {SoC credit consumption rate adjustment, per min: 128}"); expected = expected.Replace("SLOWTICS {Slow system factor: 10000}", "SLOWTICS {Slow system factor: Whatever}"); expected = expected.Replace("MAXITEM {Maximum number of items: 954}", "MAXITEM {Maximum number of items: 45}"); result.Should().Be(expected); }
public void WriteSingleResponse() { var stream = new MemoryStream (); var streamStream = new StreamStream (new TestStream (null, stream)); streamStream.Write (expectedMessage); byte[] bytes = stream.ToArray (); Assert.IsTrue (messageBytes.SequenceEqual (bytes)); }
public void WriteSingleResponse() { var stream = new MemoryStream(); var streamStream = new StreamStream(new TestStream(null, stream)); Assert.AreEqual(0, streamStream.BytesWritten); Assert.AreEqual(0, streamStream.BytesRead); streamStream.Write(expectedUpdate); Assert.AreEqual(updateBytes.Length, streamStream.BytesWritten); Assert.AreEqual(0, streamStream.BytesRead); Assert.AreEqual(updateBytes.ToHexString(), stream.ToArray().ToHexString()); }
public void WriteSingleResponse() { var stream = new MemoryStream(); var streamStream = new StreamStream(new TestStream(null, stream)); Assert.AreEqual(0, streamStream.BytesWritten); Assert.AreEqual(0, streamStream.BytesRead); streamStream.Write(expectedMessage); byte[] bytes = stream.ToArray(); Assert.AreEqual(bytes.Length, streamStream.BytesWritten); Assert.AreEqual(0, streamStream.BytesRead); Assert.IsTrue(messageBytes.SequenceEqual(bytes)); }
public void ReplaceWithEmptyDictionary() { var sourceMessage = Load("MBBSEMU.MSG"); var outputRawStream = new MemoryStream(); using var sourceStream = new StreamStream(sourceMessage); using var outputStream = new StreamStream(outputRawStream); MsgFile.UpdateValues(sourceStream, outputStream, new Dictionary <string, string>()); outputRawStream.Flush(); outputRawStream.Seek(0, SeekOrigin.Begin); var result = outputRawStream.ToArray(); sourceMessage.Seek(0, SeekOrigin.Begin); var expected = sourceMessage.ToArray(); result.Should().BeEquivalentTo(expected); }