Changeset 1091 for trunk/DevTestMethods


Ignore:
Timestamp:
Jan 19, 2010, 1:15:25 PM (12 years ago)
Author:
Matthäus Wander
Message:

finished CStreamWriter and Reader

Location:
trunk/DevTestMethods
Files:
1 deleted
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/DevTestMethods/CrypPluginBase/CStream.cs

    r1085 r1091  
    66using Microsoft.VisualStudio.TestTools.UnitTesting;
    77using System.IO;
     8using System.Diagnostics;
    89
    910namespace Tests.CrypPluginBase
    1011{
    1112    /// <summary>
    12     /// Summary description for CStream
     13    /// Summary description for CStreamTest
    1314    /// </summary>
    1415    [TestClass]
    15     public class CStream
     16    public class CStreamTest
    1617    {
    17         Random rng = new Random();
    18         private CStreamWriter writer;
    1918
    2019        private byte[] ShortData
     
    3029        }
    3130
    32         public CStream()
     31        public CStreamTest()
    3332        {
    3433            ShortData = new byte[] { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06 };
    3534            LongData = new byte[65535];
     35
     36            Random rng = new Random();
    3637            rng.NextBytes(LongData);
    37 
    38             writer = new CStreamWriter();
    3938        }
    4039
     
    9089        public void TestWriter()
    9190        {
     91            CStreamWriter writer = new CStreamWriter();
     92
    9293            // put 6 bytes
    9394            writer.Write(ShortData);
     
    104105        public void TestReader()
    105106        {
     107            CStreamWriter writer = new CStreamWriter();
     108
    106109            // put 6 bytes
    107110            writer.Write(ShortData);
    108             CStreamReader reader = writer.CreateReader();
     111            CStream reader = writer.CreateReader();
    109112
    110113            // length==6, position==0
     
    131134        public void TestSwap()
    132135        {
     136            CStreamWriter writer = new CStreamWriter();
     137
    133138            // fill buffer with Length-1 bytes
    134139            writer.Write(LongData);
     
    150155        public void TestSwapWithReader()
    151156        {
    152             CStreamReader reader = writer.CreateReader();
     157            CStreamWriter writer = new CStreamWriter();
     158            CStream reader = writer.CreateReader();
    153159
    154160            // write, not swapped
     
    173179            Assert.IsTrue(read < buf.Length);
    174180
    175             // close writer, asser eof
     181            // close writer, assert EOF
    176182            writer.Close();
    177183            int result = reader.ReadByte();
     
    182188        public void TestDestructor()
    183189        {
    184             CStreamWriter_Accessor prvWriter = new CStreamWriter_Accessor();
    185            
    186             Assert.IsFalse(prvWriter.IsSwapped);
    187             prvWriter.Write(LongData);
    188             Assert.IsFalse(prvWriter.IsSwapped);
    189             prvWriter.Write(LongData);
    190 
    191             Assert.IsTrue(prvWriter.IsSwapped);
    192 
    193             // swapfile exists
    194             string filePath = prvWriter.FilePath;
     190            CStreamWriter writer = new CStreamWriter();
     191
     192            Assert.IsFalse(writer.IsSwapped);
     193            writer.Write(LongData);
     194            Assert.IsFalse(writer.IsSwapped);
     195            writer.Write(LongData);
     196
     197            Assert.IsTrue(writer.IsSwapped);
     198
     199            string filePath = writer.FilePath;
    195200            Assert.IsTrue(File.Exists(filePath));
    196201           
    197202            // force GC
    198             prvWriter = null;
     203            writer = null;
    199204            GC.Collect();
    200205            GC.WaitForPendingFinalizers();
    201206
    202             // swapfile removed
     207            // tempfile deleted
    203208            Assert.IsFalse(File.Exists(filePath));
    204209        }
     
    207212        public void TestDestructorWithReader()
    208213        {
    209             CStreamWriter_Accessor prvWriter = new CStreamWriter_Accessor();
    210 
    211             CStreamReader reader = prvWriter.CreateReader();
     214            CStreamWriter writer = new CStreamWriter();
     215
     216            // write, not swapped
     217            writer.Write(LongData);
     218
     219            // read something and assert there's more
     220            CStream reader = writer.CreateReader();
    212221            byte[] buf = new byte[ShortData.Length];
    213222            reader.Read(buf, 0, buf.Length);
    214 
    215             // have read something and there more left
    216223            Assert.IsTrue(reader.Position > 0);
    217224            Assert.IsTrue(reader.Length > reader.Position);
    218 
    219             // not swapped
    220 
    221             prvWriter.Write(LongData);
    222             prvWriter.Write(LongData);
    223 
    224             // swapfile exists
    225             string filePath = prvWriter.FilePath;
     225            Assert.IsFalse(reader.IsSwapped);
     226
     227            // write more, assert swap
     228            writer.Write(LongData);
     229            writer.Write(LongData);
     230            Assert.IsTrue(reader.IsSwapped);
     231
     232            string filePath = writer.FilePath;
     233
     234            // destroy ref to writer
     235            writer.Close();
     236            writer = null;
     237            GC.Collect();
     238            GC.WaitForPendingFinalizers();
     239            Assert.IsNull(writer);
     240
     241            // assert reading still works
    226242            Assert.IsTrue(File.Exists(filePath));
    227 
    228 
    229 
    230 
     243            Assert.IsNotNull(reader);
     244            int sum = 0;
     245            while (sum < LongData.Length * 2)
     246            {
     247                int read = reader.Read(buf);
     248                Assert.IsTrue(read > 0);
     249                sum += read;
     250            }
     251
     252            // destroy reader
     253            reader = null;
     254
     255            GC.Collect();
     256            GC.WaitForPendingFinalizers();
     257
     258            // deleted tempfile
     259            Assert.IsFalse(File.Exists(filePath));
    231260        }
    232261    }
  • trunk/DevTestMethods/DevTestMethods.csproj

    r1085 r1091  
    8888    </ProjectReference>
    8989  </ItemGroup>
    90   <ItemGroup>
    91     <Shadow Include="CrypPluginBase\CrypPluginBase.accessor" />
    92   </ItemGroup>
    93   <ItemGroup>
    94     <Folder Include="Test References\" />
    95   </ItemGroup>
    9690  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
    9791  <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
  • trunk/DevTestMethods/Properties/AssemblyInfo.cs

    r32 r1091  
    3232// Sie können alle Werte angeben oder die standardmäßigen Revisions- und Buildnummern
    3333// übernehmen, indem Sie "*" eingeben:
    34 [assembly: AssemblyVersion("1.0.0.0")]
    35 [assembly: AssemblyFileVersion("1.0.0.0")]
     34[assembly: AssemblyVersion("2.0.*")]
     35//[assembly: AssemblyFileVersion("1.0.0.0")]
Note: See TracChangeset for help on using the changeset viewer.