コード例 #1
0
 public void RegisterDelegate()
 {
     try
     {
         using (FileStream stream = File.OpenRead(filePath))
         {
             using (StdfFileReader reader = new StdfFileReader(stream))
             {
                 reader.RegisterDelegate(0, 10, delegate(object o, RecordReadEventArgs e)
                 {
                     Assert.IsInstanceOf(typeof(FarRecord), (e.Record));
                 });
                 reader.RegisterDelegate(0, 20, delegate(object o, RecordReadEventArgs e)
                 {
                     Assert.IsInstanceOf(typeof(AtrRecord), e.Record);
                 });
                 reader.RegisterDelegate(1, 20, delegate(object o, RecordReadEventArgs e)
                 {
                     Assert.IsInstanceOf(typeof(MrrRecord), e.Record);
                 });
                 reader.Read();
             }
         }
     }
     catch (StdfException e)
     {
         Assert.Fail(e.ToString());
     }
 }
コード例 #2
0
        private void ReadRecords(RecordInfo[] info, Stream stream)
        {
            StdfFileReader reader = null;

            try
            {
                reader = new StdfFileReader(stream);
                foreach (RecordInfo stdfInfo in info)
                {
                    reader.RegisterDelegate(stdfInfo.Type, stdfInfo.Subtype, delegate(object o, RecordReadEventArgs e)
                    {
                        StdfRecord record = e.Record;
                        Assert.AreEqual(stdfInfo.Type, record.Type);
                        Assert.AreEqual(stdfInfo.Subtype, record.Subtype);
                    });
                }
                reader.Read();
            }
            catch (StdfException e)
            {
                Console.WriteLine(e.StackTrace);
                Assert.Fail(e.Message);
            }
            finally
            {
                if (reader != null)
                {
                    reader.Dispose();
                }
            }
        }
コード例 #3
0
        private void ReadRecords(List <Type> records, Stream stream)
        {
            StdfFileReader reader = null;

            try
            {
                reader = new StdfFileReader(stream);
                foreach (Type recordType in records)
                {
                    StdfRecord record = reader.ReadRecord();
                    Assert.IsInstanceOf(recordType, record);
                }
            }
            catch (StdfException e)
            {
                Console.WriteLine(e.StackTrace);
                Assert.Fail(e.Message);
            }
            finally
            {
                if (reader != null)
                {
                    reader.Dispose();
                }
            }
        }
コード例 #4
0
ファイル: TestStdfFile.cs プロジェクト: erisonliang/stdfsharp
 public void OpenFileSeveralTimesDisposingReader()
 {
     for (int i = 0; i < 100; i++)
     {
         StdfFileReader reader = file.OpenForRead();
         reader.Dispose();
     }
 }
コード例 #5
0
        public void SkippingUnknownRecords()
        {
            StdfFile file = new StdfFile(filePath);

            using (StdfFileReader reader = file.OpenForRead())
            {
                reader.RecordRead += new RecordReadEventHandler(delegate(object o, RecordReadEventArgs e)
                {
                    Assert.IsNotNull(e.Record);
                });
                try
                {
                    reader.Read();
                }
                catch (Exception e)
                {
                    Assert.Fail(e.Message);
                }
            }
        }
コード例 #6
0
        public void TestWriting()
        {
            InitializeTestRecord();
            MockStdfFileWriter writer = new MockStdfFileWriter(CpuType.Sun386);

            writer.WriteRecord(hbr);
            writer.Reset();
            StdfFileReader reader = new StdfFileReader(writer.Stream);
            StdfRecord     record = reader.ReadRecord();

            Assert.IsInstanceOf(typeof(FarRecord), record);
            record = reader.ReadRecord();
            Assert.IsInstanceOf(typeof(HbrRecord), record);
            HbrRecord readRecord = record as HbrRecord;

            Assert.IsNotNull(readRecord);
            Assert.AreEqual(hbr.HeadNumber, readRecord.HeadNumber);
            Assert.AreEqual(hbr.SiteNumber, readRecord.SiteNumber);
            Assert.AreEqual(hbr.Name, readRecord.Name);
            Assert.AreEqual(hbr.Number, readRecord.Number);
            Assert.AreEqual(hbr.PartsCount, readRecord.PartsCount);
            Assert.AreEqual(hbr.PassFail, readRecord.PassFail);
        }
コード例 #7
0
ファイル: Program.cs プロジェクト: erisonliang/stdfsharp
        private static void Start()
        {
            Console.WriteLine("Starting to read");
            DateTime start     = DateTime.Now;
            int      partCount = 0;

            try
            {
                using (FileStream stream = File.OpenRead(filePath))
                {
                    using (StdfFileReader reader = new StdfFileReader(stream))
                    {
                        foreach (Type record in Records)
                        {
                            //reader.RegisterDelegate(record, PtrReadDelegate);
                            reader.RegisterDelegate(record, delegate(object o, RecordReadEventArgs e)
                            {
                                partCount++;
                                //Console.WriteLine(e.Record);
                                //Debug.WriteLine("Read {0} PTR records", partCount);
                            });
                        }
                        reader.Read();
                        Finish();
                    }
                }
            }
            catch (Exception e) {
                Console.WriteLine("An exception occurred: {0}", e.Message);
                Console.WriteLine(e.StackTrace);
            }
            DateTime end = DateTime.Now;

            Console.WriteLine("Elapsed time: {0}", end - start);
            Console.WriteLine("Counted {0} parts", partCount);
            Console.ReadLine();
        }
コード例 #8
0
ファイル: TestStdfFile.cs プロジェクト: erisonliang/stdfsharp
 public void OpenFileForWritingAfterOpenedForReading()
 {
     reader = file.OpenForRead();
     Assert.Throws <IOException>(() => file.OpenForWrite());
 }