mirror of
https://github.com/Microsoft/calculator.git
synced 2025-08-22 14:13:30 -07:00
Check for exactly 1 before using the singular noun, rather than greater than 1
Should this code ever be refactored in such a way that the check to 0 is changed, this will ensure the end result does not change. In addition, it is naturally immediately apparent to the developers what is going on, potentially enhancing maintainability. Additionally, make bitwise operations more obvious in their intentions.
This commit is contained in:
parent
8fab2cb060
commit
7a113045f3
2 changed files with 28 additions and 28 deletions
|
@ -157,10 +157,13 @@ void DateCalculatorViewModel::OnInputsChanged()
|
||||||
// Subtract number of Days, Months and Years from a Date
|
// Subtract number of Days, Months and Years from a Date
|
||||||
dateTimeResult = m_dateCalcEngine->SubtractDuration(StartDate, dateDiff);
|
dateTimeResult = m_dateCalcEngine->SubtractDuration(StartDate, dateDiff);
|
||||||
}
|
}
|
||||||
IsOutOfBound = dateTimeResult == nullptr;
|
if (dateTimeResult == nullptr)
|
||||||
|
|
||||||
if (!m_isOutOfBound)
|
|
||||||
{
|
{
|
||||||
|
IsOutOfBound = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
IsOutOfBound = false;
|
||||||
DateResult = dateTimeResult->Value;
|
DateResult = dateTimeResult->Value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -254,13 +257,13 @@ String ^ DateCalculatorViewModel::GetDateDiffString() const
|
||||||
result += GetLocalizedNumberString(yearCount)->Data();
|
result += GetLocalizedNumberString(yearCount)->Data();
|
||||||
result += L' ';
|
result += L' ';
|
||||||
|
|
||||||
if (yearCount > 1)
|
if (yearCount == 1)
|
||||||
{
|
{
|
||||||
result += resourceLoader->GetResourceString(L"Date_Years")->Data();
|
result += resourceLoader->GetResourceString(L"Date_Year")->Data();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
result += resourceLoader->GetResourceString(L"Date_Year")->Data();
|
result += resourceLoader->GetResourceString(L"Date_Years")->Data();
|
||||||
}
|
}
|
||||||
|
|
||||||
// set the flags to add a delimiter whenever the next unit is added
|
// set the flags to add a delimiter whenever the next unit is added
|
||||||
|
@ -282,13 +285,13 @@ String ^ DateCalculatorViewModel::GetDateDiffString() const
|
||||||
result += GetLocalizedNumberString(monthCount)->Data();
|
result += GetLocalizedNumberString(monthCount)->Data();
|
||||||
result += L' ';
|
result += L' ';
|
||||||
|
|
||||||
if (monthCount > 1)
|
if (monthCount == 1)
|
||||||
{
|
{
|
||||||
result += resourceLoader->GetResourceString(L"Date_Months")->Data();
|
result += resourceLoader->GetResourceString(L"Date_Month")->Data();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
result += resourceLoader->GetResourceString(L"Date_Month")->Data();
|
result += resourceLoader->GetResourceString(L"Date_Months")->Data();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -307,13 +310,13 @@ String ^ DateCalculatorViewModel::GetDateDiffString() const
|
||||||
result += GetLocalizedNumberString(weekCount)->Data();
|
result += GetLocalizedNumberString(weekCount)->Data();
|
||||||
result += L' ';
|
result += L' ';
|
||||||
|
|
||||||
if (weekCount > 1)
|
if (weekCount == 1)
|
||||||
{
|
{
|
||||||
result += resourceLoader->GetResourceString(L"Date_Weeks")->Data();
|
result += resourceLoader->GetResourceString(L"Date_Week")->Data();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
result += resourceLoader->GetResourceString(L"Date_Week")->Data();
|
result += resourceLoader->GetResourceString(L"Date_Weeks")->Data();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -332,13 +335,13 @@ String ^ DateCalculatorViewModel::GetDateDiffString() const
|
||||||
result += GetLocalizedNumberString(dayCount)->Data();
|
result += GetLocalizedNumberString(dayCount)->Data();
|
||||||
result += L' ';
|
result += L' ';
|
||||||
|
|
||||||
if (dayCount > 1)
|
if (dayCount == 1)
|
||||||
{
|
{
|
||||||
result += resourceLoader->GetResourceString(L"Date_Days")->Data();
|
result += resourceLoader->GetResourceString(L"Date_Day")->Data();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
result += resourceLoader->GetResourceString(L"Date_Day")->Data();
|
result += resourceLoader->GetResourceString(L"Date_Days")->Data();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -351,13 +354,13 @@ String ^ DateCalculatorViewModel::GetDateDiffStringInDays() const
|
||||||
result += L' ';
|
result += L' ';
|
||||||
|
|
||||||
// Display the result as '1 day' or 'N days'
|
// Display the result as '1 day' or 'N days'
|
||||||
if (m_dateDiffResultInDays.day > 1)
|
if (m_dateDiffResultInDays.day == 1)
|
||||||
{
|
{
|
||||||
result += AppResourceProvider::GetInstance()->GetResourceString(L"Date_Days")->Data();
|
result += AppResourceProvider::GetInstance()->GetResourceString(L"Date_Day")->Data();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
result += AppResourceProvider::GetInstance()->GetResourceString(L"Date_Day")->Data();
|
result += AppResourceProvider::GetInstance()->GetResourceString(L"Date_Days")->Data();
|
||||||
}
|
}
|
||||||
|
|
||||||
return ref new String(result.data());
|
return ref new String(result.data());
|
||||||
|
@ -393,15 +396,14 @@ DateTime DateCalculatorViewModel::ClipTime(DateTime dateTime, bool adjustUsingLo
|
||||||
if (adjustUsingLocalTime)
|
if (adjustUsingLocalTime)
|
||||||
{
|
{
|
||||||
FILETIME fileTime;
|
FILETIME fileTime;
|
||||||
fileTime.dwLowDateTime = (DWORD)(dateTime.UniversalTime & 0xffffffff);
|
fileTime.dwLowDateTime = static_cast<DWORD>(dateTime.UniversalTime & 0xffffffff);
|
||||||
fileTime.dwHighDateTime = (DWORD)(dateTime.UniversalTime >> 32);
|
fileTime.dwHighDateTime = static_cast<DWORD>(dateTime.UniversalTime >> 32);
|
||||||
|
|
||||||
FILETIME localFileTime;
|
FILETIME localFileTime;
|
||||||
FileTimeToLocalFileTime(&fileTime, &localFileTime);
|
FileTimeToLocalFileTime(&fileTime, &localFileTime);
|
||||||
|
|
||||||
referenceDateTime.UniversalTime = (DWORD)localFileTime.dwHighDateTime;
|
referenceDateTime.UniversalTime = (static_cast<INT64>(localFileTime.dwHighDateTime) << 32) | localFileTime.dwLowDateTime;
|
||||||
referenceDateTime.UniversalTime <<= 32;
|
|
||||||
referenceDateTime.UniversalTime |= (DWORD)localFileTime.dwLowDateTime;
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -16,9 +16,7 @@ namespace DateCalculationUnitTests
|
||||||
SystemTimeToFileTime(&systemTime, lpFileTime);
|
SystemTimeToFileTime(&systemTime, lpFileTime);
|
||||||
|
|
||||||
Windows::Foundation::DateTime dateTime;
|
Windows::Foundation::DateTime dateTime;
|
||||||
dateTime.UniversalTime = (DWORD)lpFileTime->dwHighDateTime;
|
dateTime.UniversalTime = (static_cast<INT64>(lpFileTime->dwHighDateTime) << 32) | (lpFileTime->dwLowDateTime);
|
||||||
dateTime.UniversalTime <<= 32;
|
|
||||||
dateTime.UniversalTime |= (DWORD)lpFileTime->dwLowDateTime;
|
|
||||||
|
|
||||||
return dateTime;
|
return dateTime;
|
||||||
}
|
}
|
||||||
|
@ -28,8 +26,8 @@ namespace DateCalculationUnitTests
|
||||||
static SYSTEMTIME DateTimeToSystemTime(Windows::Foundation::DateTime dateTime)
|
static SYSTEMTIME DateTimeToSystemTime(Windows::Foundation::DateTime dateTime)
|
||||||
{
|
{
|
||||||
FILETIME fileTime;
|
FILETIME fileTime;
|
||||||
fileTime.dwLowDateTime = (DWORD)(dateTime.UniversalTime & 0xffffffff);
|
fileTime.dwLowDateTime = static_cast<DWORD>(dateTime.UniversalTime & 0xffffffff);
|
||||||
fileTime.dwHighDateTime = (DWORD)(dateTime.UniversalTime >> 32);
|
fileTime.dwHighDateTime = static_cast<DWORD>(dateTime.UniversalTime >> 32);
|
||||||
|
|
||||||
SYSTEMTIME systemTime;
|
SYSTEMTIME systemTime;
|
||||||
FileTimeToSystemTime(&fileTime, &systemTime);
|
FileTimeToSystemTime(&fileTime, &systemTime);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue