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); }
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); }
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); }
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(); }
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 }
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); }
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(); } }
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); }
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); }
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); }