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'
197 views Asked by KeepCalmAndCode At
1
There are 1 answers
Related Questions in C#
- How to call a C language function from x86 assembly code?
- What does: "char *argv[]" mean?
- User input sanitization program, which takes a specific amount of arguments and passes the execution to a bash script
- How to crop a BMP image in half using C
- How can I get the difference in minutes between two dates and hours?
- Why will this code compile although it defines two variables with the same name?
- Compiling eBPF program in Docker fails due to missing '__u64' type
- Why can't I use the file pointer after the first read attempt fails?
- #include Header files in C with definition too
- OpenCV2 on CLion
- What is causing the store latency in this program?
- How to refer to the filepath of test data in test sourcecode?
- 9 Digit Addresses in Hexadecimal System in MacOS
- My server TCP doesn't receive messages from the client in C
- Printing the characters obtained from the array s using printf?
Related Questions in NULLABLE
- Validation error occurs when binding DateTime? with MudBlazor's MudTextField
- Issue with nullable reference types in C# 8
- Spark Not Null constrains in combination with badrecordspath for reading (delta) tables
- How can I mark a c# function by a third party as library as nullable
- Why doesn't kotlinx.datetime.LocalTime XML deserialization with Jackson use default kotlin values?
- Rules of Unbounded type parameters in Generics ( C# )
- Behavior of Passing Nullable<T> into a Generic Method that accepts T?
- Non-nullable types set to null by libraries
- openapi-generator does not generate JsonNullable<?> for Java Client
- C# - How to override null value in JsonConvert.SerializeObject output
- Nullable object must have a value based on equation
- How do I add the Nullable context in Unity?
- How to SQL join when join-id is nullable
- Deserializing objects from an API when it's unclear which properties are nullable on the JSON response
- Kotlin is there a map function for nullable values
Related Questions in XUNIT.NET
- ConfigurationBuilder.AddJsonFile uses wrong json file every other time
- An analog of Assembly.LoadFrom for AssemblyLoadContext
- Does Xunit use a source generator for test data?
- ExcludeFromCodeCoverage not working at method level
- Can not instantiate proxy of class
- Bind TestService dependency LifeCycle to a Xunit test with a Test Server in C#
- xUnit Run a Test but don't fail the run if it fails
- C# Asp.Net MVC Core - Unit testing ErrorController using RouteData() in XUnit (&Moq)
- DbUpdateConcurrencyException error when adding a new record to the database during test method execution
- How to set priority for InlineData() from Xunit Theory test
- Sharing test data across xUnit Theory tests
- How to write mock for unitofwork pattern
- Moq static class in unit test, Xunit
- Unit tests in C# with xUnit: why setting invariant culture works in base class but not in fixture?
- XUnit InmemoryDB debug tests pass fail when ran
Related Questions in USHORT
- Kotlin UShort deserialization with jackson
- Why it is not the same?
- Using Bitmask to read first 2 bits of a ushort in C#
- Assert.Equal trying to cast ushort? to 'string'
- Convert int[] array to ushort[] array
- Does operator fail to distinguish short[] from ushort[]?
- c# ushort uint16 which type to choose
- How can I convert an ushort 16 bit array to an image C#
- Structure values being overwritten during execution
- c# How to convert ushort value into byte so that I can display them in picturebox
- Concatenate strings, convert to ushort, compare against ushort
- Trouble converting to a specific format C#
- Python 3.4: Converting ushort to bytes
- how to convert a string to a ushort
- C# - ushort array to multiple bits
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?
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)

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.