Merge branch 'master' into user/jbaylon3/accesskeyinput

This commit is contained in:
jbaylon3 2022-06-13 12:57:53 -07:00 committed by GitHub
commit 93138b5036
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
23 changed files with 107 additions and 146 deletions

3
.gitignore vendored
View file

@ -93,6 +93,9 @@ ipch/
*.vspx *.vspx
*.sap *.sap
# Visual Studio Code
.vscode/
# TFS 2012 Local Workspace # TFS 2012 Local Workspace
$tf/ $tf/

View file

@ -18,7 +18,6 @@
#include <sstream> #include <sstream>
#include "Header Files/CalcEngine.h" #include "Header Files/CalcEngine.h"
#include "Header Files/CalcUtils.h" #include "Header Files/CalcUtils.h"
#include "NumberFormattingUtils.h"
using namespace std; using namespace std;
using namespace CalcEngine; using namespace CalcEngine;

View file

@ -3,7 +3,7 @@
using namespace std; using namespace std;
namespace CalcManager::NumberFormattingUtils namespace UnitConversionManager::NumberFormattingUtils
{ {
/// <summary> /// <summary>
/// Trims out any trailing zeros or decimals in the given input string /// Trims out any trailing zeros or decimals in the given input string

View file

@ -6,7 +6,7 @@
#include <string> #include <string>
#include "sal_cross_platform.h" #include "sal_cross_platform.h"
namespace CalcManager::NumberFormattingUtils namespace UnitConversionManager::NumberFormattingUtils
{ {
void TrimTrailingZeros(_Inout_ std::wstring& input); void TrimTrailingZeros(_Inout_ std::wstring& input);
unsigned int GetNumberDigits(std::wstring value); unsigned int GetNumberDigits(std::wstring value);

View file

@ -11,7 +11,7 @@
using namespace std; using namespace std;
using namespace UnitConversionManager; using namespace UnitConversionManager;
using namespace CalcManager::NumberFormattingUtils; using namespace UnitConversionManager::NumberFormattingUtils;
static constexpr uint32_t EXPECTEDSERIALIZEDCATEGORYTOKENCOUNT = 3U; static constexpr uint32_t EXPECTEDSERIALIZEDCATEGORYTOKENCOUNT = 3U;
static constexpr uint32_t EXPECTEDSERIALIZEDUNITTOKENCOUNT = 6U; static constexpr uint32_t EXPECTEDSERIALIZEDUNITTOKENCOUNT = 6U;

View file

@ -13,7 +13,6 @@
#include "Common/AppResourceProvider.h" #include "Common/AppResourceProvider.h"
#include "Common/ExpressionCommandSerializer.h" #include "Common/ExpressionCommandSerializer.h"
#include "Common/ExpressionCommandDeserializer.h" #include "Common/ExpressionCommandDeserializer.h"
#include "CalcManager/NumberFormattingUtils.h"
using namespace CalculatorApp; using namespace CalculatorApp;
using namespace CalculatorApp::ViewModel::Common; using namespace CalculatorApp::ViewModel::Common;
@ -239,13 +238,6 @@ String^ CalculatorApp::ViewModel::Common::Utilities::EscapeHtmlSpecialCharacters
return replaceCharacters ? replacementString : originalString; return replaceCharacters ? replacementString : originalString;
} }
Platform::String^ CalculatorApp::ViewModel::Common::Utilities::TrimTrailingZeros(Platform::String^ input)
{
std::wstring tmp(input->Data());
CalcManager::NumberFormattingUtils::TrimTrailingZeros(tmp);
return ref new Platform::String(tmp.c_str());
}
bool CalculatorApp::ViewModel::Common::Utilities::AreColorsEqual(Windows::UI::Color color1, Windows::UI::Color color2) bool CalculatorApp::ViewModel::Common::Utilities::AreColorsEqual(Windows::UI::Color color1, Windows::UI::Color color2)
{ {
return Utils::AreColorsEqual(color1, color2); return Utils::AreColorsEqual(color1, color2);

View file

@ -713,7 +713,6 @@ namespace CalculatorApp
{ {
public: public:
static Platform::String ^ EscapeHtmlSpecialCharacters(Platform::String ^ originalString); static Platform::String ^ EscapeHtmlSpecialCharacters(Platform::String ^ originalString);
static Platform::String^ TrimTrailingZeros(Platform::String^ input);
static bool AreColorsEqual(Windows::UI::Color color1, Windows::UI::Color color2); static bool AreColorsEqual(Windows::UI::Color color1, Windows::UI::Color color2);
static Windows::UI::Xaml::Media::SolidColorBrush ^ GetContrastColor(Windows::UI::Color backgroundColor); static Windows::UI::Xaml::Media::SolidColorBrush ^ GetContrastColor(Windows::UI::Color backgroundColor);
static int GetWindowId(); static int GetWindowId();

View file

@ -3,11 +3,9 @@
#include "pch.h" #include "pch.h"
#include "GraphingSettingsViewModel.h" #include "GraphingSettingsViewModel.h"
#include <CalcManager\NumberFormattingUtils.h>
using namespace CalculatorApp::ViewModel; using namespace CalculatorApp::ViewModel;
using namespace CalculatorApp::ViewModel::Common; using namespace CalculatorApp::ViewModel::Common;
using namespace CalcManager::NumberFormattingUtils;
using namespace GraphControl; using namespace GraphControl;
using namespace std; using namespace std;
using namespace Platform; using namespace Platform;
@ -55,21 +53,22 @@ void GraphingSettingsViewModel::InitRanges()
m_XMaxValue = xMax; m_XMaxValue = xMax;
m_YMinValue = yMin; m_YMinValue = yMin;
m_YMaxValue = yMax; m_YMaxValue = yMax;
auto valueStr = to_wstring(m_XMinValue);
TrimTrailingZeros(valueStr);
XMin = ref new String(valueStr.c_str());
valueStr = to_wstring(m_XMaxValue); std::wostringstream xMinStr;
TrimTrailingZeros(valueStr); xMinStr << m_XMinValue;
XMax = ref new String(valueStr.c_str()); XMin = ref new String(xMinStr.str().c_str());
valueStr = to_wstring(m_YMinValue); std::wostringstream xMaxStr;
TrimTrailingZeros(valueStr); xMaxStr << m_XMaxValue;
YMin = ref new String(valueStr.c_str()); XMax = ref new String(xMaxStr.str().c_str());
valueStr = to_wstring(m_YMaxValue); std::wostringstream yMinStr;
TrimTrailingZeros(valueStr); yMinStr << m_YMinValue;
YMax = ref new String(valueStr.c_str()); YMin = ref new String(yMinStr.str().c_str());
std::wostringstream yMaxStr;
yMaxStr << m_YMaxValue;
YMax = ref new String(yMaxStr.str().c_str());
m_dontUpdateDisplayRange = false; m_dontUpdateDisplayRange = false;
} }

View file

@ -51,11 +51,9 @@ namespace CalculatorApp::ViewModel
m_XIsMinLastChanged = true; m_XIsMinLastChanged = true;
if (m_Graph != nullptr) if (m_Graph != nullptr)
{ {
try std::wistringstream input(value->Data());
{ double number;
size_t sz; if (input >> number && input.eof())
auto number = std::stod(value->Data(), &sz);
if (value->Length() == sz)
{ {
m_Graph->XAxisMin = m_XMinValue = number; m_Graph->XAxisMin = m_XMinValue = number;
XMinError = false; XMinError = false;
@ -65,11 +63,6 @@ namespace CalculatorApp::ViewModel
XMinError = true; XMinError = true;
} }
} }
catch (...)
{
XMinError = true;
}
}
RaisePropertyChanged("XError"); RaisePropertyChanged("XError");
RaisePropertyChanged("XMin"); RaisePropertyChanged("XMin");
UpdateDisplayRange(); UpdateDisplayRange();
@ -92,11 +85,9 @@ namespace CalculatorApp::ViewModel
m_XIsMinLastChanged = false; m_XIsMinLastChanged = false;
if (m_Graph != nullptr) if (m_Graph != nullptr)
{ {
try std::wistringstream input(value->Data());
{ double number;
size_t sz; if (input >> number && input.eof())
auto number = std::stod(value->Data(), &sz);
if (value->Length() == sz)
{ {
m_Graph->XAxisMax = m_XMaxValue = number; m_Graph->XAxisMax = m_XMaxValue = number;
XMaxError = false; XMaxError = false;
@ -106,11 +97,6 @@ namespace CalculatorApp::ViewModel
XMaxError = true; XMaxError = true;
} }
} }
catch (...)
{
XMaxError = true;
}
}
RaisePropertyChanged("XError"); RaisePropertyChanged("XError");
RaisePropertyChanged("XMax"); RaisePropertyChanged("XMax");
UpdateDisplayRange(); UpdateDisplayRange();
@ -133,11 +119,9 @@ namespace CalculatorApp::ViewModel
m_YIsMinLastChanged = true; m_YIsMinLastChanged = true;
if (m_Graph != nullptr) if (m_Graph != nullptr)
{ {
try std::wistringstream input(value->Data());
{ double number;
size_t sz; if (input >> number && input.eof())
auto number = std::stod(value->Data(), &sz);
if (value->Length() == sz)
{ {
m_Graph->YAxisMin = m_YMinValue = number; m_Graph->YAxisMin = m_YMinValue = number;
YMinError = false; YMinError = false;
@ -147,11 +131,6 @@ namespace CalculatorApp::ViewModel
YMinError = true; YMinError = true;
} }
} }
catch (...)
{
YMinError = true;
}
}
RaisePropertyChanged("YError"); RaisePropertyChanged("YError");
RaisePropertyChanged("YMin"); RaisePropertyChanged("YMin");
UpdateDisplayRange(); UpdateDisplayRange();
@ -174,11 +153,9 @@ namespace CalculatorApp::ViewModel
m_YIsMinLastChanged = false; m_YIsMinLastChanged = false;
if (m_Graph != nullptr) if (m_Graph != nullptr)
{ {
try std::wistringstream input(value->Data());
{ double number;
size_t sz; if (input >> number && input.eof())
auto number = std::stod(value->Data(), &sz);
if (value->Length() == sz)
{ {
m_Graph->YAxisMax = m_YMaxValue = number; m_Graph->YAxisMax = m_YMaxValue = number;
YMaxError = false; YMaxError = false;
@ -188,11 +165,6 @@ namespace CalculatorApp::ViewModel
YMaxError = true; YMaxError = true;
} }
} }
catch (...)
{
YMaxError = true;
}
}
RaisePropertyChanged("YError"); RaisePropertyChanged("YError");
RaisePropertyChanged("YMax"); RaisePropertyChanged("YMax");
UpdateDisplayRange(); UpdateDisplayRange();

View file

@ -137,6 +137,13 @@ StandardCalculatorViewModel::StandardCalculatorViewModel()
String ^ StandardCalculatorViewModel::LocalizeDisplayValue(_In_ wstring const& displayValue) String ^ StandardCalculatorViewModel::LocalizeDisplayValue(_In_ wstring const& displayValue)
{ {
wstring result(displayValue); wstring result(displayValue);
// Adds leading padding 0's to Programmer Mode's Binary Display
if (IsProgrammer && CurrentRadixType == NumberBase::BinBase)
{
result = AddPadding(result);
}
LocalizationSettings::GetInstance()->LocalizeDisplayValue(&result); LocalizationSettings::GetInstance()->LocalizeDisplayValue(&result);
return ref new Platform::String(result.c_str()); return ref new Platform::String(result.c_str());
} }

View file

@ -143,7 +143,7 @@
</Compile> </Compile>
<Compile Include="Common\AlwaysSelectedCollectionView.cs" /> <Compile Include="Common\AlwaysSelectedCollectionView.cs" />
<Compile Include="Common\AppLifecycleLogger.cs" /> <Compile Include="Common\AppLifecycleLogger.cs" />
<Compile Include="Common\KeyboardShortcuManager.cs" /> <Compile Include="Common\KeyboardShortcutManager.cs" />
<Compile Include="Common\ValidatingConverters.cs" /> <Compile Include="Common\ValidatingConverters.cs" />
<Compile Include="Common\ViewState.cs" /> <Compile Include="Common\ViewState.cs" />
<Compile Include="Controls\CalculationResult.cs" /> <Compile Include="Controls\CalculationResult.cs" />

View file

@ -652,6 +652,7 @@ namespace CalculatorApp
private static void OnKeyDownHandler(CoreWindow sender, KeyEventArgs args) private static void OnKeyDownHandler(CoreWindow sender, KeyEventArgs args)
{ {
s_keyHandlerCount++; s_keyHandlerCount++;
if (args.Handled) if (args.Handled)
{ {
return; return;

View file

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<root> <root>
<!-- <!--
Microsoft ResX Schema Microsoft ResX Schema
@ -3883,11 +3883,11 @@
<comment>Select all menu item from the Equation TextBox</comment> <comment>Select all menu item from the Equation TextBox</comment>
</data> </data>
<data name="EquationInputButton.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve"> <data name="EquationInputButton.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
<value>Function input list item</value> <value>Function input</value>
<comment>The automation name for the Equation Input ListView item that is shown when Calculator is in graphing mode.</comment> <comment>The automation name for the Equation Input ListView item that is shown when Calculator is in graphing mode.</comment>
</data> </data>
<data name="EquationInputList.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve"> <data name="EquationInputList.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
<value>Function input list</value> <value>Function input</value>
<comment>The automation name for the Equation Input ListView that is shown when Calculator is in graphing mode.</comment> <comment>The automation name for the Equation Input ListView that is shown when Calculator is in graphing mode.</comment>
</data> </data>
<data name="EquationInputPanel.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve"> <data name="EquationInputPanel.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">

View file

@ -4302,7 +4302,6 @@
<value>Hide equation %1</value> <value>Hide equation %1</value>
<comment>{Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number.</comment> <comment>{Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number.</comment>
</data> </data>
<data name="disableTracingButtonToolTip" xml:space="preserve"> <data name="disableTracingButtonToolTip" xml:space="preserve">
<value>Stop tracing</value> <value>Stop tracing</value>
<comment>This is the tooltip/automation name for the graphing calculator stop tracing button</comment> <comment>This is the tooltip/automation name for the graphing calculator stop tracing button</comment>
@ -4431,7 +4430,7 @@
<value>Enter an expression</value> <value>Enter an expression</value>
<comment>this is the placeholder text used by the textbox to enter an equation</comment> <comment>this is the placeholder text used by the textbox to enter an equation</comment>
</data> </data>
<data name="GraphCopyMenuItem.Text"> <data name="GraphCopyMenuItem.Text" xml:space="preserve">
<value>Copy</value> <value>Copy</value>
<comment>Copy menu item for the graph context menu</comment> <comment>Copy menu item for the graph context menu</comment>
</data> </data>
@ -4456,11 +4455,11 @@
<comment>Select all menu item from the Equation TextBox</comment> <comment>Select all menu item from the Equation TextBox</comment>
</data> </data>
<data name="EquationInputButton.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve"> <data name="EquationInputButton.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
<value>Function input list item</value> <value>Function input</value>
<comment>The automation name for the Equation Input ListView item that is shown when Calculator is in graphing mode.</comment> <comment>The automation name for the Equation Input ListView item that is shown when Calculator is in graphing mode.</comment>
</data> </data>
<data name="EquationInputList.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve"> <data name="EquationInputList.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
<value>Function input list</value> <value>Function input</value>
<comment>The automation name for the Equation Input ListView that is shown when Calculator is in graphing mode.</comment> <comment>The automation name for the Equation Input ListView that is shown when Calculator is in graphing mode.</comment>
</data> </data>
<data name="EquationInputPanel.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve"> <data name="EquationInputPanel.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">

View file

@ -982,8 +982,7 @@
FontFamily="{ThemeResource CalculatorFontFamily}" FontFamily="{ThemeResource CalculatorFontFamily}"
FontSize="12" FontSize="12"
Glyph="&#xE970;" Glyph="&#xE970;"
MirroredWhenRightToLeft="True" MirroredWhenRightToLeft="True"/>
UseLayoutRounding="False"/>
</Border> </Border>
</ControlTemplate> </ControlTemplate>
@ -1030,8 +1029,7 @@
FontFamily="{ThemeResource CalculatorFontFamily}" FontFamily="{ThemeResource CalculatorFontFamily}"
FontSize="12" FontSize="12"
Glyph="&#xE96F;" Glyph="&#xE96F;"
MirroredWhenRightToLeft="True" MirroredWhenRightToLeft="True"/>
UseLayoutRounding="False"/>
</Border> </Border>
</ControlTemplate> </ControlTemplate>
</Grid.Resources> </Grid.Resources>

View file

@ -918,7 +918,6 @@
Margin="2" Margin="2"
Style="{StaticResource ScrollViewerStyle}" Style="{StaticResource ScrollViewerStyle}"
IsFocusEngagementEnabled="True" IsFocusEngagementEnabled="True"
UseLayoutRounding="False"
Visibility="Collapsed"> Visibility="Collapsed">
<ScrollViewer.RenderTransform> <ScrollViewer.RenderTransform>
<ScaleTransform x:Name="YearViewTransform" <ScaleTransform x:Name="YearViewTransform"
@ -931,7 +930,6 @@
Margin="2" Margin="2"
Style="{StaticResource ScrollViewerStyle}" Style="{StaticResource ScrollViewerStyle}"
IsFocusEngagementEnabled="True" IsFocusEngagementEnabled="True"
UseLayoutRounding="False"
Visibility="Collapsed"> Visibility="Collapsed">
<ScrollViewer.RenderTransform> <ScrollViewer.RenderTransform>
<ScaleTransform x:Name="DecadeViewTransform" <ScaleTransform x:Name="DecadeViewTransform"

View file

@ -65,9 +65,8 @@
VerticalAlignment="Stretch" VerticalAlignment="Stretch"
Fill="Transparent" Fill="Transparent"
Stroke="Transparent" Stroke="Transparent"
StrokeThickness="2" StrokeThickness="2"/>
UseLayoutRounding="false"/> <ContentPresenter x:Name="ItemContent" />
<ContentPresenter x:Name="ItemContent" UseLayoutRounding="false"/>
</Grid> </Grid>
</ControlTemplate> </ControlTemplate>
</Setter.Value> </Setter.Value>
@ -87,8 +86,7 @@
Fill="{x:Bind}" Fill="{x:Bind}"
StrokeThickness="0" StrokeThickness="0"
AutomationProperties.Name="{x:Bind local:EquationStylePanelControl.GetColorAutomationName((Brush))}" AutomationProperties.Name="{x:Bind local:EquationStylePanelControl.GetColorAutomationName((Brush))}"
ToolTipService.ToolTip="{x:Bind local:EquationStylePanelControl.GetColorAutomationName((Brush))}" ToolTipService.ToolTip="{x:Bind local:EquationStylePanelControl.GetColorAutomationName((Brush))}"/>
UseLayoutRounding="false"/>
</DataTemplate> </DataTemplate>
</GridView.ItemTemplate> </GridView.ItemTemplate>
<GridView.ItemsPanel> <GridView.ItemsPanel>

View file

@ -12,9 +12,7 @@ using CalculatorApp.ViewModel.Common.Automation;
using CalculatorApp.Controls; using CalculatorApp.Controls;
using CalculatorApp.Utils; using CalculatorApp.Utils;
using CalculatorApp.ViewModel; using CalculatorApp.ViewModel;
//using CalcManager.NumberFormattingUtils;
using GraphControl; using GraphControl;
//using Utils;
using Windows.ApplicationModel.DataTransfer; using Windows.ApplicationModel.DataTransfer;
using Windows.ApplicationModel.Resources; using Windows.ApplicationModel.Resources;
using Windows.Foundation; using Windows.Foundation;
@ -467,8 +465,7 @@ namespace CalculatorApp
var value = variables[i].Value; var value = variables[i].Value;
rawHtml += name + "="; rawHtml += name + "=";
var formattedValue = value.ToString("R"); var formattedValue = value.ToString();
formattedValue = Utilities.TrimTrailingZeros(formattedValue);
rawHtml += formattedValue; rawHtml += formattedValue;
if (variables.Count - 1 != i) if (variables.Count - 1 != i)

View file

@ -335,7 +335,7 @@
</VisualState> </VisualState>
</VisualStateGroup> </VisualStateGroup>
</VisualStateManager.VisualStateGroups> </VisualStateManager.VisualStateGroups>
<Grid x:Name="GraphingOperators" UseLayoutRounding="False"> <Grid x:Name="GraphingOperators">
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition x:Name="OperatorPanelRow" Height="Auto"/> <RowDefinition x:Name="OperatorPanelRow" Height="Auto"/>
<RowDefinition Height="1*"/> <RowDefinition Height="1*"/>

View file

@ -1,4 +1,4 @@
<UserControl x:Class="CalculatorApp.OperatorsPanel" <UserControl x:Class="CalculatorApp.OperatorsPanel"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
@ -6,7 +6,6 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
d:DesignHeight="315" d:DesignHeight="315"
d:DesignWidth="235" d:DesignWidth="235"
UseLayoutRounding="False"
mc:Ignorable="d"> mc:Ignorable="d">
<Grid> <Grid>
<local:CalculatorStandardOperators x:Name="StandardOperators" <local:CalculatorStandardOperators x:Name="StandardOperators"

View file

@ -7,7 +7,7 @@ using OpenQA.Selenium.Appium.Windows;
namespace CalculatorUITestFramework namespace CalculatorUITestFramework
{ {
/// <summary> /// <summary>
/// This class contains the UI automation objects and helper methods available when the Calculator is in Scientific Mode. /// This class contains the UI automation objects and helper methods available when the Calculator is in Programmer Mode.
/// </summary> /// </summary>
public class ProgrammerCalculatorPage public class ProgrammerCalculatorPage
{ {

View file

@ -340,7 +340,7 @@ namespace CalculatorUITests
page.ProgrammerOperators.LeftShiftButton.Click(); page.ProgrammerOperators.LeftShiftButton.Click();
page.StandardOperators.NumberPad.Input(1); page.StandardOperators.NumberPad.Input(1);
page.StandardOperators.EqualButton.Click(); page.StandardOperators.EqualButton.Click();
Assert.AreEqual("1 0 1 0 0", page.CalculatorResults.GetCalculatorResultText()); Assert.AreEqual("0 0 0 1 0 1 0 0", page.CalculatorResults.GetCalculatorResultText());
} }
[TestMethod] [TestMethod]
@ -352,7 +352,7 @@ namespace CalculatorUITests
page.ProgrammerOperators.RightShiftButton.Click(); page.ProgrammerOperators.RightShiftButton.Click();
page.StandardOperators.NumberPad.Input(1); page.StandardOperators.NumberPad.Input(1);
page.StandardOperators.EqualButton.Click(); page.StandardOperators.EqualButton.Click();
Assert.AreEqual("1 0 1", page.CalculatorResults.GetCalculatorResultText()); Assert.AreEqual("0 1 0 1", page.CalculatorResults.GetCalculatorResultText());
} }
[TestMethod] [TestMethod]
@ -429,7 +429,7 @@ namespace CalculatorUITests
page.ProgrammerOperators.XorButton.Click(); page.ProgrammerOperators.XorButton.Click();
page.StandardOperators.NumberPad.Input(1100); page.StandardOperators.NumberPad.Input(1100);
page.StandardOperators.EqualButton.Click(); page.StandardOperators.EqualButton.Click();
Assert.AreEqual("1 1 0", page.CalculatorResults.GetCalculatorResultText()); Assert.AreEqual("0 1 1 0", page.CalculatorResults.GetCalculatorResultText());
} }
/// <summary> /// <summary>
@ -623,7 +623,7 @@ namespace CalculatorUITests
page.ProgrammerOperators.LeftShiftLogicalButton.Click(); page.ProgrammerOperators.LeftShiftLogicalButton.Click();
page.StandardOperators.NumberPad.Input(1); page.StandardOperators.NumberPad.Input(1);
page.StandardOperators.EqualButton.Click(); page.StandardOperators.EqualButton.Click();
Assert.AreEqual("1 0 1 0 0", page.CalculatorResults.GetCalculatorResultText()); Assert.AreEqual("0 0 0 1 0 1 0 0", page.CalculatorResults.GetCalculatorResultText());
} }
[TestMethod] [TestMethod]
@ -637,7 +637,7 @@ namespace CalculatorUITests
page.ProgrammerOperators.RightShiftLogicalButton.Click(); page.ProgrammerOperators.RightShiftLogicalButton.Click();
page.StandardOperators.NumberPad.Input(1); page.StandardOperators.NumberPad.Input(1);
page.StandardOperators.EqualButton.Click(); page.StandardOperators.EqualButton.Click();
Assert.IsTrue(String.Equals(page.CalculatorResults.GetCalculatorResultText(), "1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1", StringComparison.OrdinalIgnoreCase)); Assert.IsTrue(String.Equals(page.CalculatorResults.GetCalculatorResultText(), "0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1", StringComparison.OrdinalIgnoreCase));
} }
/// <summary> /// <summary>
@ -737,7 +737,7 @@ namespace CalculatorUITests
page.StandardOperators.NumberPad.Input(1011); page.StandardOperators.NumberPad.Input(1011);
page.ProgrammerOperators.RoLButton.Click(); page.ProgrammerOperators.RoLButton.Click();
page.StandardOperators.EqualButton.Click(); page.StandardOperators.EqualButton.Click();
Assert.AreEqual("1 0 1 1 0", page.CalculatorResults.GetCalculatorResultText()); Assert.AreEqual("0 0 0 1 0 1 1 0", page.CalculatorResults.GetCalculatorResultText());
} }
[TestMethod] [TestMethod]
@ -846,7 +846,7 @@ namespace CalculatorUITests
page.StandardOperators.NumberPad.Input(1010); page.StandardOperators.NumberPad.Input(1010);
page.ProgrammerOperators.RoLButton.Click(); page.ProgrammerOperators.RoLButton.Click();
page.StandardOperators.EqualButton.Click(); page.StandardOperators.EqualButton.Click();
Assert.AreEqual("1 0 1 0 0", page.CalculatorResults.GetCalculatorResultText()); Assert.AreEqual("0 0 0 1 0 1 0 0", page.CalculatorResults.GetCalculatorResultText());
} }
[TestMethod] [TestMethod]
@ -858,7 +858,7 @@ namespace CalculatorUITests
page.StandardOperators.NumberPad.Input(1011); page.StandardOperators.NumberPad.Input(1011);
page.ProgrammerOperators.RoRCarryButton.Click(); page.ProgrammerOperators.RoRCarryButton.Click();
page.StandardOperators.EqualButton.Click(); page.StandardOperators.EqualButton.Click();
Assert.AreEqual("1 0 1", page.CalculatorResults.GetCalculatorResultText()); Assert.AreEqual("0 1 0 1", page.CalculatorResults.GetCalculatorResultText());
} }
/// <summary> /// <summary>

View file

@ -12,7 +12,7 @@
using namespace CalculatorApp; using namespace CalculatorApp;
using namespace CalculatorApp::ViewModel::Common; using namespace CalculatorApp::ViewModel::Common;
using namespace CalculationManager; using namespace CalculationManager;
using namespace CalcManager::NumberFormattingUtils; using namespace UnitConversionManager::NumberFormattingUtils;
using namespace Platform; using namespace Platform;
using namespace std; using namespace std;
using namespace Microsoft::VisualStudio::CppUnitTestFramework; using namespace Microsoft::VisualStudio::CppUnitTestFramework;
@ -191,11 +191,11 @@ namespace CalculatorManagerTest
TEST_METHOD(CalculatorManagerTestMaxDigitsReached_LeadingDecimal); TEST_METHOD(CalculatorManagerTestMaxDigitsReached_LeadingDecimal);
TEST_METHOD(CalculatorManagerTestMaxDigitsReached_TrailingDecimal); TEST_METHOD(CalculatorManagerTestMaxDigitsReached_TrailingDecimal);
TEST_METHOD(CalculatorManagerNumberFormattingUtils_TrimTrailingZeros); TEST_METHOD(UnitConversionManagerNumberFormattingUtils_TrimTrailingZeros);
TEST_METHOD(CalculatorManagerNumberFormattingUtils_GetNumberDigits); TEST_METHOD(UnitConversionManagerNumberFormattingUtils_GetNumberDigits);
TEST_METHOD(CalculatorManagerNumberFormattingUtils_GetNumberDigitsWholeNumberPart); TEST_METHOD(UnitConversionManagerNumberFormattingUtils_GetNumberDigitsWholeNumberPart);
TEST_METHOD(CalculatorManagerNumberFormattingUtils_RoundSignificantDigits); TEST_METHOD(UnitConversionManagerNumberFormattingUtils_RoundSignificantDigits);
TEST_METHOD(CalculatorManagerNumberFormattingUtils_ToScientificNumber); TEST_METHOD(UnitConversionManagerNumberFormattingUtils_ToScientificNumber);
TEST_METHOD(CalculatorManagerTestBinaryOperatorReceived); TEST_METHOD(CalculatorManagerTestBinaryOperatorReceived);
TEST_METHOD(CalculatorManagerTestBinaryOperatorReceived_Multiple); TEST_METHOD(CalculatorManagerTestBinaryOperatorReceived_Multiple);
@ -917,7 +917,7 @@ namespace CalculatorManagerTest
TestMaxDigitsReachedScenario(L"123,456,789,101,112.13"); TestMaxDigitsReachedScenario(L"123,456,789,101,112.13");
} }
void CalculatorManagerTest::CalculatorManagerNumberFormattingUtils_TrimTrailingZeros() void CalculatorManagerTest::UnitConversionManagerNumberFormattingUtils_TrimTrailingZeros()
{ {
wstring number = L"2.1032100000000"; wstring number = L"2.1032100000000";
TrimTrailingZeros(number); TrimTrailingZeros(number);
@ -942,7 +942,7 @@ namespace CalculatorManagerTest
VERIFY_ARE_EQUAL(number, L"322423"); VERIFY_ARE_EQUAL(number, L"322423");
} }
void CalculatorManagerTest::CalculatorManagerNumberFormattingUtils_GetNumberDigits() void CalculatorManagerTest::UnitConversionManagerNumberFormattingUtils_GetNumberDigits()
{ {
wstring number = L"2.10321"; wstring number = L"2.10321";
unsigned int digitsCount = GetNumberDigits(number); unsigned int digitsCount = GetNumberDigits(number);
@ -961,7 +961,7 @@ namespace CalculatorManagerTest
VERIFY_ARE_EQUAL(digitsCount, 8); VERIFY_ARE_EQUAL(digitsCount, 8);
} }
void CalculatorManagerTest::CalculatorManagerNumberFormattingUtils_GetNumberDigitsWholeNumberPart() void CalculatorManagerTest::UnitConversionManagerNumberFormattingUtils_GetNumberDigitsWholeNumberPart()
{ {
unsigned int digitsCount = GetNumberDigitsWholeNumberPart(2.10321); unsigned int digitsCount = GetNumberDigitsWholeNumberPart(2.10321);
VERIFY_ARE_EQUAL(digitsCount, 1); VERIFY_ARE_EQUAL(digitsCount, 1);
@ -981,7 +981,7 @@ namespace CalculatorManagerTest
VERIFY_ARE_EQUAL(digitsCount, 1); VERIFY_ARE_EQUAL(digitsCount, 1);
} }
void CalculatorManagerTest::CalculatorManagerNumberFormattingUtils_RoundSignificantDigits() void CalculatorManagerTest::UnitConversionManagerNumberFormattingUtils_RoundSignificantDigits()
{ {
wstring result = RoundSignificantDigits(12.342343242, 3); wstring result = RoundSignificantDigits(12.342343242, 3);
VERIFY_ARE_EQUAL(result, L"12.342"); VERIFY_ARE_EQUAL(result, L"12.342");
@ -997,7 +997,7 @@ namespace CalculatorManagerTest
VERIFY_ARE_EQUAL(result, L"0.3423000"); VERIFY_ARE_EQUAL(result, L"0.3423000");
} }
void CalculatorManagerTest::CalculatorManagerNumberFormattingUtils_ToScientificNumber() void CalculatorManagerTest::UnitConversionManagerNumberFormattingUtils_ToScientificNumber()
{ {
wstring result = ToScientificNumber(3423); wstring result = ToScientificNumber(3423);
VERIFY_ARE_EQUAL(result, L"3.423000e+03"); VERIFY_ARE_EQUAL(result, L"3.423000e+03");