private CFamily ConvertFamily(CFamilyDto familyDal, CPerson knownMember = null)
        {
            if (familyDal == null)
            {
                return(null);
            }

            Int32   id             = familyDal.FamilyID;
            String  fName          = familyDal.FamilyName;
            Int32   budget         = familyDal.Budget ?? 0;
            Int32   membersCounter = familyDal.MembersCounter ?? 0;
            CFamily familyBll      = new CFamily(id, fName, budget, membersCounter);

            foreach (CFamilyTargetDto fTarget in familyDal.FamilyTargets)
            {
                familyBll.FamilyTargets.Add(ConvertFamilyTarget(fTarget));
            }

            foreach (CPersonDto member in familyDal.People)
            {
                if (knownMember != null && knownMember.PersonID == member.PersonID)
                {
                    familyBll.FamilyMembers.Add(knownMember);
                }
                else
                {
                    familyBll.FamilyMembers.Add(ConvertPerson(member, familyBll));
                }
            }

            return(familyBll);
        }
Esempio n. 2
0
 public void IsHeaderFile_NotDotHExtension_ReturnsFalse()
 {
     // Act and Assert
     CFamily.IsHeaderFile("c:\\aaa\\bbbb\\file.hh").Should().Be(false);
     CFamily.IsHeaderFile("c:\\aaa\\bbbb\\FILE.cpp").Should().Be(false);
     CFamily.IsHeaderFile("c:\\aaa\\bbbb\\noextension").Should().Be(false);
 }
Esempio n. 3
0
        public void IsFileInSolution_NullItem_ReturnsFalse()
        {
            // Arrange and Act
            var result = CFamily.IsFileInSolution(null);

            // Assert
            result.Should().BeFalse();
        }
        private CPerson ConvertPerson(CPersonDto personDal, CFamily knownFamilyBll = null)
        {
            CPerson personBll;

            try
            {
                if (personDal == null)
                {
                    return(null);
                }

                Int32  id     = personDal.PersonID;
                String name   = personDal.Name;
                Int32  budget = personDal.Budget ?? 0;

                personBll = new CPerson(id, name, budget);
                CFamily familyBll;
                if (knownFamilyBll == null && personDal.FamilyID != null)
                {
                    CFamilyDto familyDto = personDal.Family;
                    familyBll = ConvertFamily(familyDto, personBll);
                }
                else
                {
                    familyBll = knownFamilyBll;
                }
                personBll.Family = familyBll;

                foreach (CSubCategoryDto subCategory in personDal.SubCategories)
                {
                    personBll.SubCategories.Add(ConvertSubCategory(subCategory));
                }

                foreach (CSpendingHistoryDto spendingHistory in personDal.SpendingHistories)
                {
                    personBll.Histories.Add(ConvertSpendingHistory(spendingHistory));
                }

                foreach (CPersonalTargetDto pTarget in personDal.PersonalTargets)
                {
                    personBll.PersonalTargets.Add(ConvertPersonalTarget(pTarget));
                }

                foreach (CReminderDto reminder in personDal.Reminders)
                {
                    personBll.Reminders.Add(ConvertReminders(reminder));
                }
            }
            catch (Exception ex)
            {
                log.Error(ex, "Some error occure while trying to convert CPersonDto (id = {1}) to CPerson. Message: {0}", ex.Message, personDal.PersonID);
                throw;
            }

            return(personBll);
        }
Esempio n. 5
0
        public void IsFileInSolution_SingleFileIntelliSense_ReturnsFalse()
        {
            // Arrange
            var projectItemMock = CreateProjectItemWithProject("c:\\foo\\SingleFileISense\\xxx.vcxproj");

            // Act
            var result = CFamily.IsFileInSolution(projectItemMock.Object);

            // Assert
            result.Should().BeFalse();
            projectItemMock.Verify(x => x.ContainingProject, Times.Once); // check the test hit the expected path
        }
        public void TryGetConfig_ErrorsAreLogged()
        {
            // Arrange
            var    loggerMock = new Mock <ILogger>();
            string sqLanguage;

            // Act - passing a null project item so should error when it is used
            string json = CFamily.TryGetConfig(loggerMock.Object, null, "c:\\dummy", out sqLanguage);

            // Assert
            loggerMock.Verify(x => x.WriteLine(It.IsAny <string>()), Times.Once);
            json.Should().BeNull();
            sqLanguage.Should().BeNull();
        }
Esempio n. 7
0
        public void IsFileInSolution_ExceptionThrown_ReturnsFalse()
        {
            // Arrange
            var projectItemMock = new Mock <ProjectItem>();

            projectItemMock.Setup(i => i.ContainingProject).Throws <System.Runtime.InteropServices.COMException>();

            // Act
            var result = CFamily.IsFileInSolution(projectItemMock.Object);

            // Assert
            result.Should().BeFalse();
            projectItemMock.Verify(x => x.ContainingProject, Times.Once); // check the test hit the expected path
        }
Esempio n. 8
0
        public void ProcessFile_HeaderFile_IsNotProcessed()
        {
            // Arrange
            var daemonMock        = new Mock <ISonarLintDaemon>();
            var issueConsumerMock = new Mock <IIssueConsumer>();
            var loggerMock        = new Mock <ILogger>();

            var projectItemMock = new Mock <ProjectItem>();

            // Act
            CFamily.ProcessFile(daemonMock.Object, issueConsumerMock.Object,
                                loggerMock.Object, projectItemMock.Object, "c:\\dummy\\file.h", "charset");

            // Assert
            AssertMessageLogged(loggerMock, "Cannot analyze header files. File: 'c:\\dummy\\file.h'");
            AssertFileNotAnalysed(daemonMock);
        }
Esempio n. 9
0
        public void TryGetConfig_ErrorsAreLogged()
        {
            // Arrange
            var    loggerMock = new Mock <ILogger>();
            string sqLanguage;

            // Act
            using (new AssertIgnoreScope())
            {
                string json = CFamily.TryGetConfig(loggerMock.Object, null, "c:\\dummy", out sqLanguage);

                // Assert
                AssertPartialMessageLogged(loggerMock,
                                           "Unable to collect C/C++ configuration for c:\\dummy: ");
                json.Should().BeNull();
                sqLanguage.Should().BeNull();
            }
        }
Esempio n. 10
0
        public void ProcessFile_ErrorGetting_IsHandled()
        {
            // Arrange
            var daemonMock        = new Mock <ISonarLintDaemon>();
            var issueConsumerMock = new Mock <IIssueConsumer>();
            var loggerMock        = new Mock <ILogger>();

            var projectItemMock = CreateProjectItemWithProject("c:\\foo\\xxx.vcxproj");

            // Act
            CFamily.ProcessFile(daemonMock.Object, issueConsumerMock.Object,
                                loggerMock.Object, projectItemMock.Object, "c:\\dummy\\file.cpp", "charset");

            // Assert
            AssertPartialMessageLogged(loggerMock,
                                       "Unable to collect C/C++ configuration for c:\\dummy\\file.cpp: ");
            AssertFileNotAnalysed(daemonMock);
        }
Esempio n. 11
0
        public void ProcessFile_FileOutsideSolution_IsNotProcessed()
        {
            // Arrange
            var daemonMock        = new Mock <ISonarLintDaemon>();
            var issueConsumerMock = new Mock <IIssueConsumer>();
            var loggerMock        = new Mock <ILogger>();

            var projectItemMock = CreateProjectItemWithProject("c:\\foo\\SingleFileISense\\xxx.vcxproj");

            // Act
            CFamily.ProcessFile(daemonMock.Object, issueConsumerMock.Object,
                                loggerMock.Object, projectItemMock.Object, "c:\\dummy\\file.cpp", "charset");

            // Assert
            AssertMessageLogged(loggerMock,
                                "Unable to retrieve the configuration for file 'c:\\dummy\\file.cpp'. Check the file is part of a project in the current solution.");
            AssertFileNotAnalysed(daemonMock);
        }
Esempio n. 12
0
 public void IsHeaderFile_DotHExtension_ReturnsTrue()
 {
     // Act and Assert
     CFamily.IsHeaderFile("c:\\aaa\\bbbb\\file.h").Should().Be(true);
     CFamily.IsHeaderFile("c:\\aaa\\bbbb\\FILE.H").Should().Be(true);
 }