When a ushort? is passed to Assert.Equal it is trying to cast the two argumants to string. It works fine for int?. If I change the code to ushort test = 10; or Assert.Equal((ushort)10, test); or Assert.Equal(10, (ushort)test); it works fine. Whats the reason for that? Can it be because of ushort and both char is 2 bytes and Assert.Equal is implicitly trying to treat the ushort? as a string?
Assert.Equal trying to cast ushort? to 'string'
194 Views Asked by KeepCalmAndCode At
1
There are 1 best solutions below
Related Questions in C#
- Passing arguments to main in C using Eclipse
- kernel module does not print packet info
- error C2016 (C requires that a struct or union has at least one member) and structs typedefs
- Drawing with ncurses, sockets and fork
- How to catch delay-import dll errors (missing dll or symbol) in MinGW(-w64)?
- Configured TTL for A record(s) backing CNAME records
- Allocating memory for pointers inside structures in functions
- Finding articulation point of undirected graph by DFS
- C first fgets() is being skipped while the second runs
- C std library don't appear to be linked in object file
- gcc static library compilation
- How to do a case-insensitive string comparison?
- C programming: Create and write 2D array of files as function
- How to read a file then store to array and then print?
- Function timeouts in C and thread
Related Questions in NULLABLE
- how to convert date time if passing null value in date field
- When I try to map the properties for an entity (Entity Framework), I get the error the type '__' must be a non-nullable value type
- Java 8 Optional.ifPresent is my code wrong or is it eclipse?
- Type checking and iterating through ANY array in Swift
- Giving a string a null value
- Cannot cast DBNull.Value to type System.DateTime
- Is the C# compiler optimizing nullable types?
- FindBugs Ignores @Nullable
- How to write SQL statement with dynamic where clause?
- Why is my Nullable(Of Int32) = 0 after I set it to Nothing?
- Select SQL with nullable integer variable and "in" at the where clause in asp dataset
- How do I pass Nullable<Boolean> value to CommandParameter?
- Nullable(Of ) is not set to Nothing in conditional ternary operator
- How to convert an int array to a nullable int array?
- How to use generic and Nullable<T> types in Dapper for materialization?
Related Questions in XUNIT.NET
- Running code on assembly load in xUnit
- xunit - unit test execution isolation?
- resharper is not ignoring tests marked with Category Attribute in XUnit
- Using allure with xUnit
- How to re-use asserts and/or setup in xBehave tests?
- Can't add xunit test project .NET Core
- Unit testing a .NET Standard 1.6 library
- ExpectedException xunit .net core
- following constructor parameters did not have matching fixture data : DbContextOptions'1options
- IsType<T> and IsType(object, object) throwing IsTypeException
- How can I run xUnit Unit Tests with VS2015 Preview?
- Executing an asynchronous method from the dispose event
- Replace MsTest with xUnit
- Moq test passes even when verifying both Times.Once() and Times.Never() on same method call
- How can I throttle xunit tests
Related Questions in USHORT
- Python 3.4: Converting ushort to bytes
- Trouble converting to a specific format C#
- Convert a ushort value into two byte values in C#
- Marshal ushort[] over network
- Assert.Equal trying to cast ushort? to 'string'
- ushort equivalent
- Why does xor'ing two ushort values not return a ushort?
- How to quickly subtract one ushort array from another in C#?
- c# How to convert ushort value into byte so that I can display them in picturebox
- Migrating C# code to Java, unsigned short and byte array conversion
- How to get ushort data in C#, A909 for 41104?
- Byte Array to Word Array to String
- sending ushort ulong byte data over tcpclient object
- C# - ushort array to multiple bits
- how to convert a string to a ushort
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?

Note that although there is an implicit conversion from
10toushort?This only works because the constant expression
10is within the range ofushort, and an implicit constant expression conversion is applied.The
Equalmethod group has generic methods, like the one that you are trying to call. So before overload resolution can begin, type inference occurs.In this case, type inference actually fails for all the generic overloads, so they don't take part in overload resolution.
Equal(string, string)is one of the overloads that do. That's why the error message is about the string overload.Why does type inference fail? Because there is no implicit conversion from
inttoushort?or fromushort?toint. Type inference only cares about the types of the arguments, the parameters, and the type parameters. It doesn't care about whether the arguments are constant expressions or anything like that, so the aforementioned implicit constant expression conversion is not applicable. I encourage you to follow through the type inference process in the spec. It's great fun :)See the references to "type of
Ei" here:Compare this to how it refers to "argument" rather than "type of argument" in overload resolution:
So it seems that overload resolution does look at the arguments' expressions, which is why it would have worked if you made the method non-generic, accepting two
ushort?. In that case it does not participate in type inference, only overload resolution.The reason why casting the
10toushortorbyteworks is because there does exist an implicit conversion between fromushorttoushort?and frombytetoushort?. This is done via an implicit nullable conversion.