Use only NumberBase to represent radix in CalcViewModel (#797)
This commit is contained in:
parent
b9b0e068cd
commit
1380c7ed83
@ -79,7 +79,7 @@ StandardCalculatorViewModel::StandardCalculatorViewModel()
|
|||||||
, m_valueBitLength(BitLength::BitLengthQWord)
|
, m_valueBitLength(BitLength::BitLengthQWord)
|
||||||
, m_isBitFlipChecked(false)
|
, m_isBitFlipChecked(false)
|
||||||
, m_isBinaryBitFlippingEnabled(false)
|
, m_isBinaryBitFlippingEnabled(false)
|
||||||
, m_CurrentRadixType(RADIX_TYPE::DEC_RADIX)
|
, m_CurrentRadixType(NumberBase::DecBase)
|
||||||
, m_CurrentAngleType(NumbersAndOperatorsEnum::Degree)
|
, m_CurrentAngleType(NumbersAndOperatorsEnum::Degree)
|
||||||
, m_Announcement(nullptr)
|
, m_Announcement(nullptr)
|
||||||
, m_OpenParenthesisCount(0)
|
, m_OpenParenthesisCount(0)
|
||||||
@ -168,7 +168,7 @@ String ^ StandardCalculatorViewModel::CalculateNarratorDisplayValue(_In_ wstring
|
|||||||
}
|
}
|
||||||
|
|
||||||
// In Programmer modes using non-base10, we want the strings to be read as literal digits.
|
// In Programmer modes using non-base10, we want the strings to be read as literal digits.
|
||||||
if (IsProgrammer && CurrentRadixType != RADIX_TYPE::DEC_RADIX)
|
if (IsProgrammer && CurrentRadixType != NumberBase::DecBase)
|
||||||
{
|
{
|
||||||
localizedValue = GetNarratorStringReadRawNumbers(localizedValue);
|
localizedValue = GetNarratorStringReadRawNumbers(localizedValue);
|
||||||
}
|
}
|
||||||
@ -681,23 +681,18 @@ void StandardCalculatorViewModel::OnButtonPressed(Object ^ parameter)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
NumberBase StandardCalculatorViewModel::GetNumberBase()
|
RADIX_TYPE StandardCalculatorViewModel::GetRadixTypeFromNumberBase(NumberBase base)
|
||||||
{
|
{
|
||||||
if (CurrentRadixType == HEX_RADIX)
|
switch (base)
|
||||||
{
|
{
|
||||||
return NumberBase::HexBase;
|
case NumberBase::BinBase:
|
||||||
}
|
return RADIX_TYPE::BIN_RADIX;
|
||||||
else if (CurrentRadixType == DEC_RADIX)
|
case NumberBase::HexBase:
|
||||||
{
|
return RADIX_TYPE::HEX_RADIX;
|
||||||
return NumberBase::DecBase;
|
case NumberBase::OctBase:
|
||||||
}
|
return RADIX_TYPE::OCT_RADIX;
|
||||||
else if (CurrentRadixType == OCT_RADIX)
|
default:
|
||||||
{
|
return RADIX_TYPE::DEC_RADIX;
|
||||||
return NumberBase::OctBase;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return NumberBase::BinBase;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -713,8 +708,8 @@ void StandardCalculatorViewModel::OnPasteCommand(Object ^ parameter)
|
|||||||
{
|
{
|
||||||
auto that(this);
|
auto that(this);
|
||||||
ViewMode mode;
|
ViewMode mode;
|
||||||
NumberBase numberBase = NumberBase::Unknown;
|
|
||||||
BitLength bitLengthType = BitLength::BitLengthUnknown;
|
BitLength bitLengthType = BitLength::BitLengthUnknown;
|
||||||
|
NumberBase numberBase = NumberBase::Unknown;
|
||||||
if (IsScientific)
|
if (IsScientific)
|
||||||
{
|
{
|
||||||
mode = ViewMode::Scientific;
|
mode = ViewMode::Scientific;
|
||||||
@ -722,8 +717,8 @@ void StandardCalculatorViewModel::OnPasteCommand(Object ^ parameter)
|
|||||||
else if (IsProgrammer)
|
else if (IsProgrammer)
|
||||||
{
|
{
|
||||||
mode = ViewMode::Programmer;
|
mode = ViewMode::Programmer;
|
||||||
numberBase = GetNumberBase();
|
|
||||||
bitLengthType = m_valueBitLength;
|
bitLengthType = m_valueBitLength;
|
||||||
|
numberBase = CurrentRadixType;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -1248,7 +1243,7 @@ String ^ StandardCalculatorViewModel::GetLocalizedStringFormat(String ^ format,
|
|||||||
void StandardCalculatorViewModel::ResetDisplay()
|
void StandardCalculatorViewModel::ResetDisplay()
|
||||||
{
|
{
|
||||||
AreHEXButtonsEnabled = false;
|
AreHEXButtonsEnabled = false;
|
||||||
CurrentRadixType = (int)RADIX_TYPE::DEC_RADIX;
|
CurrentRadixType = NumberBase::DecBase;
|
||||||
m_standardCalculatorManager.SetRadix(DEC_RADIX);
|
m_standardCalculatorManager.SetRadix(DEC_RADIX);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1257,16 +1252,16 @@ void StandardCalculatorViewModel::SetPrecision(int32_t precision)
|
|||||||
m_standardCalculatorManager.SetPrecision(precision);
|
m_standardCalculatorManager.SetPrecision(precision);
|
||||||
}
|
}
|
||||||
|
|
||||||
void StandardCalculatorViewModel::SwitchProgrammerModeBase(RADIX_TYPE radixType)
|
void StandardCalculatorViewModel::SwitchProgrammerModeBase(NumberBase numberBase)
|
||||||
{
|
{
|
||||||
if (IsInError)
|
if (IsInError)
|
||||||
{
|
{
|
||||||
m_standardCalculatorManager.SendCommand(Command::CommandCLEAR);
|
m_standardCalculatorManager.SendCommand(Command::CommandCLEAR);
|
||||||
}
|
}
|
||||||
|
|
||||||
AreHEXButtonsEnabled = (radixType == RADIX_TYPE::HEX_RADIX);
|
AreHEXButtonsEnabled = numberBase == NumberBase::HexBase;
|
||||||
CurrentRadixType = (int)radixType;
|
CurrentRadixType = numberBase;
|
||||||
m_standardCalculatorManager.SetRadix(radixType);
|
m_standardCalculatorManager.SetRadix(GetRadixTypeFromNumberBase(numberBase));
|
||||||
}
|
}
|
||||||
|
|
||||||
void StandardCalculatorViewModel::SetMemorizedNumbersString()
|
void StandardCalculatorViewModel::SetMemorizedNumbersString()
|
||||||
|
@ -40,7 +40,6 @@ namespace CalculatorApp
|
|||||||
StandardCalculatorViewModel();
|
StandardCalculatorViewModel();
|
||||||
void UpdateOperand(int pos, Platform::String ^ text);
|
void UpdateOperand(int pos, Platform::String ^ text);
|
||||||
void UpdatecommandsInRecordingMode();
|
void UpdatecommandsInRecordingMode();
|
||||||
CalculatorApp::Common::NumberBase GetNumberBase();
|
|
||||||
|
|
||||||
OBSERVABLE_OBJECT_CALLBACK(OnPropertyChanged);
|
OBSERVABLE_OBJECT_CALLBACK(OnPropertyChanged);
|
||||||
OBSERVABLE_PROPERTY_RW(Platform::String ^, DisplayValue);
|
OBSERVABLE_PROPERTY_RW(Platform::String ^, DisplayValue);
|
||||||
@ -71,7 +70,7 @@ namespace CalculatorApp
|
|||||||
OBSERVABLE_PROPERTY_RW(Platform::String ^, CalculationResultAutomationName);
|
OBSERVABLE_PROPERTY_RW(Platform::String ^, CalculationResultAutomationName);
|
||||||
OBSERVABLE_PROPERTY_RW(Platform::String ^, CalculationExpressionAutomationName);
|
OBSERVABLE_PROPERTY_RW(Platform::String ^, CalculationExpressionAutomationName);
|
||||||
OBSERVABLE_PROPERTY_RW(bool, IsShiftProgrammerChecked);
|
OBSERVABLE_PROPERTY_RW(bool, IsShiftProgrammerChecked);
|
||||||
OBSERVABLE_PROPERTY_RW(int, CurrentRadixType);
|
OBSERVABLE_PROPERTY_RW(CalculatorApp::Common::NumberBase, CurrentRadixType);
|
||||||
OBSERVABLE_PROPERTY_RW(bool, AreTokensUpdated);
|
OBSERVABLE_PROPERTY_RW(bool, AreTokensUpdated);
|
||||||
OBSERVABLE_PROPERTY_RW(bool, AreAlwaysOnTopResultsUpdated);
|
OBSERVABLE_PROPERTY_RW(bool, AreAlwaysOnTopResultsUpdated);
|
||||||
OBSERVABLE_PROPERTY_RW(bool, AreHistoryShortcutsEnabled);
|
OBSERVABLE_PROPERTY_RW(bool, AreHistoryShortcutsEnabled);
|
||||||
@ -358,14 +357,11 @@ namespace CalculatorApp
|
|||||||
void Recalculate(bool fromHistory = false);
|
void Recalculate(bool fromHistory = false);
|
||||||
bool IsOperator(CalculationManager::Command cmdenum);
|
bool IsOperator(CalculationManager::Command cmdenum);
|
||||||
void FtoEButtonToggled();
|
void FtoEButtonToggled();
|
||||||
void SwitchProgrammerModeBase(RADIX_TYPE calculatorBase);
|
void SwitchProgrammerModeBase(CalculatorApp::Common::NumberBase calculatorBase);
|
||||||
void SetMemorizedNumbersString();
|
void SetMemorizedNumbersString();
|
||||||
void SwitchAngleType(NumbersAndOperatorsEnum num);
|
void SwitchAngleType(NumbersAndOperatorsEnum num);
|
||||||
void ResetDisplay();
|
void ResetDisplay();
|
||||||
RADIX_TYPE GetCurrentRadixType()
|
|
||||||
{
|
|
||||||
return (RADIX_TYPE)m_CurrentRadixType;
|
|
||||||
}
|
|
||||||
void SetPrecision(int32_t precision);
|
void SetPrecision(int32_t precision);
|
||||||
void UpdateMaxIntDigits()
|
void UpdateMaxIntDigits()
|
||||||
{
|
{
|
||||||
@ -389,6 +385,7 @@ namespace CalculatorApp
|
|||||||
_Inout_ std::shared_ptr<std::vector<std::shared_ptr<IExpressionCommand>>> const& commands);
|
_Inout_ std::shared_ptr<std::vector<std::shared_ptr<IExpressionCommand>>> const& commands);
|
||||||
void SetTokens(_Inout_ std::shared_ptr<std::vector<std::pair<std::wstring, int>>> const& tokens);
|
void SetTokens(_Inout_ std::shared_ptr<std::vector<std::pair<std::wstring, int>>> const& tokens);
|
||||||
NumbersAndOperatorsEnum ConvertIntegerToNumbersAndOperatorsEnum(unsigned int parameter);
|
NumbersAndOperatorsEnum ConvertIntegerToNumbersAndOperatorsEnum(unsigned int parameter);
|
||||||
|
static RADIX_TYPE GetRadixTypeFromNumberBase(CalculatorApp::Common::NumberBase base);
|
||||||
NumbersAndOperatorsEnum m_CurrentAngleType;
|
NumbersAndOperatorsEnum m_CurrentAngleType;
|
||||||
wchar_t m_decimalSeparator;
|
wchar_t m_decimalSeparator;
|
||||||
CalculatorDisplay m_calculatorDisplay;
|
CalculatorDisplay m_calculatorDisplay;
|
||||||
|
@ -368,7 +368,7 @@ void Calculator::EnsureProgrammer()
|
|||||||
}
|
}
|
||||||
|
|
||||||
OpsPanel->EnsureProgrammerRadixOps();
|
OpsPanel->EnsureProgrammerRadixOps();
|
||||||
ProgrammerOperators->SetRadixButton(Model->GetCurrentRadixType());
|
ProgrammerOperators->SetRadixButton(Model->CurrentRadixType);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Calculator::OnCalcPropertyChanged(_In_ Object ^ sender, _In_ PropertyChangedEventArgs ^ e)
|
void Calculator::OnCalcPropertyChanged(_In_ Object ^ sender, _In_ PropertyChangedEventArgs ^ e)
|
||||||
|
@ -41,7 +41,7 @@ void CalculatorProgrammerOperators::HexButtonChecked(_In_ Object ^ sender, _In_
|
|||||||
TraceLogger::GetInstance()->UpdateButtonUsage(NumbersAndOperatorsEnum::HexButton, ViewMode::Programmer);
|
TraceLogger::GetInstance()->UpdateButtonUsage(NumbersAndOperatorsEnum::HexButton, ViewMode::Programmer);
|
||||||
if (Model)
|
if (Model)
|
||||||
{
|
{
|
||||||
Model->SwitchProgrammerModeBase(RADIX_TYPE::HEX_RADIX);
|
Model->SwitchProgrammerModeBase(NumberBase::HexBase);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -50,7 +50,7 @@ void CalculatorProgrammerOperators::DecButtonChecked(_In_ Object ^ sender, _In_
|
|||||||
TraceLogger::GetInstance()->UpdateButtonUsage(NumbersAndOperatorsEnum::DecButton, ViewMode::Programmer);
|
TraceLogger::GetInstance()->UpdateButtonUsage(NumbersAndOperatorsEnum::DecButton, ViewMode::Programmer);
|
||||||
if (Model)
|
if (Model)
|
||||||
{
|
{
|
||||||
Model->SwitchProgrammerModeBase(RADIX_TYPE::DEC_RADIX);
|
Model->SwitchProgrammerModeBase(NumberBase::DecBase);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -59,7 +59,7 @@ void CalculatorProgrammerOperators::OctButtonChecked(_In_ Object ^ sender, _In_
|
|||||||
TraceLogger::GetInstance()->UpdateButtonUsage(NumbersAndOperatorsEnum::OctButton, ViewMode::Programmer);
|
TraceLogger::GetInstance()->UpdateButtonUsage(NumbersAndOperatorsEnum::OctButton, ViewMode::Programmer);
|
||||||
if (Model)
|
if (Model)
|
||||||
{
|
{
|
||||||
Model->SwitchProgrammerModeBase(RADIX_TYPE::OCT_RADIX);
|
Model->SwitchProgrammerModeBase(NumberBase::OctBase);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -68,30 +68,30 @@ void CalculatorProgrammerOperators::BinButtonChecked(_In_ Object ^ sender, _In_
|
|||||||
TraceLogger::GetInstance()->UpdateButtonUsage(NumbersAndOperatorsEnum::BinButton, ViewMode::Programmer);
|
TraceLogger::GetInstance()->UpdateButtonUsage(NumbersAndOperatorsEnum::BinButton, ViewMode::Programmer);
|
||||||
if (Model)
|
if (Model)
|
||||||
{
|
{
|
||||||
Model->SwitchProgrammerModeBase(RADIX_TYPE::BIN_RADIX);
|
Model->SwitchProgrammerModeBase(NumberBase::BinBase);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void CalculatorProgrammerOperators::SetRadixButton(RADIX_TYPE radixType)
|
void CalculatorProgrammerOperators::SetRadixButton(NumberBase numberBase)
|
||||||
{
|
{
|
||||||
switch (radixType)
|
switch (numberBase)
|
||||||
{
|
{
|
||||||
case RADIX_TYPE::DEC_RADIX:
|
case NumberBase::DecBase:
|
||||||
{
|
{
|
||||||
DecimalButton->IsChecked = true;
|
DecimalButton->IsChecked = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case RADIX_TYPE::HEX_RADIX:
|
case NumberBase::HexBase:
|
||||||
{
|
{
|
||||||
HexButton->IsChecked = true;
|
HexButton->IsChecked = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case RADIX_TYPE::OCT_RADIX:
|
case NumberBase::OctBase:
|
||||||
{
|
{
|
||||||
OctButton->IsChecked = true;
|
OctButton->IsChecked = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case RADIX_TYPE::BIN_RADIX:
|
case NumberBase::BinBase:
|
||||||
{
|
{
|
||||||
BinaryButton->IsChecked = true;
|
BinaryButton->IsChecked = true;
|
||||||
break;
|
break;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||||
// Licensed under the MIT License.
|
// Licensed under the MIT License.
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
@ -6,6 +6,7 @@
|
|||||||
#include "Views/CalculatorProgrammerOperators.g.h"
|
#include "Views/CalculatorProgrammerOperators.g.h"
|
||||||
#include "Controls/RadixButton.h"
|
#include "Controls/RadixButton.h"
|
||||||
#include "CalcViewModel/StandardCalculatorViewModel.h"
|
#include "CalcViewModel/StandardCalculatorViewModel.h"
|
||||||
|
#include "CalcViewModel/Common/NumberBase.h"
|
||||||
|
|
||||||
namespace CalculatorApp
|
namespace CalculatorApp
|
||||||
{
|
{
|
||||||
@ -24,7 +25,7 @@ namespace CalculatorApp
|
|||||||
|
|
||||||
DEPENDENCY_PROPERTY(_In_ Windows::UI::Xaml::Style ^, SymbolButtonStyle);
|
DEPENDENCY_PROPERTY(_In_ Windows::UI::Xaml::Style ^, SymbolButtonStyle);
|
||||||
|
|
||||||
internal : void SetRadixButton(RADIX_TYPE radixType);
|
internal : void SetRadixButton(CalculatorApp::Common::NumberBase radixType);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void DecButtonChecked(_In_ Platform::Object ^ sender, _In_ Windows::UI::Xaml::RoutedEventArgs ^ e);
|
void DecButtonChecked(_In_ Platform::Object ^ sender, _In_ Windows::UI::Xaml::RoutedEventArgs ^ e);
|
||||||
|
@ -52,7 +52,7 @@ NumberPad::NumberPad()
|
|||||||
this->Num9Button->Content = localizationSettings.GetDigitSymbolFromEnUsDigit('9');
|
this->Num9Button->Content = localizationSettings.GetDigitSymbolFromEnUsDigit('9');
|
||||||
}
|
}
|
||||||
|
|
||||||
void NumberPad::OnCurrentRadixTypePropertyChanged(int /* oldValue */, int newValue)
|
void NumberPad::OnCurrentRadixTypePropertyChanged(NumberBase /* oldValue */, NumberBase newValue)
|
||||||
{
|
{
|
||||||
Num0Button->IsEnabled = true;
|
Num0Button->IsEnabled = true;
|
||||||
Num1Button->IsEnabled = true;
|
Num1Button->IsEnabled = true;
|
||||||
@ -65,9 +65,7 @@ void NumberPad::OnCurrentRadixTypePropertyChanged(int /* oldValue */, int newVal
|
|||||||
Num8Button->IsEnabled = true;
|
Num8Button->IsEnabled = true;
|
||||||
Num9Button->IsEnabled = true;
|
Num9Button->IsEnabled = true;
|
||||||
|
|
||||||
auto radixType = safe_cast<RADIX_TYPE>(newValue);
|
if (newValue == NumberBase::BinBase)
|
||||||
|
|
||||||
if (radixType == RADIX_TYPE::BIN_RADIX)
|
|
||||||
{
|
{
|
||||||
Num2Button->IsEnabled = false;
|
Num2Button->IsEnabled = false;
|
||||||
Num3Button->IsEnabled = false;
|
Num3Button->IsEnabled = false;
|
||||||
@ -78,7 +76,7 @@ void NumberPad::OnCurrentRadixTypePropertyChanged(int /* oldValue */, int newVal
|
|||||||
Num8Button->IsEnabled = false;
|
Num8Button->IsEnabled = false;
|
||||||
Num9Button->IsEnabled = false;
|
Num9Button->IsEnabled = false;
|
||||||
}
|
}
|
||||||
else if (radixType == RADIX_TYPE::OCT_RADIX)
|
else if (newValue == NumberBase::OctBase)
|
||||||
{
|
{
|
||||||
Num8Button->IsEnabled = false;
|
Num8Button->IsEnabled = false;
|
||||||
Num9Button->IsEnabled = false;
|
Num9Button->IsEnabled = false;
|
||||||
|
@ -10,6 +10,7 @@
|
|||||||
|
|
||||||
#include "Views/NumberPad.g.h"
|
#include "Views/NumberPad.g.h"
|
||||||
#include "CalcViewModel/Common/KeyboardShortcutManager.h"
|
#include "CalcViewModel/Common/KeyboardShortcutManager.h"
|
||||||
|
#include "CalcViewModel/Common/NumberBase.h"
|
||||||
#include "CalcManager/Header Files/RadixType.h"
|
#include "CalcManager/Header Files/RadixType.h"
|
||||||
|
|
||||||
namespace CalculatorApp
|
namespace CalculatorApp
|
||||||
@ -21,7 +22,7 @@ namespace CalculatorApp
|
|||||||
DEPENDENCY_PROPERTY_OWNER(NumberPad);
|
DEPENDENCY_PROPERTY_OWNER(NumberPad);
|
||||||
|
|
||||||
DEPENDENCY_PROPERTY(Windows::UI::Xaml::Style ^, ButtonStyle);
|
DEPENDENCY_PROPERTY(Windows::UI::Xaml::Style ^, ButtonStyle);
|
||||||
DEPENDENCY_PROPERTY_WITH_DEFAULT_AND_CALLBACK(int, CurrentRadixType, safe_cast<int>(::RADIX_TYPE::DEC_RADIX));
|
DEPENDENCY_PROPERTY_WITH_DEFAULT_AND_CALLBACK(CalculatorApp::Common::NumberBase, CurrentRadixType, CalculatorApp::Common::NumberBase::DecBase);
|
||||||
|
|
||||||
property bool IsErrorVisualState
|
property bool IsErrorVisualState
|
||||||
{
|
{
|
||||||
@ -30,7 +31,7 @@ namespace CalculatorApp
|
|||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void OnCurrentRadixTypePropertyChanged(int oldValue, int newValue);
|
void OnCurrentRadixTypePropertyChanged(CalculatorApp::Common::NumberBase oldValue, CalculatorApp::Common::NumberBase newValue);
|
||||||
|
|
||||||
|
|
||||||
bool m_isErrorVisualState;
|
bool m_isErrorVisualState;
|
||||||
|
@ -891,13 +891,13 @@ namespace CalculatorUnitTests
|
|||||||
};
|
};
|
||||||
ValidateViewModelByCommands(m_viewModel, items, true);
|
ValidateViewModelByCommands(m_viewModel, items, true);
|
||||||
m_viewModel->OnMemoryButtonPressed();
|
m_viewModel->OnMemoryButtonPressed();
|
||||||
m_viewModel->SwitchProgrammerModeBase(RADIX_TYPE::OCT_RADIX);
|
m_viewModel->SwitchProgrammerModeBase(NumberBase::OctBase);
|
||||||
MemoryItemViewModel ^ memorySlotOct = (MemoryItemViewModel ^) m_viewModel->MemorizedNumbers->GetAt(0);
|
MemoryItemViewModel ^ memorySlotOct = (MemoryItemViewModel ^) m_viewModel->MemorizedNumbers->GetAt(0);
|
||||||
VERIFY_ARE_EQUAL(Platform::StringReference(L"377"), Utils::GetStringValue(memorySlotOct->Value));
|
VERIFY_ARE_EQUAL(Platform::StringReference(L"377"), Utils::GetStringValue(memorySlotOct->Value));
|
||||||
m_viewModel->SwitchProgrammerModeBase(RADIX_TYPE::DEC_RADIX);
|
m_viewModel->SwitchProgrammerModeBase(NumberBase::DecBase);
|
||||||
MemoryItemViewModel ^ memorySlotDec = (MemoryItemViewModel ^) m_viewModel->MemorizedNumbers->GetAt(0);
|
MemoryItemViewModel ^ memorySlotDec = (MemoryItemViewModel ^) m_viewModel->MemorizedNumbers->GetAt(0);
|
||||||
VERIFY_ARE_EQUAL(Platform::StringReference(L"255"), Utils::GetStringValue(memorySlotDec->Value));
|
VERIFY_ARE_EQUAL(Platform::StringReference(L"255"), Utils::GetStringValue(memorySlotDec->Value));
|
||||||
m_viewModel->SwitchProgrammerModeBase(RADIX_TYPE::BIN_RADIX);
|
m_viewModel->SwitchProgrammerModeBase(NumberBase::BinBase);
|
||||||
MemoryItemViewModel ^ memorySlotBin = (MemoryItemViewModel ^) m_viewModel->MemorizedNumbers->GetAt(0);
|
MemoryItemViewModel ^ memorySlotBin = (MemoryItemViewModel ^) m_viewModel->MemorizedNumbers->GetAt(0);
|
||||||
VERIFY_ARE_EQUAL(Platform::StringReference(L"1111 1111"), Utils::GetStringValue(memorySlotBin->Value));
|
VERIFY_ARE_EQUAL(Platform::StringReference(L"1111 1111"), Utils::GetStringValue(memorySlotBin->Value));
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user