Hey guys!
I just open up the FEST-Assert 2.x prototype project:
https://github.com/alexruiz/fest-assert-2.xSorry for the delay. Things got a little busy from my side :D
There are some major changes in this projects (I hope I'm not missing any)
- More and smaller packages: code is better organized
- Classes in package "internal" are singletons that perform the "heavy lifting," so we can reuse them when creating custom Conditions
- Fluent classes are pretty thin, they just delegate to the classes in #2
- assertThat(Iterator) is gone. As Ansgar pointed out, it can create confusion about when the Iterator is consumed. I'll be adding a utility "asList(Iterator<?> iterator) so users can copy the contents of an Iterator to a List and then call "assertThat(List)"
- "onProperty" has been replaced with Properties.extractProperty(String).on(Collection) and Properties.extractProperty(String).on(Object[]) (org.fest.assertions.groups.Properties.) The main reason is the change in context in the fluent interface, which I find very confusing. I'll be changing the method name to Joel's suggestion: selectProperty :)
- Mockito instead of EasyMock
- Testing is a lot simpler IMHO. We no longer need to test that an assertion method works 1. without description, 2. with description, 3. with "overriding error message," and 4. description and "overriding error message"
I seriously think we should move to the 2.x for our development. I'm open to keeping 1.x alive. The only thing is, if we add something new to 1.x, we need to added to 2.x as well.
Please let me know what you think.
Many thanks!
-Alex