コード例 #1
0
        /// <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();
            }
        }
コード例 #2
0
ファイル: MsgFile_Tests.cs プロジェクト: tuday2/MBBSEmu
        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);
        }
コード例 #3
0
ファイル: StreamStreamTest.cs プロジェクト: 602p/krpc
 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));
 }
コード例 #4
0
ファイル: StreamStreamTest.cs プロジェクト: key50/My_kRPC
        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());
        }
コード例 #5
0
ファイル: StreamStreamTest.cs プロジェクト: pipi1226/krpc
        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));
        }
コード例 #6
0
ファイル: MsgFile_Tests.cs プロジェクト: tuday2/MBBSEmu
        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);
        }