Skip to content

Commit

Permalink
New assertions for exceptions
Browse files Browse the repository at this point in the history
  • Loading branch information
ref-humbold committed May 30, 2024
1 parent eb1204f commit 411e8b7
Show file tree
Hide file tree
Showing 4 changed files with 132 additions and 247 deletions.
4 changes: 2 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -46,11 +46,11 @@ tasks.test {
useJUnitPlatform()
}

task rebuild {
tasks.register('rebuild') {
group 'build'
description 'Deletes the build directory, assembles and tests this project.'
dependsOn 'clean', 'build'
tasks.findByName('build').mustRunAfter('clean')
tasks.named('build').get().mustRunAfter('clean')
}

javadoc.options.addStringOption('Xdoclint:none')
95 changes: 35 additions & 60 deletions src/test/java/dicontainer/DiContainerTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ public void tearDown()
// region registerType (single class)

@Test
public void register_WhenSingleClass_ThenDifferentInstances()
public void registerType_WhenSingleClass_ThenDifferentInstances()
{
// given
testObject.registerType(ClassConstructorDefault.class);
Expand All @@ -51,7 +51,7 @@ public void register_WhenSingleClass_ThenDifferentInstances()
}

@Test
public void register_WhenSingleClassAsSingleton_ThenSameInstance()
public void registerType_WhenSingleClassAsSingleton_ThenSameInstance()
{
// given
testObject.registerType(ClassConstructorDefault.class, ConstructionPolicy.SINGLETON);
Expand All @@ -65,7 +65,7 @@ public void register_WhenSingleClassAsSingleton_ThenSameInstance()
}

@Test
public void register_WhenSingleClassChangesSingleton_ThenChangesInstances()
public void registerType_WhenSingleClassChangesSingleton_ThenChangesInstances()
{
// given 1
testObject.registerType(ClassConstructorDefault.class, ConstructionPolicy.SINGLETON);
Expand All @@ -89,30 +89,24 @@ public void register_WhenSingleClassChangesSingleton_ThenChangesInstances()
}

@Test
public void register_WhenSingleClassIsInterface_ThenAbstractTypeException()
public void registerType_WhenSingleClassIsInterface_ThenAbstractTypeException()
{
// when
Throwable throwable =
Assertions.catchThrowable(() -> testObject.registerType(InterfaceBasic.class));
// then
Assertions.assertThat(throwable).isInstanceOf(AbstractTypeException.class);
Assertions.assertThatThrownBy(() -> testObject.registerType(InterfaceBasic.class))
.isInstanceOf(AbstractTypeException.class);
}

@Test
public void register_WhenSingleClassIsAbstractClass_ThenAbstractTypeException()
public void registerType_WhenSingleClassIsAbstractClass_ThenAbstractTypeException()
{
// when
Throwable throwable =
Assertions.catchThrowable(() -> testObject.registerType(ClassBasicAbstract.class));
// then
Assertions.assertThat(throwable).isInstanceOf(AbstractTypeException.class);
Assertions.assertThatThrownBy(() -> testObject.registerType(ClassBasicAbstract.class))
.isInstanceOf(AbstractTypeException.class);
}

// endregion
// region registerType [inheritance]

@Test
public void register_WhenInheritanceFromInterface_ThenDifferentInstances()
public void registerType_WhenInheritanceFromInterface_ThenDifferentInstances()
{
// given
testObject.registerType(InterfaceBasic.class, ClassConstructorDefault.class);
Expand All @@ -128,7 +122,7 @@ public void register_WhenInheritanceFromInterface_ThenDifferentInstances()
}

@Test
public void register_WhenInheritanceFromInterfaceAsSingleton_ThenSameInstances()
public void registerType_WhenInheritanceFromInterfaceAsSingleton_ThenSameInstances()
{
// given
testObject.registerType(InterfaceBasic.class, ClassConstructorDefault.class,
Expand All @@ -145,7 +139,7 @@ public void register_WhenInheritanceFromInterfaceAsSingleton_ThenSameInstances()
}

@Test
public void register_WhenInheritanceFromInterfaceChangesSingleton_ThenChangeInstances()
public void registerType_WhenInheritanceFromInterfaceChangesSingleton_ThenChangeInstances()
{
// given 1
testObject.registerType(InterfaceBasic.class, ClassConstructorDefault.class,
Expand Down Expand Up @@ -175,7 +169,7 @@ public void register_WhenInheritanceFromInterfaceChangesSingleton_ThenChangeInst
}

@Test
public void register_WhenInheritanceFromInterfaceChangesClass_ThenInstanceIsDerived()
public void registerType_WhenInheritanceFromInterfaceChangesClass_ThenInstanceIsDerived()
{
// given 1
testObject.registerType(InterfaceBasic.class, ClassConstructorDefault.class);
Expand All @@ -196,7 +190,7 @@ public void register_WhenInheritanceFromInterfaceChangesClass_ThenInstanceIsDeri
}

@Test
public void register_WhenInheritanceFromAbstractClass_ThenInstanceIsDerived()
public void registerType_WhenInheritanceFromAbstractClass_ThenInstanceIsDerived()
{
// given
testObject.registerType(ClassBasicAbstract.class, ClassBasicInheritsFromAbstract.class);
Expand All @@ -208,7 +202,7 @@ public void register_WhenInheritanceFromAbstractClass_ThenInstanceIsDerived()
}

@Test
public void register_WhenInheritanceFromConcreteClass_ThenInstanceIsDerived()
public void registerType_WhenInheritanceFromConcreteClass_ThenInstanceIsDerived()
{
// given
testObject.registerType(ClassConstructorParameterized.class,
Expand All @@ -222,7 +216,7 @@ public void register_WhenInheritanceFromConcreteClass_ThenInstanceIsDerived()
}

@Test
public void register_WhenTwoStepsOfHierarchy_ThenInstanceIsDerived()
public void registerType_WhenTwoStepsOfHierarchy_ThenInstanceIsDerived()
{
// given
testObject.registerType(InterfaceBasic.class, ClassBasicAbstract.class)
Expand Down Expand Up @@ -304,12 +298,9 @@ public void registerInstance_WhenDerivedConcreteClass_ThenRegisteredInstance()
@Test
public void registerInstance_WhenInstanceIsNull_ThenNullInstanceException()
{
// when
Throwable throwable = Assertions.catchThrowable(
Assertions.assertThatThrownBy(
() -> testObject.registerInstance(ClassConstructorDefaultAndParameterized.class,
null));
// then
Assertions.assertThat(throwable).isInstanceOf(NullInstanceException.class);
null)).isInstanceOf(NullInstanceException.class);
}

// endregion
Expand All @@ -318,51 +309,38 @@ public void registerInstance_WhenInstanceIsNull_ThenNullInstanceException()
@Test
public void resolve_WhenMultipleAnnotatedConstructors_ThenMultipleAnnotatedConstructorsException()
{
// when
Throwable throwable = Assertions.catchThrowable(
() -> testObject.resolve(ClassConstructorMultipleAnnotated.class));
// then
Assertions.assertThat(throwable).isInstanceOf(MultipleAnnotatedConstructorsException.class);
Assertions.assertThatThrownBy(
() -> testObject.resolve(ClassConstructorMultipleAnnotated.class))
.isInstanceOf(MultipleAnnotatedConstructorsException.class);
}

@Test
public void resolve_WhenNoPublicConstructors_ThenNoSuitableConstructorException()
{
// when
Throwable throwable =
Assertions.catchThrowable(() -> testObject.resolve(ClassConstructorPrivate.class));
// then
Assertions.assertThat(throwable).isInstanceOf(NoSuitableConstructorException.class);
Assertions.assertThatThrownBy(() -> testObject.resolve(ClassConstructorPrivate.class))
.isInstanceOf(NoSuitableConstructorException.class);
}

@Test
public void resolve_WhenDependencySetterHasReturnType_ThenIncorrectDependencySetterException()
{
// when
Throwable throwable = Assertions.catchThrowable(
() -> testObject.resolve(ClassSetterIncorrectReturnType.class));
// then
Assertions.assertThat(throwable).isInstanceOf(IncorrectDependencySetterException.class);
Assertions.assertThatThrownBy(
() -> testObject.resolve(ClassSetterIncorrectReturnType.class))
.isInstanceOf(IncorrectDependencySetterException.class);
}

@Test
public void resolve_WhenDependencySetterHasNoParameters_ThenIncorrectDependencySetterException()
{
// when
Throwable throwable = Assertions.catchThrowable(
() -> testObject.resolve(ClassSetterWithoutParameters.class));
// then
Assertions.assertThat(throwable).isInstanceOf(IncorrectDependencySetterException.class);
Assertions.assertThatThrownBy(() -> testObject.resolve(ClassSetterWithoutParameters.class))
.isInstanceOf(IncorrectDependencySetterException.class);
}

@Test
public void resolve_WhenDependencySetterNameDoesNotStartWithSet_ThenIncorrectDependencySetterException()
{
// when
Throwable throwable =
Assertions.catchThrowable(() -> testObject.resolve(ClassSetterIncorrectName.class));
// then
Assertions.assertThat(throwable).isInstanceOf(IncorrectDependencySetterException.class);
Assertions.assertThatThrownBy(() -> testObject.resolve(ClassSetterIncorrectName.class))
.isInstanceOf(IncorrectDependencySetterException.class);
}

@Test
Expand Down Expand Up @@ -399,11 +377,10 @@ public void resolve_WhenDoubleDependencySetter_ThenIncorrectDependencySetterExce
// given
testObject.registerType(InterfaceSetterMultipleParameters.class,
ClassSetterMultipleParameters.class);
// when
Throwable throwable = Assertions.catchThrowable(
() -> testObject.resolve(InterfaceSetterMultipleParameters.class));
// then
Assertions.assertThat(throwable).isInstanceOf(IncorrectDependencySetterException.class);
Assertions.assertThatThrownBy(
() -> testObject.resolve(InterfaceSetterMultipleParameters.class))
.isInstanceOf(IncorrectDependencySetterException.class);
}

@Test
Expand Down Expand Up @@ -452,10 +429,8 @@ public void buildUp_WhenDependencySetterHasMultipleParameters_ThenIncorrectDepen
{
// given
InterfaceSetterMultipleParameters instance = new ClassSetterMultipleParameters();
// when
Throwable throwable = Assertions.catchThrowable(() -> testObject.buildUp(instance));
// then
Assertions.assertThat(throwable).isInstanceOf(IncorrectDependencySetterException.class);
Assertions.assertThatThrownBy(() -> testObject.buildUp(instance))
.isInstanceOf(IncorrectDependencySetterException.class);
}

@Test
Expand Down
Loading

0 comments on commit 411e8b7

Please sign in to comment.