Beispiel #1
0
 private void Initialise(string FileName)
 {
     RowNum = 0;
     Reader.Open(FileName, Encoding.GetEncoding(1251));
     Reader.ReadLine();                       // skip header
     _AnketaFile          = new AnketaFile(); // Stable dependency
     _AnketaFile.FileName = System.IO.Path.GetFileName(FileName);
     _AnketaFile.Rows     = new List <Anketa>();
 }
Beispiel #2
0
        public void FileAlreadyParsed_Check_Correct()
        {
            // Arrange
            var ikep = new Mock <ITMRepositary>();
            var afl  = new AnketaFile()
            {
                FileName = "", ID = 1
            };

            ikep.Setup(s => s.GetFile(It.IsAny <string>())).Returns(afl);
            Mock <IGeneralFacade> igf = new Mock <IGeneralFacade>();

            igf.Setup(s => s.Keeper).Returns(ikep.Object);
            // Act
            var pars = new AnketaParser(igf.Object);

            // Assert
            Assert.True(pars.FileAlreadyParsed(""));
        }
Beispiel #3
0
 public Task InsertFileAsync(AnketaFile _anketaFile)
 {
     return(Task.Run(() =>
     {
         using (var context = _Setting.GetNewContext())
         {
             var trans = context.Database.BeginTransaction();
             try
             {
                 context.AnketaFile.Add(_anketaFile); // Saves both AnketaFile and Anketa rows
                 context.SaveChanges();
             }
             catch (Exception ex)
             {
                 trans.Rollback();
                 throw ex;
             }
             trans.Commit();
         }
     }));
 }
Beispiel #4
0
        public async Task Parse_SigleAsync_ThreeRows_Found()
        {
            // Arrange (create)
            var ikep = new Mock <ITMRepositary>();
            var irea = new Mock <IReader>();
            var ilog = new Mock <ILogger>();
            var icon = new Mock <IConverter>();
            var ank  = new Anketa()
            {
                FIO      = "Петухова Людмила Игнатьевна",
                Birthday = DateTime.Now,
                Email    = "*****@*****.**",
                Phone    = "8966358271"
            };

            // Arrange (setup)
            icon.Setup(s => s.ConvertIt <Anketa>(It.IsAny <string>())).Returns(ank);
            var        calls   = 0;
            AnketaFile ankfile = null;

            // Set up IReader for read data three times
            irea.Setup(s => s.EndOfStream()).Returns(() => calls == 3).Callback(() => calls++);
            // InsertFileAsync must return AnketaFile for assertion
            ikep.Setup(s => s.InsertFileAsync(It.IsAny <AnketaFile>())).
            Returns(Task.Run(() => {})).
            Callback <AnketaFile>(af => ankfile = af);
            Mock <IGeneralFacade> igf = new Mock <IGeneralFacade>();

            igf.Setup(s => s.Keeper).Returns(ikep.Object);
            igf.Setup(s => s.Reader).Returns(irea.Object);
            igf.Setup(s => s.Logger).Returns(ilog.Object);
            igf.Setup(s => s.Converter).Returns(icon.Object);

            var pars = new AnketaParser(igf.Object);
            // Act
            await pars.Parse_SigleAsync("", new Progress <int>(), new CancellationTokenSource());

            // Assert
            Assert.True(ankfile.Rows.Count == 3);
        }