Commit Graph

49 Commits

Author SHA1 Message Date
Antony Male 9f7b596a5e Throw a better exception than an NRE if they forget to call builder.Bind(..).To(..)
Fixes #114
2020-04-23 17:58:28 +01:00
Antony Male bc068f8b27 Make namespace of StyletIoC unit tests consistent 2020-04-23 17:52:45 +01:00
Antony Male f946b8b9ac Support building abstract factories for two interfaces with the same name
Fixes #123
2020-04-23 17:52:45 +01:00
Antony Male b3064171c1 Fix up the failing unit tests 2019-09-22 17:12:54 +01:00
Antony Male 6dd8c072c1 StyletIoC: Detect basic copy constructors, and don't attempt to call them
This doesn't do full recursion detection, but catches the simple case of
copy constructors.
2016-10-09 11:30:11 +01:00
Antony Male e538bbbd8f Dispose Instance bindings by default, but allow this to be configured 2016-09-23 11:20:55 +01:00
Antony Male 235504941f Throw (by default) if ToAllImplementations does not find any implementations
This will happen if someone takes a concrete class (with no subclasses), uses
ToAllImplementations on it (and InSingletonScope), and wonders why the singleton
registration didn't 'take': the ToAllImplementations didn't create any bindings,
so we fell back to auto-binding the type
2016-03-02 17:15:22 +00:00
Antony Male df7e024bf5 Slightly more testing, and docs 2015-10-03 17:06:11 +01:00
Antony Male bd18b94e82 Start getting towards something that works... 2015-10-03 17:06:11 +01:00
Antony Male fc7f164c53 Remove unnecessary usings in unit tests 2015-09-23 21:46:36 +01:00
Antony Male 56395d8a8a Give StyletIoCBuilder a default list of assemblies
This is used by ToAllImplementations and Autobind, which means we
don't need to pass the correct assemblies into each.

Fixes #4
2015-03-17 12:27:52 +00:00
Antony Male 52b8da8ab6 Register IContainer with the builder 2015-02-23 10:47:56 +00:00
Antony Male 9ab3655c5f Improve test coverage slightly 2015-02-19 22:17:30 +00:00
Antony Male 17a3799811 Push unit test coverage up to 99.6% 2014-11-27 11:06:12 +00:00
Antony Male 44a6fa67f4 Get rid of funcs with key. Keep those without a key 2014-10-22 20:35:02 +01:00
Antony Male d6452c6517 Strip out child container stuff
I've forked the IoC container to SlimIoC, so this is going to be simplified a bit
2014-10-22 20:33:47 +01:00
Antony Male be22da44d0 Add Modules to StyletIoC 2014-09-14 12:19:48 +01:00
Antony Male 3efd74609d PerChildContainer registrations request themselves using the service type (oops) 2014-09-12 16:39:16 +01:00
Antony Male 142fb40ed9 GetAll returns empty enumerable if no registrations found 2014-09-12 16:38:57 +01:00
Antony Male 5f77356584 Disable some binding checks for factories and instances 2014-09-12 14:04:46 +01:00
Antony Male 05f509fd47 Add ability to register instances 2014-09-12 13:11:39 +01:00
Antony Male bc05f57b79 Mostly new docs 2014-09-12 10:20:15 +01:00
Antony Male 5fd04a410e Split the builder up into separate files, and move a couple of things out to extension methods 2014-09-12 09:50:23 +01:00
Antony Male f9a16df8be Revamp the fluent interface for IStyletIoCBuilder to make weak bindings better 2014-09-11 17:58:41 +01:00
Antony Male d69507b7be Split up all of the files with multiple classes, in StyletIoC 2014-09-11 13:18:33 +01:00
Antony Male 3887d38a4a Little bit of work on the unit test coverage 2014-09-11 12:46:59 +01:00
Antony Male ad8ba84ee8 First attempt at func factories. Passes almost all tests 2014-09-10 21:14:38 +01:00
Antony Male 8f180c235f Rename ChildContainerScope to PerContainerScope 2014-09-10 14:07:00 +01:00
Antony Male 0222106c4e Fix up a couple of bugs 2014-09-10 13:54:26 +01:00
Antony Male 37289a2b83 Get InChildContainerScope working - first time! 2014-09-10 13:21:19 +01:00
Antony Male 816df04f18 Add singleton disposing 2014-09-10 12:59:54 +01:00
Antony Male 3246f5db29 Add some unit tests 2014-09-10 12:49:28 +01:00
Antony Male ac58ef8bde Allow StyletIoC to accept other scopes 2014-08-27 19:15:21 +01:00
Antony Male fc4a7fb61c Push coverage up to 99.7% 2014-05-10 20:11:02 +01:00
Antony Male 4a527c75d6 Push code coverage up to 98.7%, including integration tests 2014-05-09 14:40:40 +01:00
Antony Male 55b23a61ed Couple lines more coverage 2014-05-08 17:44:04 +01:00
Antony Male fe13725062 More unit tests, more code coverage 2014-05-07 17:48:00 +01:00
Antony Male fe377e3955 Provide a decent error if unbound generic type used as an abstract factory, and fill in more coverage 2014-05-07 16:22:51 +01:00
Antony Male 6d3a222249 Fix StyletIoC bug w/ singleton unbound generics, and improve coverage further 2014-05-07 16:11:15 +01:00
Antony Male 77f1804724 Improve some error messages given by StyletIoC 2014-05-03 10:39:41 +01:00
Antony Male 44f1631a27 Fix bugs when using the StyletIoC syntax 'Bind(typeof(IInterface<>)).ToAllImplementations()' 2014-05-01 17:44:22 +01:00
Antony Male fc156247b0 Ensure that FactoryCreators also build up the result 2014-03-23 18:13:01 +00:00
Antony Male 695a1a345e Fix namespace 2014-03-15 14:52:57 +00:00
Antony Male 228147b634 Fix WasAutoCreated, and use to allow the user to replace framework-created bindings 2014-03-05 13:27:04 +00:00
Antony Male b4aecbab9a Start work on the README 2014-02-20 14:45:28 +00:00
Antony Male 0bcc6d192d Documentation, bug-fixes, tests... 2014-02-20 13:23:28 +00:00
Antony Male c7d24a75df Allow [Inject] attribute on abstract factory methods to specify key to be injected 2014-02-20 12:39:31 +00:00
Antony Male 3e09ba7e8c Move to a builder/container split
This allows proper fluent syntax to be used, e.g.
    builder.Bind(..).To(..).WithKey(..).InSingletonScope()
as well as making it clear that they can't modify the container after
it's been created. Also means less documentation duplication between
interface and implementation...

Documentation needs fixing, and the exceptions will need looking at to
make sure they still give enough information.
2014-02-19 22:13:00 +00:00
Antony Male a73a5f65d9 Reflector StyletIoC into multiple implementation files 2014-02-18 13:15:24 +00:00