diff --git a/src/CalcViewModel/StandardCalculatorViewModel.cpp b/src/CalcViewModel/StandardCalculatorViewModel.cpp
index cbd49b6..22554ca 100644
--- a/src/CalcViewModel/StandardCalculatorViewModel.cpp
+++ b/src/CalcViewModel/StandardCalculatorViewModel.cpp
@@ -137,6 +137,13 @@ StandardCalculatorViewModel::StandardCalculatorViewModel()
String ^ StandardCalculatorViewModel::LocalizeDisplayValue(_In_ wstring const& 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);
return ref new Platform::String(result.c_str());
}
diff --git a/src/CalculatorUITestFramework/ProgrammerCalculatorPage.cs b/src/CalculatorUITestFramework/ProgrammerCalculatorPage.cs
index f0b1a2e..451b663 100644
--- a/src/CalculatorUITestFramework/ProgrammerCalculatorPage.cs
+++ b/src/CalculatorUITestFramework/ProgrammerCalculatorPage.cs
@@ -7,7 +7,7 @@
namespace CalculatorUITestFramework
{
///
- /// 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.
///
public class ProgrammerCalculatorPage
{
diff --git a/src/CalculatorUITests/ProgrammerModeFunctionalTests.cs b/src/CalculatorUITests/ProgrammerModeFunctionalTests.cs
index 66e7988..5342e1c 100644
--- a/src/CalculatorUITests/ProgrammerModeFunctionalTests.cs
+++ b/src/CalculatorUITests/ProgrammerModeFunctionalTests.cs
@@ -340,7 +340,7 @@ public void Arithmetic_Operator_Binary_LeftShift()
page.ProgrammerOperators.LeftShiftButton.Click();
page.StandardOperators.NumberPad.Input(1);
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]
@@ -352,7 +352,7 @@ public void Arithmetic_Operator_Binary_RightShift()
page.ProgrammerOperators.RightShiftButton.Click();
page.StandardOperators.NumberPad.Input(1);
page.StandardOperators.EqualButton.Click();
- Assert.AreEqual("1 0 1", page.CalculatorResults.GetCalculatorResultText());
+ Assert.AreEqual("0 1 0 1", page.CalculatorResults.GetCalculatorResultText());
}
[TestMethod]
@@ -429,7 +429,7 @@ public void Arithmetic_Operator_Binary_Xor()
page.ProgrammerOperators.XorButton.Click();
page.StandardOperators.NumberPad.Input(1100);
page.StandardOperators.EqualButton.Click();
- Assert.AreEqual("1 1 0", page.CalculatorResults.GetCalculatorResultText());
+ Assert.AreEqual("0 1 1 0", page.CalculatorResults.GetCalculatorResultText());
}
///
@@ -623,7 +623,7 @@ public void Logical_Operator_Binary_LeftShift()
page.ProgrammerOperators.LeftShiftLogicalButton.Click();
page.StandardOperators.NumberPad.Input(1);
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]
@@ -637,7 +637,7 @@ public void Logical_Operator_Binary_RightShift()
page.ProgrammerOperators.RightShiftLogicalButton.Click();
page.StandardOperators.NumberPad.Input(1);
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));
}
///
@@ -737,7 +737,7 @@ public void Circular_Operator_Binary_LeftShift()
page.StandardOperators.NumberPad.Input(1011);
page.ProgrammerOperators.RoLButton.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]
@@ -846,7 +846,7 @@ public void ThroughCarry_Operator_Binary_LeftShift()
page.StandardOperators.NumberPad.Input(1010);
page.ProgrammerOperators.RoLButton.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]
@@ -858,7 +858,7 @@ public void ThroughCarry_Operator_Binary_RightShift()
page.StandardOperators.NumberPad.Input(1011);
page.ProgrammerOperators.RoRCarryButton.Click();
page.StandardOperators.EqualButton.Click();
- Assert.AreEqual("1 0 1", page.CalculatorResults.GetCalculatorResultText());
+ Assert.AreEqual("0 1 0 1", page.CalculatorResults.GetCalculatorResultText());
}
///