Beispiel #1
0
        public void TryReadRecord_MappingFailure_RecordNotReadAndFailureIsReturned()
        {
            var records = new string[]
            {
                "Line 1"
            };

            var fieldFailures = new FieldFailure[]
            {
                new FieldFailure()
                {
                    FieldName = "TestField",
                    Message   = "Field is invalid."
                }
            };

            var recordMapper = MockRepository.GenerateMock <IRecordMapper>();

            recordMapper.Expect(x => x.TryMap(
                                    Arg <object> .Is.Equal(records[0]),
                                    out Arg <object> .Out(null).Dummy,
                                    out Arg <IEnumerable <FieldFailure> > .Out(fieldFailures).Dummy))
            .Return(false)
            .Repeat.Once();

            using (var fileReader = new MockFileReader(records, recordMapper))
            {
                var couldBeRead = fileReader.TryReadRecord(out var record, out var failures);

                Assert.IsFalse(couldBeRead);
                Assert.AreEqual(fieldFailures[0], failures.Single());
            }

            recordMapper.VerifyAllExpectations();
        }
Beispiel #2
0
        public void TryReadRecord_MultipleRecords_RecordsAreRead()
        {
            var records = new string[]
            {
                "Line 1",
                "Line 2",
                "Line 3"
            };

            using (var fileReader = new MockFileReader(records))
            {
                var couldBeRead1 = fileReader.TryReadRecord(out var record1, out var failures1);
                var couldBeRead2 = fileReader.TryReadRecord(out var record2, out var failures2);
                var couldBeRead3 = fileReader.TryReadRecord(out var record3, out var failures3);
                var couldBeRead4 = fileReader.TryReadRecord(out var record4, out var failures4);

                Assert.IsTrue(couldBeRead1);
                Assert.IsTrue(couldBeRead2);
                Assert.IsTrue(couldBeRead3);
                Assert.IsFalse(couldBeRead4);
                Assert.AreEqual(records[0], record1);
                Assert.AreEqual(records[1], record2);
                Assert.AreEqual(records[2], record3);
                Assert.IsNull(failures1);
                Assert.IsNull(failures2);
                Assert.IsNull(failures3);
                Assert.IsNull(failures4);
            }
        }
Beispiel #3
0
        public void TryReadRecord_MultipleRecordsWithRecordMapper_RecordsAreReadAndMapped()
        {
            var records = new string[]
            {
                "Line 1",
                "Line 2",
                "Line 3"
            };

            var mappedRecords = new string[]
            {
                "Mapped 1",
                "Mapped 2",
                "Mapped 3"
            };

            var recordMapper = MockRepository.GenerateMock <IRecordMapper>();

            recordMapper.Expect(x => x.TryMap(
                                    Arg <object> .Is.Equal(records[0]),
                                    out Arg <object> .Out(mappedRecords[0]).Dummy,
                                    out Arg <IEnumerable <FieldFailure> > .Out(null).Dummy))
            .Return(true)
            .Repeat.Once();
            recordMapper.Expect(x => x.TryMap(
                                    Arg <object> .Is.Equal(records[1]),
                                    out Arg <object> .Out(mappedRecords[1]).Dummy,
                                    out Arg <IEnumerable <FieldFailure> > .Out(null).Dummy))
            .Return(true)
            .Repeat.Once();
            recordMapper.Expect(x => x.TryMap(
                                    Arg <object> .Is.Equal(records[2]),
                                    out Arg <object> .Out(mappedRecords[2]).Dummy,
                                    out Arg <IEnumerable <FieldFailure> > .Out(null).Dummy))
            .Return(true)
            .Repeat.Once();

            using (var fileReader = new MockFileReader(records, recordMapper))
            {
                var couldBeRead1 = fileReader.TryReadRecord(out var record1, out var failures1);
                var couldBeRead2 = fileReader.TryReadRecord(out var record2, out var failures2);
                var couldBeRead3 = fileReader.TryReadRecord(out var record3, out var failures3);
                var couldBeRead4 = fileReader.TryReadRecord(out var record4, out var failures4);

                Assert.IsTrue(couldBeRead1);
                Assert.IsTrue(couldBeRead2);
                Assert.IsTrue(couldBeRead3);
                Assert.IsFalse(couldBeRead4);
                Assert.AreEqual(mappedRecords[0], record1);
                Assert.AreEqual(mappedRecords[1], record2);
                Assert.AreEqual(mappedRecords[2], record3);
                Assert.IsNull(failures1);
                Assert.IsNull(failures2);
                Assert.IsNull(failures3);
                Assert.IsNull(failures4);
            }

            recordMapper.VerifyAllExpectations();
        }
Beispiel #4
0
 public CalculateLibYearForCycloneDxFileTest(ITestOutputHelper output) : base(output)
 {
     _fileReaderService = new MockFileReader();
     _calculateLibYearFromCycloneDxFile = new CalculateLibYearFromCycloneDxFile(
         new ReadCycloneDxFile(_fileReaderService),
         new MockAgentsRepository()
         );
 }
Beispiel #5
0
        public void Open_FileDoesNotExist_ExceptionIsThrown()
        {
            var nonExistantFilePath = @"C:\MissingFile.txt";

            using (var fileReader = new MockFileReader(nonExistantFilePath))
            {
                fileReader.Open();
            }
        }
 protected void Setup()
 {
     _mockFile            = new MockFileReader();
     _fileEntriesProvider = new FileEntriesProvider(_mockFile);
     _filterParams        = new FilterParams
     {
         Pattern = "%d{yyyyMMdd HH:mm:ss} :%-5p [%t] %c %m%n"
     };
 }
Beispiel #7
0
        public void Dispose_AfterFileOpened_FileIsClosed()
        {
            File.WriteAllText(this.FilePath, String.Empty);

            var fileReader = new MockFileReader(this.FilePath);

            fileReader.Open();
            fileReader.Dispose();

            Assert.IsTrue(fileReader.IsFileClosed);
        }
Beispiel #8
0
        public void Open_ExistingFile_FileIsOpened()
        {
            File.WriteAllText(this.FilePath, String.Empty);

            using (var fileReader = new MockFileReader(this.FilePath))
            {
                fileReader.Open();

                Assert.IsTrue(fileReader.IsFileOpen);
            }
        }
Beispiel #9
0
        public void FileShare_None_FileIsNotShared()
        {
            File.WriteAllText(this.FilePath, String.Empty);

            using (var fileReader = new MockFileReader(this.FilePath, fileShare: FileShare.None))
            {
                fileReader.Open();

                File.OpenRead(this.FilePath);
            }
        }
Beispiel #10
0
        public void FileShare_ReadWrite_FileIsShared()
        {
            File.WriteAllText(this.FilePath, String.Empty);

            using (var fileReader = new MockFileReader(this.FilePath, fileShare: FileShare.ReadWrite))
            {
                fileReader.Open();

                using (var file = File.OpenRead(this.FilePath))
                {
                }
            }
        }
Beispiel #11
0
        public void TryReadRecord_RecordMapperThrowsException_ExceptionIsPropogated()
        {
            var records = new string[]
            {
                "Line 1",
                "Line 2",
                "Line 3"
            };

            var recordMapper = MockRepository.GenerateMock <IRecordMapper>();

            recordMapper.Expect(x => x.TryMap(
                                    Arg <object> .Is.Anything,
                                    out Arg <object> .Out(null).Dummy,
                                    out Arg <IEnumerable <FieldFailure> > .Out(null).Dummy))
            .Throw(new InternalTestFailureException());

            using (var fileReader = new MockFileReader(records, recordMapper))
            {
                fileReader.TryReadRecord(out var record, out var failures);
            }

            recordMapper.VerifyAllExpectations();
        }
 public ReadCycloneDxFileTest(ITestOutputHelper output) : base(output)
 {
     _fileReaderService = new MockFileReader();
     _readCycloneDxFile = new ReadCycloneDxFile(_fileReaderService);
 }