From 35efd7bd048258f13014d3706854281adc11ac8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Sim=C3=B5es?= Date: Fri, 2 Jun 2023 13:04:20 +0100 Subject: [PATCH 1/4] Add unit tests to cover typeof --- Tests/NFUnitTestTypes/NFUnitTestTypes.nfproj | 1 + Tests/NFUnitTestTypes/UnitTestTypes.cs | 92 ++++++++++++++++++++ 2 files changed, 93 insertions(+) create mode 100644 Tests/NFUnitTestTypes/UnitTestTypes.cs diff --git a/Tests/NFUnitTestTypes/NFUnitTestTypes.nfproj b/Tests/NFUnitTestTypes/NFUnitTestTypes.nfproj index e5000da3..3ee10195 100644 --- a/Tests/NFUnitTestTypes/NFUnitTestTypes.nfproj +++ b/Tests/NFUnitTestTypes/NFUnitTestTypes.nfproj @@ -33,6 +33,7 @@ + diff --git a/Tests/NFUnitTestTypes/UnitTestTypes.cs b/Tests/NFUnitTestTypes/UnitTestTypes.cs new file mode 100644 index 00000000..2748676b --- /dev/null +++ b/Tests/NFUnitTestTypes/UnitTestTypes.cs @@ -0,0 +1,92 @@ +// +// Copyright (c) .NET Foundation and Contributors +// Portions Copyright (c) Microsoft Corporation. All rights reserved. +// See LICENSE file in the project root for full license information. +// + +using nanoFramework.TestFramework; +using System; + +namespace NFUnitTestTypes +{ + [TestClass] + class UnitTestTypes + { + [TestMethod] + public void TypeTestsArrays_00() + { + ushort[] array = new ushort[10]; + var ushortArrayType = array.GetType(); + Assert.AreEqual(ushortArrayType.Name, "System.UInt16[]"); + + short[] array2 = new short[10]; + var shortArrayType = array2.GetType(); + Assert.AreEqual(shortArrayType.Name, "System.Int16[]"); + + int[] array3 = new int[10]; + var intArrayType = array3.GetType(); + Assert.AreEqual(intArrayType.Name, "System.Int32[]"); + + uint[] array4 = new uint[10]; + var uintArrayType = array4.GetType(); + Assert.AreEqual(uintArrayType.Name, "System.UInt32[]"); + + ulong[] array5 = new ulong[10]; + var ulongArrayType = array5.GetType(); + Assert.AreEqual(ulongArrayType.Name, "System.UInt64[]"); + + long[] array6 = new long[10]; + var longArrayType = array6.GetType(); + Assert.AreEqual(longArrayType.Name, "System.Int64[]"); + + float[] array7 = new float[10]; + var floatArrayType = array7.GetType(); + Assert.AreEqual(floatArrayType.Name, "System.Single[]"); + + double[] array8 = new double[10]; + var doubleArrayType = array8.GetType(); + Assert.AreEqual(doubleArrayType.Name, "System.Double[]"); + } + + [DataRow(typeof(short[]), "System.Int16[]")] + [DataRow(typeof(ushort[]), "System.UInt16[]")] + [DataRow(typeof(int[]), "System.Int32[]")] + [DataRow(typeof(uint[]), "System.UInt32[]")] + [DataRow(typeof(long[]), "System.Int64[]")] + [DataRow(typeof(ulong[]), "System.UInt64[]")] + [DataRow(typeof(float[]), "System.Single[]")] + [DataRow(typeof(double[]), "System.Double[]")] + [DataRow(typeof(char[]), "System.Char[]")] + [DataRow(typeof(byte[]), "System.Byte[]")] + [DataRow(typeof(sbyte[]), "System.SByte[]")] + [DataRow(typeof(bool[]), "System.Boolean[]")] + [DataRow(typeof(string[]), "System.String[]")] + [DataRow(typeof(object[]), "System.Object[]")] + [DataRow(typeof(short), "System.Int16")] + [TestMethod] + public void TypeTestsArrays_01(Type type, string typeName) + { + Assert.AreEqual(type.Name, typeName); + } + + [DataRow(typeof(short), "System.Int16")] + [DataRow(typeof(ushort), "System.UInt16")] + [DataRow(typeof(int), "System.Int32")] + [DataRow(typeof(uint), "System.UInt32")] + [DataRow(typeof(long), "System.Int64")] + [DataRow(typeof(ulong), "System.UInt64")] + [DataRow(typeof(float), "System.Single")] + [DataRow(typeof(double), "System.Double")] + [DataRow(typeof(char), "System.Char")] + [DataRow(typeof(byte), "System.Byte")] + [DataRow(typeof(sbyte), "System.SByte")] + [DataRow(typeof(bool), "System.Boolean")] + [DataRow(typeof(string), "System.String")] + [DataRow(typeof(object), "System.Object")] + [TestMethod] + public void TypeTestsBaseTypes(Type type, string typeName) + { + Assert.AreEqual(type.Name, typeName); + } + } +} From 9e79165165614f44c292b43721806eb6ac758da8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Sim=C3=B5es?= Date: Thu, 8 Jun 2023 11:03:57 +0100 Subject: [PATCH 2/4] Update NFUnitTestTypes.nfproj --- Tests/NFUnitTestTypes/NFUnitTestTypes.nfproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/NFUnitTestTypes/NFUnitTestTypes.nfproj b/Tests/NFUnitTestTypes/NFUnitTestTypes.nfproj index 3ee10195..7ede25bb 100644 --- a/Tests/NFUnitTestTypes/NFUnitTestTypes.nfproj +++ b/Tests/NFUnitTestTypes/NFUnitTestTypes.nfproj @@ -47,4 +47,4 @@ - \ No newline at end of file + From fea5123adbdc0bb712d2d7a2993647cf24c2378a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Sim=C3=B5es?= Date: Thu, 8 Jun 2023 11:19:32 +0100 Subject: [PATCH 3/4] Fix property name to use type full name --- Tests/NFUnitTestTypes/UnitTestTypes.cs | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/Tests/NFUnitTestTypes/UnitTestTypes.cs b/Tests/NFUnitTestTypes/UnitTestTypes.cs index 2748676b..e7b56271 100644 --- a/Tests/NFUnitTestTypes/UnitTestTypes.cs +++ b/Tests/NFUnitTestTypes/UnitTestTypes.cs @@ -17,35 +17,35 @@ public void TypeTestsArrays_00() { ushort[] array = new ushort[10]; var ushortArrayType = array.GetType(); - Assert.AreEqual(ushortArrayType.Name, "System.UInt16[]"); + Assert.AreEqual(ushortArrayType.FullName, "System.UInt16[]"); short[] array2 = new short[10]; var shortArrayType = array2.GetType(); - Assert.AreEqual(shortArrayType.Name, "System.Int16[]"); + Assert.AreEqual(shortArrayType.FullName, "System.Int16[]"); int[] array3 = new int[10]; var intArrayType = array3.GetType(); - Assert.AreEqual(intArrayType.Name, "System.Int32[]"); + Assert.AreEqual(intArrayType.FullName, "System.Int32[]"); uint[] array4 = new uint[10]; var uintArrayType = array4.GetType(); - Assert.AreEqual(uintArrayType.Name, "System.UInt32[]"); + Assert.AreEqual(uintArrayType.FullName, "System.UInt32[]"); ulong[] array5 = new ulong[10]; var ulongArrayType = array5.GetType(); - Assert.AreEqual(ulongArrayType.Name, "System.UInt64[]"); + Assert.AreEqual(ulongArrayType.FullName, "System.UInt64[]"); long[] array6 = new long[10]; var longArrayType = array6.GetType(); - Assert.AreEqual(longArrayType.Name, "System.Int64[]"); + Assert.AreEqual(longArrayType.FullName, "System.Int64[]"); float[] array7 = new float[10]; var floatArrayType = array7.GetType(); - Assert.AreEqual(floatArrayType.Name, "System.Single[]"); + Assert.AreEqual(floatArrayType.FullName, "System.Single[]"); double[] array8 = new double[10]; var doubleArrayType = array8.GetType(); - Assert.AreEqual(doubleArrayType.Name, "System.Double[]"); + Assert.AreEqual(doubleArrayType.FullName, "System.Double[]"); } [DataRow(typeof(short[]), "System.Int16[]")] @@ -66,7 +66,7 @@ public void TypeTestsArrays_00() [TestMethod] public void TypeTestsArrays_01(Type type, string typeName) { - Assert.AreEqual(type.Name, typeName); + Assert.AreEqual(type.FullName, typeName); } [DataRow(typeof(short), "System.Int16")] @@ -86,7 +86,7 @@ public void TypeTestsArrays_01(Type type, string typeName) [TestMethod] public void TypeTestsBaseTypes(Type type, string typeName) { - Assert.AreEqual(type.Name, typeName); + Assert.AreEqual(type.FullName, typeName); } } } From 1937bea9aeb0ade4b5e09b98f219e22fe5269e1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Sim=C3=B5es?= Date: Fri, 9 Jun 2023 01:06:39 +0100 Subject: [PATCH 4/4] Replace datarow with hardcoded tests --- Tests/NFUnitTestTypes/UnitTestTypes.cs | 63 ++++++++++++-------------- 1 file changed, 30 insertions(+), 33 deletions(-) diff --git a/Tests/NFUnitTestTypes/UnitTestTypes.cs b/Tests/NFUnitTestTypes/UnitTestTypes.cs index e7b56271..12947d22 100644 --- a/Tests/NFUnitTestTypes/UnitTestTypes.cs +++ b/Tests/NFUnitTestTypes/UnitTestTypes.cs @@ -48,45 +48,42 @@ public void TypeTestsArrays_00() Assert.AreEqual(doubleArrayType.FullName, "System.Double[]"); } - [DataRow(typeof(short[]), "System.Int16[]")] - [DataRow(typeof(ushort[]), "System.UInt16[]")] - [DataRow(typeof(int[]), "System.Int32[]")] - [DataRow(typeof(uint[]), "System.UInt32[]")] - [DataRow(typeof(long[]), "System.Int64[]")] - [DataRow(typeof(ulong[]), "System.UInt64[]")] - [DataRow(typeof(float[]), "System.Single[]")] - [DataRow(typeof(double[]), "System.Double[]")] - [DataRow(typeof(char[]), "System.Char[]")] - [DataRow(typeof(byte[]), "System.Byte[]")] - [DataRow(typeof(sbyte[]), "System.SByte[]")] - [DataRow(typeof(bool[]), "System.Boolean[]")] - [DataRow(typeof(string[]), "System.String[]")] - [DataRow(typeof(object[]), "System.Object[]")] - [DataRow(typeof(short), "System.Int16")] [TestMethod] - public void TypeTestsArrays_01(Type type, string typeName) + public void TypeTestsArrays_01() { - Assert.AreEqual(type.FullName, typeName); + Assert.AreEqual(typeof(short[]).FullName, "System.Int16[]"); + Assert.AreEqual(typeof(ushort[]).FullName, "System.UInt16[]"); + Assert.AreEqual(typeof(int[]).FullName, "System.Int32[]"); + Assert.AreEqual(typeof(uint[]).FullName, "System.UInt32[]"); + Assert.AreEqual(typeof(long[]).FullName, "System.Int64[]"); + Assert.AreEqual(typeof(ulong[]).FullName, "System.UInt64[]"); + Assert.AreEqual(typeof(float[]).FullName, "System.Single[]"); + Assert.AreEqual(typeof(double[]).FullName, "System.Double[]"); + Assert.AreEqual(typeof(char[]).FullName, "System.Char[]"); + Assert.AreEqual(typeof(byte[]).FullName, "System.Byte[]"); + Assert.AreEqual(typeof(sbyte[]).FullName, "System.SByte[]"); + Assert.AreEqual(typeof(bool[]).FullName, "System.Boolean[]"); + Assert.AreEqual(typeof(string[]).FullName, "System.String[]"); + Assert.AreEqual(typeof(object[]).FullName, "System.Object[]"); } - [DataRow(typeof(short), "System.Int16")] - [DataRow(typeof(ushort), "System.UInt16")] - [DataRow(typeof(int), "System.Int32")] - [DataRow(typeof(uint), "System.UInt32")] - [DataRow(typeof(long), "System.Int64")] - [DataRow(typeof(ulong), "System.UInt64")] - [DataRow(typeof(float), "System.Single")] - [DataRow(typeof(double), "System.Double")] - [DataRow(typeof(char), "System.Char")] - [DataRow(typeof(byte), "System.Byte")] - [DataRow(typeof(sbyte), "System.SByte")] - [DataRow(typeof(bool), "System.Boolean")] - [DataRow(typeof(string), "System.String")] - [DataRow(typeof(object), "System.Object")] [TestMethod] - public void TypeTestsBaseTypes(Type type, string typeName) + public void TypeTestsBaseTypes() { - Assert.AreEqual(type.FullName, typeName); + Assert.AreEqual(typeof(short).FullName, "System.Int16"); + Assert.AreEqual(typeof(ushort).FullName, "System.UInt16"); + Assert.AreEqual(typeof(int).FullName, "System.Int32"); + Assert.AreEqual(typeof(uint).FullName, "System.UInt32"); + Assert.AreEqual(typeof(long).FullName, "System.Int64"); + Assert.AreEqual(typeof(ulong).FullName, "System.UInt64"); + Assert.AreEqual(typeof(float).FullName, "System.Single"); + Assert.AreEqual(typeof(double).FullName, "System.Double"); + Assert.AreEqual(typeof(char).FullName, "System.Char"); + Assert.AreEqual(typeof(byte).FullName, "System.Byte"); + Assert.AreEqual(typeof(sbyte).FullName, "System.SByte"); + Assert.AreEqual(typeof(bool).FullName, "System.Boolean"); + Assert.AreEqual(typeof(string).FullName, "System.String"); + Assert.AreEqual(typeof(object).FullName, "System.Object"); } } }