// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. using System; using System.Collections.Generic; /// /// System.Math.Abs(System.Int64) /// public class MathAbs5 { public static int Main(string[] args) { MathAbs5 abs5 = new MathAbs5(); TestLibrary.TestFramework.BeginTestCase("Testing System.Math.Abs(System.Int64)..."); if (abs5.RunTests()) { TestLibrary.TestFramework.EndTestCase(); TestLibrary.TestFramework.LogInformation("PASS"); return 100; } else { TestLibrary.TestFramework.EndTestCase(); TestLibrary.TestFramework.LogInformation("FAIL"); return 0; } } public bool RunTests() { bool retVal = true; TestLibrary.TestFramework.LogInformation("[Positive]"); retVal = PosTest1() && retVal; retVal = PosTest2() && retVal; TestLibrary.TestFramework.LogInformation("[Negtive]"); retVal = NegTest1() && retVal; return retVal; } public bool PosTest1() { bool retVal = true; TestLibrary.TestFramework.BeginScenario("PosTest1: Verify the max value of Int64 should be equal to its Abs value..."); try { Int64 max = Int64.MaxValue; if (Math.Abs(max) != max) { TestLibrary.TestFramework.LogError("001", "The Abs of max value should be equal to itself!"); retVal = false; } } catch (Exception e) { TestLibrary.TestFramework.LogError("002", "Unexpected exception occurs: " + e); retVal = false; } return retVal; } public bool PosTest2() { bool retVal = true; TestLibrary.TestFramework.BeginScenario("PosTest2: Verify Abs value of zero should be equal to both itself and its contrary value..."); try { Int64 zero = 0; if (Math.Abs(zero) != zero || Math.Abs(zero) != -zero) { TestLibrary.TestFramework.LogError("003", "Abs value of zero should be equal to both itself and its contrary value!"); retVal = false; } } catch (Exception e) { TestLibrary.TestFramework.LogError("004", "Unexpected exception occurs: " + e); retVal = false; } return retVal; } public bool NegTest1() { bool retVal = true; TestLibrary.TestFramework.BeginScenario("NegTest1: Verify the Abs of min value of Int64..."); try { Int64 min = Int64.MinValue; Math.Abs(min); TestLibrary.TestFramework.LogError("101", "The Abs of min value should be equal to it's contrary value!"); retVal = false; } catch (OverflowException) { } catch (Exception e) { TestLibrary.TestFramework.LogError("102", "Unexpected exception occurs: " + e); retVal = false; } return retVal; } }