All right, so we've just completed the lab 212. So let's go ahead and continue on. So we're going to talk about dependency injection. So constructors and methods have can have parameters. A parameter resolveer extension API. So this resolves parameters for an @Test and lifecycle methods and constructors and can register multiple simultaneously. So we have several built in resolve as we have testInfo, repetitionInfo, testReporter and parameterResolver. So we're going to talk about dynamic, we're going to give a quick overview and dynamic testing. So conventional tests using @Test are static they are known at compile time. So a dynamic test is registered at runtime. So as a lambda expression in a stream or collection etc. By a method annotated with the @Test factory and as a dynamic container for dynamic nesting. So @Test factory let's talk about that. Test factory is used to signal that the annotated method is a test factory method. So unlike @Test methods, a test factory is not itself a test case or test method but it's instead a factory for test cases like test factory methods. So our test factory methods cannot be private or static and you must have a return statement of type stream collection, iterable or operator of DynamicNode instances. So class DynamicTestTest. @Ttest factory with a stream of DynamicTestTest. So what we're going to return is we're going to return and it's stream and in stream and iterate in to n+2 and we're going to limit this to 10. So it's going to iterate from 0 to 10 and n will be plus 2. And we're going to map this to object so we're going to take n and we're going to take our DynamicTest Our Dynamictest of n and we're going to then assert that it is even. So it's essentially a really fancy test to go from each of the numbers 0 through 10. And we're going to assert that they or even or odd. Because Modelo 2 is either going to return 1 or 0 and if it equals 0 then it is even. And since we're adding to all these are going to pass. So here's how we'll see that we see dynamic to 0, 2, 4, 6 and since this run 10 this runs 10 times. Sorry, from 0 and getting to 18 instead of 20. Yeah, that makes more sense. All right, so 0, 2, 4, 6, 8, 10, 12 14, 16, 18, those are all even numbers. Now if we didn't do plus 2 and we did plus 1 we would go from 0, 1, 2, 3, 4, 5, 6, 7, 8 and then we would stop at 9 because we started at 0. And so right here this is what we're doing the name this first section here you can see dynamic test n, so we're taking n. But we're essentially just testing to see whether these are all even or odd as our value is changing dynamically through our test. So that brings us to our module 3 exercise. We're going to do Junit 5 Dynamic Testing. And so in this exercise you're going to complete these tasks. Were created dynamic tests using Junit 5 annotations. And we're just essentially going to create some dynamic tests for either student registration or student. We have our directory setup from the West Lab and we have the same constraints. So we're going to use dynamic testing to test the student and student registration classes. And we're going to include testing with the test factory annotation. We're going to go ahead and look at that lab now in the next video and I'll see you there.