/ src / modules / cmdpal / Tests / Microsoft.CmdPal.Ext.Calc.UnitTests / SettingsManagerTests.cs
SettingsManagerTests.cs
 1  // Copyright (c) Microsoft Corporation
 2  // The Microsoft Corporation licenses this file to you under the MIT license.
 3  // See the LICENSE file in the project root for more information.
 4  
 5  using Microsoft.CmdPal.Ext.Calc.Helper;
 6  using Microsoft.VisualStudio.TestTools.UnitTesting;
 7  
 8  namespace Microsoft.CmdPal.Ext.Calc.UnitTests;
 9  
10  [TestClass]
11  public class SettingsManagerTests
12  {
13      [TestMethod]
14      public void SettingsManagerInitializationTest()
15      {
16          // Act
17          var settingsManager = new SettingsManager();
18  
19          // Assert
20          Assert.IsNotNull(settingsManager);
21          Assert.IsNotNull(settingsManager.Settings);
22      }
23  
24      [TestMethod]
25      public void SettingsInterfaceTest()
26      {
27          // Act
28          ISettingsInterface settings = new SettingsManager();
29  
30          // Assert
31          Assert.IsNotNull(settings);
32          Assert.IsTrue(settings.TrigUnit == CalculateEngine.TrigMode.Radians);
33          Assert.IsFalse(settings.InputUseEnglishFormat);
34          Assert.IsFalse(settings.OutputUseEnglishFormat);
35          Assert.IsTrue(settings.CloseOnEnter);
36      }
37  
38      [TestMethod]
39      public void MockSettingsTest()
40      {
41          // Act
42          var settings = new Settings(
43              trigUnit: CalculateEngine.TrigMode.Degrees,
44              inputUseEnglishFormat: true,
45              outputUseEnglishFormat: true,
46              closeOnEnter: false);
47  
48          // Assert
49          Assert.IsNotNull(settings);
50          Assert.AreEqual(CalculateEngine.TrigMode.Degrees, settings.TrigUnit);
51          Assert.IsTrue(settings.InputUseEnglishFormat);
52          Assert.IsTrue(settings.OutputUseEnglishFormat);
53          Assert.IsFalse(settings.CloseOnEnter);
54      }
55  }