Skip to content
This repository has been archived by the owner on Dec 19, 2023. It is now read-only.

v1.3 #55

Merged
merged 71 commits into from
Sep 29, 2017
Merged

v1.3 #55

merged 71 commits into from
Sep 29, 2017

Conversation

LordZoltan
Copy link
Member

#26, #37, #42, #43, #44, #46, #49, #51, #52 all done plus other bugfixes and improvements.

NOTE A rebuild of the documentation is required from this branch so the contrib links on the website are correct.

New test added to this which currently fails DELIBERATELY.
…this functionality) now breaks - however there's more to do now with making the new behaviour optional and reinventing how a target container creates other target containers internally. Initial idea for #36, too, which I think needs a bit more work.
…put options object. Also allowing derived options.

Few things I'm not liking - the reliance on searching targets and direct-resolving from them, and the fact that the possible implementation of contravariance (#44) could scupper the same system :)
…can provide objects without a compiler or container: ObjectTarget/DefaultTarget and nullary delegates
…pace - extracted MissingTarget out of ContainerBase,
… dump. There's a crossover here between what I've already done for behaviours - it's just they're different types of configuration. I think one is going to be subsumed into the other. Need to think it out though.
…onfiguration. This uses the TargetContainer as a 'live' container for configuration.
…ions are allowed against the same type and whether all generic possibilities for a type are matched. More on the way.
…working too (see 'TargetContainerGenericTests.ShouldAllowCrazyCoContraVariance') - needs more verification.
…clude bases OR derived types in the sarch list.
…oad of constrained open generics to see if it can be done cheaply
…ected by an ITargetContainerBehaviour - this drastically improves its flexibility by allowing a default to be set for whole groups of types - especially generics.
really not happy with the behaviour functionality now.  well - the naming of it - should be 'initialisers'.  Equally should probably use a ITargetContainer behind the scenes via Options.  decisions, decisions...
…uld have been) and getting rid of GlobalBehaviours because it's *exceedingly* smelly.
…solidating into one config for all 'standard' containers
…tests now failing but will be fixed when we move from *resolving* the compiler and all the expression builders to using options instead.

Documentation still needs to updated to refer to configs.
…ding per-service control of whether all matching generics should be returned. Incorrectly assumed that constrained generics would work with this - forgetting that it's a closed/open gate. So: failing test in examples which needs to be using different generics - or I just need to add an extra registration.
added an example test for lazy enumerables; now need one for eager and
then to write docs.
have also realised that, embarrassingly, I haven't added array injection as an automatic feature!  (Need to add that as a minor update to 1.3)
…ed which will allow us to redirect targets with a particular declaredtype to child containers with different types.

Need to do it right...
…r an array container for array injection). But I'd like to reimplement how Generic type containers are created in TargetContainer so that I can use options to redirect targets for registration purposes.
…or generics - in that I'm not using an option because it's nigh impossible to do so and not cause stack overflows.

Couple of array tests now working - more to do, tho.
This will enable me to test the new TargetContainer container registration handling - and whether or not that class needs to look at redirected types.
…umerables are currently being tested; as I also want to add Targetcontainer-level tests for Decoration so that I don't have to rely on the compiler test
…nd in prep for adding the array decoration tests
… a new bug (see the test OverridinTargetContainerTests.EnumerableTargetShouldReturnAllItems).

Look again at how the EnumerableTargetContainer is now delegating to the OverridingTargetContainer.
… adding explicit overrides. So - explicitly registered arrays in an overridingtargetcontainer do correctly override any produced by the overridden container; but auto-built enumerables (via FetchAll) will still amalgamate all targets from all containers.
…tainer to redirect types other than generics! (See failed decorator delegate tests which target Arrays)
#51 and #52 (which should've been created when I started working on this!)
…light missing/broken functionality of course)
…though some tweaks might be needed when contravariance is introduced
On to enumerables of contravariants now.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant