Comments (3)
Nothing can extend String :P
from assertj.
Yep, that's right :) but the second line compiles without problems.
Anyway, the main point here is to show that the last 3 assertThat don't compile.
from assertj.
William, your solution works but it still relies on generics which is root of the problem.
Sorry, the issue was not clear, let's take another example with an Employee class inheriting from Person to show where is the problem :
Employee bill = new Employee("Bill", 50, "micro$oft");
assertThat(bill).isEqualTo(bill); // OK
// now let's view billou as a Person and not an Employee anymore
Person billou = bill;
// next line leads to a compile error although bill and billou are exactly the same.
assertThat(bill).isEqualTo(billou);
The idea here is simply to use an Object instead of generic parameter A in AbstractAssert
.
I know we loose type checking here but I'm not sure if it was really useful (please tell me if you disagree).
This issue is just a step toward less generics and will be followed by others to remove generics in assertions methods parameter like contains
(but one step at a time)
Note that AbstractAssert
generic parameter must be kept for assertions based on Condition
.
Thanks for the effort though !
from assertj.
Related Issues (20)
- Unresolvable stylesheet URLs in latest Javadoc HOT 1
- Recursive comparison depends on the sequence of objects. HOT 4
- assertThat(collection).doesNotHaveDuplicates() is not sorted, even if the collection is HOT 12
- Recursive comparison checks for existence of fields in types that parameterize nested unordered iterables HOT 1
- `satisfiesExactlyInAnyOrder` fails if `actual` overrides `equals` HOT 4
- `isNotEqualTo(boolean)` fails if `actual` is null HOT 2
- Suggesting "hasOnlyDuplicates()" assertion HOT 3
- Field existence check for the elements of a collection field HOT 1
- Checking compared fields existence: handle containers
- ...usingRecursiveComparison().ignoringTransientFields()... HOT 7
- Unable to compare some timestamp types HOT 2
- Add AbstractAssert#matchesWith HOT 1
- AssertFactory with the ability to convert the value upfront HOT 24
- Add default recursive comparison configuration for non accessible classes and fields HOT 6
- `extracting(Function...)` propagates `Object` instead of the common base type of all extractors HOT 6
- NPE with `extracting(Function... extractors)` HOT 3
- AssertJ: issue with Assertions.assertThat().usingRecursiveComparison().isEqualTo() HOT 6
- Provide reason and possible replacement for @Deprecated HOT 3
- AssertJ string assertions not working with Spock 2.3 and Groovy HOT 15
- isEqualTo on date can lead to unexpected failures when switching time zones HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from assertj.