mockito new tutorial
This commit is contained in:
		
							parent
							
								
									cf73a09b62
								
							
						
					
					
						commit
						ab9969a393
					
				
							
								
								
									
										36
									
								
								mockito/.classpath
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								mockito/.classpath
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,36 @@ | |||||||
|  | <?xml version="1.0" encoding="UTF-8"?> | ||||||
|  | <classpath> | ||||||
|  | 	<classpathentry kind="src" output="target/classes" path="src/main/java"> | ||||||
|  | 		<attributes> | ||||||
|  | 			<attribute name="optional" value="true"/> | ||||||
|  | 			<attribute name="maven.pomderived" value="true"/> | ||||||
|  | 		</attributes> | ||||||
|  | 	</classpathentry> | ||||||
|  | 	<classpathentry kind="src" output="target/test-classes" path="src/test/java"> | ||||||
|  | 		<attributes> | ||||||
|  | 			<attribute name="optional" value="true"/> | ||||||
|  | 			<attribute name="maven.pomderived" value="true"/> | ||||||
|  | 		</attributes> | ||||||
|  | 	</classpathentry> | ||||||
|  | 	<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"> | ||||||
|  | 		<attributes> | ||||||
|  | 			<attribute name="maven.pomderived" value="true"/> | ||||||
|  | 		</attributes> | ||||||
|  | 	</classpathentry> | ||||||
|  | 	<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources"> | ||||||
|  | 		<attributes> | ||||||
|  | 			<attribute name="maven.pomderived" value="true"/> | ||||||
|  | 		</attributes> | ||||||
|  | 	</classpathentry> | ||||||
|  | 	<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"> | ||||||
|  | 		<attributes> | ||||||
|  | 			<attribute name="maven.pomderived" value="true"/> | ||||||
|  | 		</attributes> | ||||||
|  | 	</classpathentry> | ||||||
|  | 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"> | ||||||
|  | 		<attributes> | ||||||
|  | 			<attribute name="maven.pomderived" value="true"/> | ||||||
|  | 		</attributes> | ||||||
|  | 	</classpathentry> | ||||||
|  | 	<classpathentry kind="output" path="target/classes"/> | ||||||
|  | </classpath> | ||||||
| @ -0,0 +1,7 @@ | |||||||
|  | <?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||||||
|  | <launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType"> | ||||||
|  | <booleanAttribute key="org.eclipse.ui.externaltools.ATTR_BUILDER_ENABLED" value="false"/> | ||||||
|  | <stringAttribute key="org.eclipse.ui.externaltools.ATTR_DISABLED_BUILDER" value="org.eclipse.wst.jsdt.core.javascriptValidator"/> | ||||||
|  | <mapAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS"/> | ||||||
|  | <booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/> | ||||||
|  | </launchConfiguration> | ||||||
							
								
								
									
										13
									
								
								mockito/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								mockito/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,13 @@ | |||||||
|  | *.class | ||||||
|  | 
 | ||||||
|  | #folders# | ||||||
|  | /target | ||||||
|  | /neoDb* | ||||||
|  | /data | ||||||
|  | /src/main/webapp/WEB-INF/classes | ||||||
|  | */META-INF/* | ||||||
|  | 
 | ||||||
|  | # Packaged files # | ||||||
|  | *.jar | ||||||
|  | *.war | ||||||
|  | *.ear | ||||||
							
								
								
									
										36
									
								
								mockito/.project
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								mockito/.project
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,36 @@ | |||||||
|  | <?xml version="1.0" encoding="UTF-8"?> | ||||||
|  | <projectDescription> | ||||||
|  | 	<name>mockito</name> | ||||||
|  | 	<comment></comment> | ||||||
|  | 	<projects> | ||||||
|  | 	</projects> | ||||||
|  | 	<buildSpec> | ||||||
|  | 		<buildCommand> | ||||||
|  | 			<name>org.eclipse.jdt.core.javabuilder</name> | ||||||
|  | 			<arguments> | ||||||
|  | 			</arguments> | ||||||
|  | 		</buildCommand> | ||||||
|  | 		<buildCommand> | ||||||
|  | 			<name>org.eclipse.wst.common.project.facet.core.builder</name> | ||||||
|  | 			<arguments> | ||||||
|  | 			</arguments> | ||||||
|  | 		</buildCommand> | ||||||
|  | 		<buildCommand> | ||||||
|  | 			<name>org.eclipse.wst.validation.validationbuilder</name> | ||||||
|  | 			<arguments> | ||||||
|  | 			</arguments> | ||||||
|  | 		</buildCommand> | ||||||
|  | 		<buildCommand> | ||||||
|  | 			<name>org.eclipse.m2e.core.maven2Builder</name> | ||||||
|  | 			<arguments> | ||||||
|  | 			</arguments> | ||||||
|  | 		</buildCommand> | ||||||
|  | 	</buildSpec> | ||||||
|  | 	<natures> | ||||||
|  | 		<nature>org.eclipse.jem.workbench.JavaEMFNature</nature> | ||||||
|  | 		<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature> | ||||||
|  | 		<nature>org.eclipse.jdt.core.javanature</nature> | ||||||
|  | 		<nature>org.eclipse.m2e.core.maven2Nature</nature> | ||||||
|  | 		<nature>org.eclipse.wst.common.project.facet.core.nature</nature> | ||||||
|  | 	</natures> | ||||||
|  | </projectDescription> | ||||||
							
								
								
									
										5
									
								
								mockito/.settings/.jsdtscope
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								mockito/.settings/.jsdtscope
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,5 @@ | |||||||
|  | <?xml version="1.0" encoding="UTF-8"?> | ||||||
|  | <classpath> | ||||||
|  | 	<classpathentry kind="src" path="src/main/webapp"/> | ||||||
|  | 	<classpathentry kind="output" path=""/> | ||||||
|  | </classpath> | ||||||
							
								
								
									
										95
									
								
								mockito/.settings/org.eclipse.jdt.core.prefs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										95
									
								
								mockito/.settings/org.eclipse.jdt.core.prefs
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,95 @@ | |||||||
|  | eclipse.preferences.version=1 | ||||||
|  | org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore | ||||||
|  | org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull | ||||||
|  | org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault | ||||||
|  | org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable | ||||||
|  | org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled | ||||||
|  | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled | ||||||
|  | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 | ||||||
|  | org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve | ||||||
|  | org.eclipse.jdt.core.compiler.compliance=1.7 | ||||||
|  | org.eclipse.jdt.core.compiler.debug.lineNumber=generate | ||||||
|  | org.eclipse.jdt.core.compiler.debug.localVariable=generate | ||||||
|  | org.eclipse.jdt.core.compiler.debug.sourceFile=generate | ||||||
|  | org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning | ||||||
|  | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error | ||||||
|  | org.eclipse.jdt.core.compiler.problem.autoboxing=ignore | ||||||
|  | org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning | ||||||
|  | org.eclipse.jdt.core.compiler.problem.deadCode=warning | ||||||
|  | org.eclipse.jdt.core.compiler.problem.deprecation=warning | ||||||
|  | org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled | ||||||
|  | org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled | ||||||
|  | org.eclipse.jdt.core.compiler.problem.discouragedReference=warning | ||||||
|  | org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore | ||||||
|  | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error | ||||||
|  | org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore | ||||||
|  | org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore | ||||||
|  | org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled | ||||||
|  | org.eclipse.jdt.core.compiler.problem.fieldHiding=error | ||||||
|  | org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning | ||||||
|  | org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning | ||||||
|  | org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning | ||||||
|  | org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning | ||||||
|  | org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled | ||||||
|  | org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning | ||||||
|  | org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore | ||||||
|  | org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore | ||||||
|  | org.eclipse.jdt.core.compiler.problem.localVariableHiding=error | ||||||
|  | org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning | ||||||
|  | org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore | ||||||
|  | org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore | ||||||
|  | org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled | ||||||
|  | org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore | ||||||
|  | org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore | ||||||
|  | org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled | ||||||
|  | org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning | ||||||
|  | org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore | ||||||
|  | org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning | ||||||
|  | org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning | ||||||
|  | org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore | ||||||
|  | org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error | ||||||
|  | org.eclipse.jdt.core.compiler.problem.nullReference=warning | ||||||
|  | org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error | ||||||
|  | org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning | ||||||
|  | org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning | ||||||
|  | org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore | ||||||
|  | org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore | ||||||
|  | org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore | ||||||
|  | org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore | ||||||
|  | org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning | ||||||
|  | org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning | ||||||
|  | org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore | ||||||
|  | org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore | ||||||
|  | org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore | ||||||
|  | org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore | ||||||
|  | org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore | ||||||
|  | org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled | ||||||
|  | org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning | ||||||
|  | org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled | ||||||
|  | org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled | ||||||
|  | org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore | ||||||
|  | org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error | ||||||
|  | org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled | ||||||
|  | org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning | ||||||
|  | org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning | ||||||
|  | org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore | ||||||
|  | org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning | ||||||
|  | org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore | ||||||
|  | org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore | ||||||
|  | org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore | ||||||
|  | org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore | ||||||
|  | org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled | ||||||
|  | org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled | ||||||
|  | org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled | ||||||
|  | org.eclipse.jdt.core.compiler.problem.unusedImport=warning | ||||||
|  | org.eclipse.jdt.core.compiler.problem.unusedLabel=warning | ||||||
|  | org.eclipse.jdt.core.compiler.problem.unusedLocal=warning | ||||||
|  | org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore | ||||||
|  | org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore | ||||||
|  | org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled | ||||||
|  | org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled | ||||||
|  | org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled | ||||||
|  | org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning | ||||||
|  | org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning | ||||||
|  | org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning | ||||||
|  | org.eclipse.jdt.core.compiler.source=1.7 | ||||||
							
								
								
									
										55
									
								
								mockito/.settings/org.eclipse.jdt.ui.prefs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								mockito/.settings/org.eclipse.jdt.ui.prefs
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,55 @@ | |||||||
|  | #Sat Jan 21 23:04:06 EET 2012 | ||||||
|  | eclipse.preferences.version=1 | ||||||
|  | editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true | ||||||
|  | sp_cleanup.add_default_serial_version_id=true | ||||||
|  | sp_cleanup.add_generated_serial_version_id=false | ||||||
|  | sp_cleanup.add_missing_annotations=true | ||||||
|  | sp_cleanup.add_missing_deprecated_annotations=true | ||||||
|  | sp_cleanup.add_missing_methods=false | ||||||
|  | sp_cleanup.add_missing_nls_tags=false | ||||||
|  | sp_cleanup.add_missing_override_annotations=true | ||||||
|  | sp_cleanup.add_missing_override_annotations_interface_methods=true | ||||||
|  | sp_cleanup.add_serial_version_id=false | ||||||
|  | sp_cleanup.always_use_blocks=true | ||||||
|  | sp_cleanup.always_use_parentheses_in_expressions=true | ||||||
|  | sp_cleanup.always_use_this_for_non_static_field_access=false | ||||||
|  | sp_cleanup.always_use_this_for_non_static_method_access=false | ||||||
|  | sp_cleanup.convert_to_enhanced_for_loop=true | ||||||
|  | sp_cleanup.correct_indentation=true | ||||||
|  | sp_cleanup.format_source_code=true | ||||||
|  | sp_cleanup.format_source_code_changes_only=true | ||||||
|  | sp_cleanup.make_local_variable_final=true | ||||||
|  | sp_cleanup.make_parameters_final=true | ||||||
|  | sp_cleanup.make_private_fields_final=false | ||||||
|  | sp_cleanup.make_type_abstract_if_missing_method=false | ||||||
|  | sp_cleanup.make_variable_declarations_final=true | ||||||
|  | sp_cleanup.never_use_blocks=false | ||||||
|  | sp_cleanup.never_use_parentheses_in_expressions=false | ||||||
|  | sp_cleanup.on_save_use_additional_actions=true | ||||||
|  | sp_cleanup.organize_imports=true | ||||||
|  | sp_cleanup.qualify_static_field_accesses_with_declaring_class=false | ||||||
|  | sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true | ||||||
|  | sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true | ||||||
|  | sp_cleanup.qualify_static_member_accesses_with_declaring_class=true | ||||||
|  | sp_cleanup.qualify_static_method_accesses_with_declaring_class=false | ||||||
|  | sp_cleanup.remove_private_constructors=true | ||||||
|  | sp_cleanup.remove_trailing_whitespaces=true | ||||||
|  | sp_cleanup.remove_trailing_whitespaces_all=true | ||||||
|  | sp_cleanup.remove_trailing_whitespaces_ignore_empty=false | ||||||
|  | sp_cleanup.remove_unnecessary_casts=true | ||||||
|  | sp_cleanup.remove_unnecessary_nls_tags=false | ||||||
|  | sp_cleanup.remove_unused_imports=true | ||||||
|  | sp_cleanup.remove_unused_local_variables=false | ||||||
|  | sp_cleanup.remove_unused_private_fields=true | ||||||
|  | sp_cleanup.remove_unused_private_members=false | ||||||
|  | sp_cleanup.remove_unused_private_methods=true | ||||||
|  | sp_cleanup.remove_unused_private_types=true | ||||||
|  | sp_cleanup.sort_members=false | ||||||
|  | sp_cleanup.sort_members_all=false | ||||||
|  | sp_cleanup.use_blocks=false | ||||||
|  | sp_cleanup.use_blocks_only_for_return_and_throw=false | ||||||
|  | sp_cleanup.use_parentheses_in_expressions=false | ||||||
|  | sp_cleanup.use_this_for_non_static_field_access=true | ||||||
|  | sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true | ||||||
|  | sp_cleanup.use_this_for_non_static_method_access=true | ||||||
|  | sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true | ||||||
							
								
								
									
										4
									
								
								mockito/.settings/org.eclipse.m2e.core.prefs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								mockito/.settings/org.eclipse.m2e.core.prefs
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,4 @@ | |||||||
|  | activeProfiles= | ||||||
|  | eclipse.preferences.version=1 | ||||||
|  | resolveWorkspaceProjects=true | ||||||
|  | version=1 | ||||||
							
								
								
									
										2
									
								
								mockito/.settings/org.eclipse.m2e.wtp.prefs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								mockito/.settings/org.eclipse.m2e.wtp.prefs
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,2 @@ | |||||||
|  | eclipse.preferences.version=1 | ||||||
|  | org.eclipse.m2e.wtp.enabledProjectSpecificPrefs=false | ||||||
							
								
								
									
										8
									
								
								mockito/.settings/org.eclipse.wst.common.component
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								mockito/.settings/org.eclipse.wst.common.component
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,8 @@ | |||||||
|  | <?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0"> | ||||||
|  |     <wb-module deploy-name="spring-rest"> | ||||||
|  |         <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/> | ||||||
|  |         <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/> | ||||||
|  |         <property name="context-root" value="spring-rest"/> | ||||||
|  |         <property name="java-output-path" value="/spring-rest/target/classes"/> | ||||||
|  |     </wb-module> | ||||||
|  | </project-modules> | ||||||
| @ -0,0 +1,4 @@ | |||||||
|  | <?xml version="1.0" encoding="UTF-8"?> | ||||||
|  | <faceted-project> | ||||||
|  |   <installed facet="java" version="1.7"/> | ||||||
|  | </faceted-project> | ||||||
| @ -0,0 +1 @@ | |||||||
|  | org.eclipse.wst.jsdt.launching.baseBrowserLibrary | ||||||
							
								
								
									
										1
									
								
								mockito/.settings/org.eclipse.wst.jsdt.ui.superType.name
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								mockito/.settings/org.eclipse.wst.jsdt.ui.superType.name
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1 @@ | |||||||
|  | Window | ||||||
							
								
								
									
										14
									
								
								mockito/.settings/org.eclipse.wst.validation.prefs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								mockito/.settings/org.eclipse.wst.validation.prefs
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,14 @@ | |||||||
|  | DELEGATES_PREFERENCE=delegateValidatorList | ||||||
|  | USER_BUILD_PREFERENCE=enabledBuildValidatorListorg.eclipse.jst.j2ee.internal.classpathdep.ClasspathDependencyValidator; | ||||||
|  | USER_MANUAL_PREFERENCE=enabledManualValidatorListorg.eclipse.jst.j2ee.internal.classpathdep.ClasspathDependencyValidator; | ||||||
|  | USER_PREFERENCE=overrideGlobalPreferencestruedisableAllValidationfalseversion1.2.303.v201202090300 | ||||||
|  | eclipse.preferences.version=1 | ||||||
|  | override=true | ||||||
|  | suspend=false | ||||||
|  | vals/org.eclipse.jst.jsf.ui.JSFAppConfigValidator/global=FF01 | ||||||
|  | vals/org.eclipse.jst.jsp.core.JSPBatchValidator/global=FF01 | ||||||
|  | vals/org.eclipse.jst.jsp.core.JSPContentValidator/global=FF01 | ||||||
|  | vals/org.eclipse.jst.jsp.core.TLDValidator/global=FF01 | ||||||
|  | vals/org.eclipse.wst.dtd.core.dtdDTDValidator/global=FF01 | ||||||
|  | vals/org.eclipse.wst.jsdt.web.core.JsBatchValidator/global=TF02 | ||||||
|  | vf.version=3 | ||||||
| @ -0,0 +1,2 @@ | |||||||
|  | eclipse.preferences.version=1 | ||||||
|  | org.eclipse.wst.ws.service.policy.projectEnabled=false | ||||||
							
								
								
									
										14
									
								
								mockito/.springBeans
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								mockito/.springBeans
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,14 @@ | |||||||
|  | <?xml version="1.0" encoding="UTF-8"?> | ||||||
|  | <beansProjectDescription> | ||||||
|  | 	<version>1</version> | ||||||
|  | 	<pluginVersion><![CDATA[3.3.0.201307091516-RELEASE]]></pluginVersion> | ||||||
|  | 	<configSuffixes> | ||||||
|  | 		<configSuffix><![CDATA[xml]]></configSuffix> | ||||||
|  | 	</configSuffixes> | ||||||
|  | 	<enableImports><![CDATA[false]]></enableImports> | ||||||
|  | 	<configs> | ||||||
|  | 		<config>src/main/webapp/WEB-INF/api-servlet.xml</config> | ||||||
|  | 	</configs> | ||||||
|  | 	<configSets> | ||||||
|  | 	</configSets> | ||||||
|  | </beansProjectDescription> | ||||||
							
								
								
									
										8
									
								
								mockito/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								mockito/README.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,8 @@ | |||||||
|  | ========= | ||||||
|  | 
 | ||||||
|  | ## Guava Cookbooks and Examples | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | ### Relevant Articles:  | ||||||
|  | - [Guava Collections Cookbook](http://www.baeldung.com/guava-collections) | ||||||
|  | 
 | ||||||
							
								
								
									
										110
									
								
								mockito/pom.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										110
									
								
								mockito/pom.xml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,110 @@ | |||||||
|  | <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||||||
|  | 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||||||
|  | 	<modelVersion>4.0.0</modelVersion> | ||||||
|  | 	<groupId>org.baeldung</groupId> | ||||||
|  | 	<artifactId>spring-rest</artifactId> | ||||||
|  | 	<version>0.1-SNAPSHOT</version> | ||||||
|  | 
 | ||||||
|  | 	<name>spring-rest</name> | ||||||
|  | 
 | ||||||
|  | 	<dependencies> | ||||||
|  | 
 | ||||||
|  | 		<!-- utils --> | ||||||
|  | 
 | ||||||
|  | 		<dependency> | ||||||
|  | 			<groupId>com.google.guava</groupId> | ||||||
|  | 			<artifactId>guava</artifactId> | ||||||
|  | 			<version>15.0</version> | ||||||
|  | 		</dependency> | ||||||
|  | 
 | ||||||
|  | 		<!-- web --> | ||||||
|  | 
 | ||||||
|  | 		<!-- test scoped --> | ||||||
|  | 
 | ||||||
|  | 		<dependency> | ||||||
|  | 			<groupId>junit</groupId> | ||||||
|  | 			<artifactId>junit-dep</artifactId> | ||||||
|  | 			<version>${junit.version}</version> | ||||||
|  | 			<scope>test</scope> | ||||||
|  | 		</dependency> | ||||||
|  | 
 | ||||||
|  | 		<dependency> | ||||||
|  | 			<groupId>org.hamcrest</groupId> | ||||||
|  | 			<artifactId>hamcrest-core</artifactId> | ||||||
|  | 			<version>${org.hamcrest.version}</version> | ||||||
|  | 			<scope>test</scope> | ||||||
|  | 		</dependency> | ||||||
|  | 		<dependency> | ||||||
|  | 			<groupId>org.hamcrest</groupId> | ||||||
|  | 			<artifactId>hamcrest-library</artifactId> | ||||||
|  | 			<version>${org.hamcrest.version}</version> | ||||||
|  | 			<scope>test</scope> | ||||||
|  | 		</dependency> | ||||||
|  | 
 | ||||||
|  | 		<dependency> | ||||||
|  | 			<groupId>org.mockito</groupId> | ||||||
|  | 			<artifactId>mockito-core</artifactId> | ||||||
|  | 			<version>${mockito.version}</version> | ||||||
|  | 			<scope>test</scope> | ||||||
|  | 		</dependency> | ||||||
|  | 
 | ||||||
|  | 	</dependencies> | ||||||
|  | 
 | ||||||
|  | 	<build> | ||||||
|  | 		<finalName>spring-rest</finalName> | ||||||
|  | 		<resources> | ||||||
|  | 			<resource> | ||||||
|  | 				<directory>src/main/resources</directory> | ||||||
|  | 				<filtering>true</filtering> | ||||||
|  | 			</resource> | ||||||
|  | 		</resources> | ||||||
|  | 
 | ||||||
|  | 		<plugins> | ||||||
|  | 
 | ||||||
|  | 			<plugin> | ||||||
|  | 				<groupId>org.apache.maven.plugins</groupId> | ||||||
|  | 				<artifactId>maven-surefire-plugin</artifactId> | ||||||
|  | 				<version>${maven-surefire-plugin.version}</version> | ||||||
|  | 			</plugin> | ||||||
|  | 
 | ||||||
|  | 		</plugins> | ||||||
|  | 
 | ||||||
|  | 	</build> | ||||||
|  | 
 | ||||||
|  | 	<properties> | ||||||
|  | 		<!-- Spring --> | ||||||
|  | 		<org.springframework.version>3.2.4.RELEASE</org.springframework.version> | ||||||
|  | 		<org.springframework.security.version>3.1.4.RELEASE</org.springframework.security.version> | ||||||
|  | 
 | ||||||
|  | 		<!-- persistence --> | ||||||
|  | 		<hibernate.version>4.2.4.Final</hibernate.version> | ||||||
|  | 		<mysql-connector-java.version>5.1.26</mysql-connector-java.version> | ||||||
|  | 
 | ||||||
|  | 		<!-- logging --> | ||||||
|  | 		<org.slf4j.version>1.7.5</org.slf4j.version> | ||||||
|  | 		<logback.version>1.0.11</logback.version> | ||||||
|  | 
 | ||||||
|  | 		<!-- various --> | ||||||
|  | 		<hibernate-validator.version>5.0.1.Final</hibernate-validator.version> | ||||||
|  | 
 | ||||||
|  | 		<!-- util --> | ||||||
|  | 		<guava.version>15.0</guava.version> | ||||||
|  | 		<commons-lang3.version>3.1</commons-lang3.version> | ||||||
|  | 
 | ||||||
|  | 		<!-- testing --> | ||||||
|  | 		<org.hamcrest.version>1.3</org.hamcrest.version> | ||||||
|  | 		<junit.version>4.11</junit.version> | ||||||
|  | 		<mockito.version>1.9.5</mockito.version> | ||||||
|  | 
 | ||||||
|  | 		<httpcore.version>4.2.4</httpcore.version> | ||||||
|  | 		<httpclient.version>4.2.5</httpclient.version> | ||||||
|  | 
 | ||||||
|  | 		<rest-assured.version>1.8.1</rest-assured.version> | ||||||
|  | 		<groovy.version>1.8.9</groovy.version> | ||||||
|  | 
 | ||||||
|  | 		<!-- Maven plugins --> | ||||||
|  | 		<cargo-maven2-plugin.version>1.4.3</cargo-maven2-plugin.version> | ||||||
|  | 		<maven-surefire-plugin.version>2.16</maven-surefire-plugin.version> | ||||||
|  | 	</properties> | ||||||
|  | 
 | ||||||
|  | </project> | ||||||
							
								
								
									
										20
									
								
								mockito/src/main/resources/logback.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								mockito/src/main/resources/logback.xml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,20 @@ | |||||||
|  | <configuration> | ||||||
|  | 
 | ||||||
|  | 	<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> | ||||||
|  | 		<encoder> | ||||||
|  | 			<pattern>web - %date [%thread] %-5level %logger{36} - %message%n | ||||||
|  | 			</pattern> | ||||||
|  | 		</encoder> | ||||||
|  | 	</appender> | ||||||
|  | 
 | ||||||
|  | 	<logger name="org.springframework" level="WARN" /> | ||||||
|  | 	<logger name="org.springframework.transaction" level="WARN" /> | ||||||
|  | 
 | ||||||
|  | 	<!-- in order to debug some marshalling issues, this needs to be TRACE --> | ||||||
|  | 	<logger name="org.springframework.web.servlet.mvc" level="WARN" /> | ||||||
|  | 
 | ||||||
|  | 	<root level="INFO"> | ||||||
|  | 		<appender-ref ref="STDOUT" /> | ||||||
|  | 	</root> | ||||||
|  | 
 | ||||||
|  | </configuration> | ||||||
							
								
								
									
										6
									
								
								mockito/src/main/webapp/WEB-INF/api-servlet.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								mockito/src/main/webapp/WEB-INF/api-servlet.xml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,6 @@ | |||||||
|  | <?xml version="1.0" encoding="UTF-8"?> | ||||||
|  | <beans xmlns="http://www.springframework.org/schema/beans" | ||||||
|  | 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||||||
|  |   xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd" > | ||||||
|  | 
 | ||||||
|  | </beans> | ||||||
							
								
								
									
										42
									
								
								mockito/src/main/webapp/WEB-INF/web.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								mockito/src/main/webapp/WEB-INF/web.xml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,42 @@ | |||||||
|  | <?xml version="1.0" encoding="UTF-8"?> | ||||||
|  | <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||||||
|  | 	xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" | ||||||
|  | 	xsi:schemaLocation=" | ||||||
|  |       http://java.sun.com/xml/ns/javaee | ||||||
|  |       http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" | ||||||
|  | 	id="WebApp_ID" version="3.0"> | ||||||
|  | 
 | ||||||
|  | 	<display-name>Spring MVC Application</display-name> | ||||||
|  | 
 | ||||||
|  | 	<!-- Spring root --> | ||||||
|  | 	<context-param> | ||||||
|  | 		<param-name>contextClass</param-name> | ||||||
|  | 		<param-value> | ||||||
|  |         	org.springframework.web.context.support.AnnotationConfigWebApplicationContext | ||||||
|  |       	</param-value> | ||||||
|  | 	</context-param> | ||||||
|  | 	<context-param> | ||||||
|  | 		<param-name>contextConfigLocation</param-name> | ||||||
|  | 		<param-value>org.baeldung.config</param-value> | ||||||
|  | 	</context-param> | ||||||
|  | 
 | ||||||
|  | 	<listener> | ||||||
|  | 		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> | ||||||
|  | 	</listener> | ||||||
|  | 
 | ||||||
|  | 	<!-- Spring child --> | ||||||
|  | 	<servlet> | ||||||
|  | 		<servlet-name>api</servlet-name> | ||||||
|  | 		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> | ||||||
|  | 		<load-on-startup>1</load-on-startup> | ||||||
|  | 	</servlet> | ||||||
|  | 	<servlet-mapping> | ||||||
|  | 		<servlet-name>api</servlet-name> | ||||||
|  | 		<url-pattern>/</url-pattern> | ||||||
|  | 	</servlet-mapping> | ||||||
|  | 
 | ||||||
|  | 	<welcome-file-list> | ||||||
|  | 		<welcome-file /> | ||||||
|  | 	</welcome-file-list> | ||||||
|  | 
 | ||||||
|  | </web-app> | ||||||
| @ -0,0 +1,189 @@ | |||||||
|  | package org.baeldung.guava; | ||||||
|  | 
 | ||||||
|  | import static org.junit.Assert.assertNull; | ||||||
|  | import static org.junit.Assert.assertTrue; | ||||||
|  | 
 | ||||||
|  | import java.util.Collection; | ||||||
|  | import java.util.Iterator; | ||||||
|  | import java.util.List; | ||||||
|  | import java.util.Map; | ||||||
|  | import java.util.NoSuchElementException; | ||||||
|  | import java.util.Set; | ||||||
|  | 
 | ||||||
|  | import org.junit.Test; | ||||||
|  | 
 | ||||||
|  | import com.google.common.base.Function; | ||||||
|  | import com.google.common.base.Predicate; | ||||||
|  | import com.google.common.base.Predicates; | ||||||
|  | import com.google.common.collect.ImmutableList; | ||||||
|  | import com.google.common.collect.ImmutableMap; | ||||||
|  | import com.google.common.collect.ImmutableSet; | ||||||
|  | import com.google.common.collect.Iterables; | ||||||
|  | import com.google.common.collect.Lists; | ||||||
|  | import com.google.common.collect.Maps; | ||||||
|  | import com.google.common.collect.Sets; | ||||||
|  | 
 | ||||||
|  | @SuppressWarnings("unused") | ||||||
|  | public class GuavaCollectionsExamplesTest { | ||||||
|  | 
 | ||||||
|  |     // tests | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public final void whenDowncastingGenerifiedCollectionToNewGenerifiedCollection_thenCastIsOK() { | ||||||
|  |         final class CastFunction<F, T extends F> implements Function<F, T> { | ||||||
|  |             @SuppressWarnings("unchecked") | ||||||
|  |             @Override | ||||||
|  |             public final T apply(final F from) { | ||||||
|  |                 return (T) from; | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         final List<Number> originalList = Lists.newArrayList(); | ||||||
|  |         final List<Integer> selectedProducts = Lists.transform(originalList, new CastFunction<Number, Integer>()); | ||||||
|  |         System.out.println(selectedProducts); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @SuppressWarnings({ "unchecked" }) | ||||||
|  |     @Test | ||||||
|  |     public final void whenDowncastingGenerifiedCollectionToNewGenerifiedCollection_thenCastIsOK2() { | ||||||
|  |         final List<Number> originalList = Lists.newArrayList(); | ||||||
|  |         final List<Integer> selectedProducts = (List<Integer>) (List<? extends Number>) originalList; | ||||||
|  |         System.out.println(selectedProducts); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public final void whenAddingAnIterableToACollection_thenAddedOK() { | ||||||
|  |         final Iterable<String> iter = Lists.newArrayList(); | ||||||
|  |         final Collection<String> collector = Lists.newArrayList(); | ||||||
|  |         Iterables.addAll(collector, iter); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     // | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public final void whenCheckingIfCollectionContainsElementsByCustomMatch1_thenContains() { | ||||||
|  |         final Iterable<String> theCollection = Lists.newArrayList("a", "bc", "def"); | ||||||
|  |         final boolean contains = Iterables.any(theCollection, new Predicate<String>() { | ||||||
|  |             @Override | ||||||
|  |             public final boolean apply(final String input) { | ||||||
|  |                 return input.length() == 1; | ||||||
|  |             } | ||||||
|  |         }); | ||||||
|  | 
 | ||||||
|  |         assertTrue(contains); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public final void whenCheckingIfCollectionContainsElementsByCustomMatch2_thenContains() { | ||||||
|  |         final Set<String> theCollection = Sets.newHashSet("a", "bc", "def"); | ||||||
|  | 
 | ||||||
|  |         final boolean contains = !Sets.filter(theCollection, new Predicate<String>() { | ||||||
|  |             @Override | ||||||
|  |             public final boolean apply(final String input) { | ||||||
|  |                 return input.length() == 1; | ||||||
|  |             } | ||||||
|  |         }).isEmpty(); | ||||||
|  | 
 | ||||||
|  |         assertTrue(contains); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public final void whenCheckingIfCollectionContainsElementsByCustomMatch3_thenContains() { | ||||||
|  |         final Iterable<String> theCollection = Sets.newHashSet("a", "bc", "def"); | ||||||
|  | 
 | ||||||
|  |         final boolean contains = Iterables.find(theCollection, new Predicate<String>() { | ||||||
|  |             @Override | ||||||
|  |             public final boolean apply(final String input) { | ||||||
|  |                 return input.length() == 1; | ||||||
|  |             } | ||||||
|  |         }) != null; | ||||||
|  | 
 | ||||||
|  |         assertTrue(contains); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     // | ||||||
|  | 
 | ||||||
|  |     @Test(expected = NoSuchElementException.class) | ||||||
|  |     public final void givenNoSearchResult_whenFindingElementInIterable_thenException() { | ||||||
|  |         final Iterable<String> theCollection = Sets.newHashSet("abcd", "efgh", "ijkl"); | ||||||
|  | 
 | ||||||
|  |         final String found = Iterables.find(theCollection, new Predicate<String>() { | ||||||
|  |             @Override | ||||||
|  |             public final boolean apply(final String input) { | ||||||
|  |                 return input.length() == 1; | ||||||
|  |             } | ||||||
|  |         }); | ||||||
|  | 
 | ||||||
|  |         assertNull(found); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public final void givenNoSearchResult_whenFindingElementInIterableWithSpecifiedReturn_thenNoException() { | ||||||
|  |         final Iterable<String> theCollection = Sets.newHashSet("abcd", "efgh", "ijkl"); | ||||||
|  | 
 | ||||||
|  |         final Predicate<String> inputOfLengthOne = new Predicate<String>() { | ||||||
|  |             @Override | ||||||
|  |             public final boolean apply(final String input) { | ||||||
|  |                 return input.length() == 1; | ||||||
|  |             } | ||||||
|  |         }; | ||||||
|  |         final String found = Iterables.find(theCollection, inputOfLengthOne, null); | ||||||
|  | 
 | ||||||
|  |         assertNull(found); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     // purge of nulls | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public final void givenListContainsNulls_whenPurgedOfNulls_thenNoLongerContainsNulls() { | ||||||
|  |         final List<String> values = Lists.newArrayList("a", null, "b", "c"); | ||||||
|  |         final Iterable<String> withoutNulls = Iterables.filter(values, Predicates.notNull()); | ||||||
|  |         System.out.println(withoutNulls); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     // immutable collections | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public final void whenCreatingImuutableCollections_thenNoExceptions() { | ||||||
|  |         final ImmutableList<String> immutableList = ImmutableList.of("a", "b", "c"); | ||||||
|  |         final ImmutableSet<String> immutableSet = ImmutableSet.of("a", "b", "c"); | ||||||
|  |         final ImmutableMap<String, String> imuttableMap = ImmutableMap.of("k1", "v1", "k2", "v2", "k3", "v3"); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public final void whenTransformingCollectionsToImmutable_thenNoExceptions() { | ||||||
|  |         final List<String> muttableList = Lists.newArrayList(); | ||||||
|  |         final ImmutableList<String> immutableList = ImmutableList.copyOf(muttableList); | ||||||
|  | 
 | ||||||
|  |         final Set<String> muttableSet = Sets.newHashSet(); | ||||||
|  |         final ImmutableSet<String> immutableSet = ImmutableSet.copyOf(muttableSet); | ||||||
|  | 
 | ||||||
|  |         final Map<String, String> muttableMap = Maps.newHashMap(); | ||||||
|  |         final ImmutableMap<String, String> imuttableMap = ImmutableMap.copyOf(muttableMap); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public final void whenTransformingCollectionsToImmutableViaBuilders_thenNoExceptions() { | ||||||
|  |         final List<String> muttableList = Lists.newArrayList(); | ||||||
|  |         final ImmutableList<String> immutableList = ImmutableList.<String> builder().addAll(muttableList).build(); | ||||||
|  | 
 | ||||||
|  |         final Set<String> muttableSet = Sets.newHashSet(); | ||||||
|  |         final ImmutableSet<String> immutableSet = ImmutableSet.<String> builder().addAll(muttableSet).build(); | ||||||
|  | 
 | ||||||
|  |         final Map<String, String> muttableMap = Maps.newHashMap(); | ||||||
|  |         final ImmutableMap<String, String> imuttableMap = ImmutableMap.<String, String> builder().putAll(muttableMap).build(); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     // unmodifiable | ||||||
|  | 
 | ||||||
|  |     @Test(expected = UnsupportedOperationException.class) | ||||||
|  |     public final void givenUnmodifiableViewOverIterable_whenTryingToRemove_thenNotAllowed() { | ||||||
|  |         final List<Integer> numbers = Lists.newArrayList(1, 2, 3); | ||||||
|  |         final Iterable<Integer> unmodifiableIterable = Iterables.unmodifiableIterable(numbers); | ||||||
|  |         final Iterator<Integer> iterator = unmodifiableIterable.iterator(); | ||||||
|  |         if (iterator.hasNext()) { | ||||||
|  |             iterator.remove(); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,186 @@ | |||||||
|  | package org.baeldung.guava; | ||||||
|  | 
 | ||||||
|  | import static org.hamcrest.Matchers.contains; | ||||||
|  | import static org.hamcrest.Matchers.equalTo; | ||||||
|  | import static org.hamcrest.Matchers.lessThan; | ||||||
|  | import static org.junit.Assert.assertThat; | ||||||
|  | import static org.junit.Assert.assertTrue; | ||||||
|  | 
 | ||||||
|  | import java.util.Arrays; | ||||||
|  | import java.util.Collections; | ||||||
|  | import java.util.List; | ||||||
|  | import java.util.Map; | ||||||
|  | import java.util.Set; | ||||||
|  | 
 | ||||||
|  | import org.junit.Test; | ||||||
|  | 
 | ||||||
|  | import com.google.common.base.Function; | ||||||
|  | import com.google.common.base.Functions; | ||||||
|  | import com.google.common.base.Predicate; | ||||||
|  | import com.google.common.base.Predicates; | ||||||
|  | import com.google.common.collect.Collections2; | ||||||
|  | import com.google.common.collect.FluentIterable; | ||||||
|  | import com.google.common.collect.Iterables; | ||||||
|  | import com.google.common.collect.Lists; | ||||||
|  | import com.google.common.collect.Maps; | ||||||
|  | import com.google.common.collect.Ordering; | ||||||
|  | import com.google.common.collect.Sets; | ||||||
|  | 
 | ||||||
|  | public class GuavaFunctionalExamplesTest { | ||||||
|  | 
 | ||||||
|  |     // tests | ||||||
|  | 
 | ||||||
|  |     // predicates - filtering | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public final void whenFilteringNumbersAccordingToACondition_thenCorrectResults() { | ||||||
|  |         final List<Integer> numbers = Lists.newArrayList(1, 2, 3, 6, 8, 10, 34, 57, 89); | ||||||
|  |         final Predicate<Integer> acceptEvenNumber = new Predicate<Integer>() { | ||||||
|  |             @Override | ||||||
|  |             public final boolean apply(final Integer number) { | ||||||
|  |                 return (number % 2) == 0; | ||||||
|  |             } | ||||||
|  |         }; | ||||||
|  |         final List<Integer> evenNumbers = Lists.newArrayList(Collections2.filter(numbers, acceptEvenNumber)); | ||||||
|  | 
 | ||||||
|  |         final Integer found = Collections.binarySearch(evenNumbers, 57); | ||||||
|  |         assertThat(found, lessThan(0)); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public final void givenCollectionContainsNulls_whenNullsAreFilteredOut_thenResultingCollectionsHasNoNulls() { | ||||||
|  |         final List<String> withNulls = Lists.newArrayList("a", "bc", null, "def"); | ||||||
|  |         final Iterable<String> withoutNuls = Iterables.filter(withNulls, Predicates.notNull()); | ||||||
|  | 
 | ||||||
|  |         assertTrue(Iterables.all(withoutNuls, Predicates.notNull())); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     // predicates - checking | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public final void givenEvenNumbers_whenCheckingIfAllSatisfyTheEvenPredicate_thenYes() { | ||||||
|  |         final List<Integer> evenNumbers = Lists.newArrayList(2, 6, 8, 10, 34, 90); | ||||||
|  |         final Predicate<Integer> acceptEvenNumber = new Predicate<Integer>() { | ||||||
|  |             @Override | ||||||
|  |             public final boolean apply(final Integer number) { | ||||||
|  |                 return (number % 2) == 0; | ||||||
|  |             } | ||||||
|  |         }; | ||||||
|  | 
 | ||||||
|  |         assertTrue(Iterables.all(evenNumbers, acceptEvenNumber)); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     // negating a predicate | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public final void givenCollectionOfEvenNumbers_whenCheckingThatCollectionContainsNoOddNumber_thenTrue() { | ||||||
|  |         final List<Integer> evenNumbers = Lists.newArrayList(2, 6, 8, 10, 34, 90); | ||||||
|  |         final Predicate<Integer> acceptOddNumber = new Predicate<Integer>() { | ||||||
|  |             @Override | ||||||
|  |             public final boolean apply(final Integer number) { | ||||||
|  |                 return (number % 2) != 0; | ||||||
|  |             } | ||||||
|  |         }; | ||||||
|  | 
 | ||||||
|  |         assertTrue(Iterables.all(evenNumbers, Predicates.not(acceptOddNumber))); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     // other predicates | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public final void when_thenCorrect() { | ||||||
|  |         // CharMatcher.forPredicate(predicate) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     // functions | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public final void whenApplyingSimpleFunctionToInputs_thenCorrectlyTransformed() { | ||||||
|  |         final List<Integer> numbers = Lists.newArrayList(1, 2, 3); | ||||||
|  |         final List<String> numbersAsStrings = Lists.transform(numbers, Functions.toStringFunction()); | ||||||
|  |         assertThat(numbersAsStrings, contains("1", "2", "3")); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public final void whenUsingAnIntermediaryFunctionToOrder_thenCorerctlyOrderedInAlphabeticalOrder() { | ||||||
|  |         final List<Integer> numbersToSort = Arrays.asList(2, 1, 11, 100, 8, 14); | ||||||
|  |         final Ordering<Object> ordering = Ordering.natural().onResultOf(Functions.toStringFunction()); | ||||||
|  |         final List<Integer> inAlphabeticalOrder = ordering.sortedCopy(numbersToSort); | ||||||
|  | 
 | ||||||
|  |         final List<Integer> correctAlphabeticalOrder = Lists.newArrayList(1, 100, 11, 14, 2, 8); | ||||||
|  |         assertThat(correctAlphabeticalOrder, equalTo(inAlphabeticalOrder)); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public final void whenChainingPredicatesAndFunctions_thenCorrectResults() { | ||||||
|  |         final List<Integer> numbers = Arrays.asList(2, 1, 11, 100, 8, 14); | ||||||
|  |         final Predicate<Integer> acceptEvenNumber = new Predicate<Integer>() { | ||||||
|  |             @Override | ||||||
|  |             public final boolean apply(final Integer number) { | ||||||
|  |                 return (number % 2) == 0; | ||||||
|  |             } | ||||||
|  |         }; | ||||||
|  |         final Function<Integer, Integer> powerOfTwo = new Function<Integer, Integer>() { | ||||||
|  |             @Override | ||||||
|  |             public final Integer apply(final Integer input) { | ||||||
|  |                 return (int) Math.pow(input, 2); | ||||||
|  |             } | ||||||
|  |         }; | ||||||
|  | 
 | ||||||
|  |         final FluentIterable<Integer> powerOfTwoOnlyForEvenNumbers = FluentIterable.from(numbers).filter(acceptEvenNumber).transform(powerOfTwo); | ||||||
|  |         assertThat(powerOfTwoOnlyForEvenNumbers, contains(4, 10000, 64, 196)); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public final void whenUsingFunctionComposition_thenCorrectResults() { | ||||||
|  |         final List<Integer> numbers = Arrays.asList(2, 3); | ||||||
|  |         final Function<Integer, Integer> powerOfTwo = new Function<Integer, Integer>() { | ||||||
|  |             @Override | ||||||
|  |             public final Integer apply(final Integer input) { | ||||||
|  |                 return (int) Math.pow(input, 2); | ||||||
|  |             } | ||||||
|  |         }; | ||||||
|  | 
 | ||||||
|  |         final List<Integer> result = Lists.transform(numbers, Functions.compose(powerOfTwo, powerOfTwo)); | ||||||
|  |         assertThat(result, contains(16, 81)); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     // Set+Function => Map | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * - see: http://code.google.com/p/guava-libraries/issues/detail?id=56 | ||||||
|  |      */ | ||||||
|  |     @Test | ||||||
|  |     public final void whenMapIsBackedBySetAndFunction_thenCorrect() { | ||||||
|  |         final Function<Integer, Integer> powerOfTwo = new Function<Integer, Integer>() { | ||||||
|  |             @Override | ||||||
|  |             public final Integer apply(final Integer input) { | ||||||
|  |                 return (int) Math.pow(input, 2); | ||||||
|  |             } | ||||||
|  |         }; | ||||||
|  |         final Set<Integer> lowNumbers = Sets.newHashSet(2, 3, 4); | ||||||
|  | 
 | ||||||
|  |         final Map<Integer, Integer> numberToPowerOfTwoMuttable = Maps.asMap(lowNumbers, powerOfTwo); | ||||||
|  |         final Map<Integer, Integer> numberToPowerOfTwoImuttable = Maps.toMap(lowNumbers, powerOfTwo); | ||||||
|  |         assertThat(numberToPowerOfTwoMuttable.get(2), equalTo(4)); | ||||||
|  |         assertThat(numberToPowerOfTwoImuttable.get(2), equalTo(4)); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     // Predicate => Function | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public final void whenConvertingPredicateToFunction_thenCorrect() { | ||||||
|  |         final List<Integer> numbers = Lists.newArrayList(1, 2, 3, 6); | ||||||
|  |         final Predicate<Integer> acceptEvenNumber = new Predicate<Integer>() { | ||||||
|  |             @Override | ||||||
|  |             public final boolean apply(final Integer number) { | ||||||
|  |                 return (number % 2) == 0; | ||||||
|  |             } | ||||||
|  |         }; | ||||||
|  |         final Function<Integer, Boolean> isEventNumberFunction = Functions.forPredicate(acceptEvenNumber); | ||||||
|  |         final List<Boolean> areNumbersEven = Lists.transform(numbers, isEventNumberFunction); | ||||||
|  | 
 | ||||||
|  |         assertThat(areNumbersEven, contains(false, true, false, true)); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,179 @@ | |||||||
|  | package org.baeldung.guava; | ||||||
|  | 
 | ||||||
|  | import static org.hamcrest.Matchers.equalTo; | ||||||
|  | import static org.hamcrest.Matchers.nullValue; | ||||||
|  | import static org.junit.Assert.assertFalse; | ||||||
|  | import static org.junit.Assert.assertThat; | ||||||
|  | import static org.junit.Assert.assertTrue; | ||||||
|  | 
 | ||||||
|  | import java.util.Arrays; | ||||||
|  | import java.util.Collections; | ||||||
|  | import java.util.List; | ||||||
|  | 
 | ||||||
|  | import org.junit.Test; | ||||||
|  | 
 | ||||||
|  | import com.google.common.base.Functions; | ||||||
|  | import com.google.common.collect.Lists; | ||||||
|  | import com.google.common.collect.Ordering; | ||||||
|  | import com.google.common.primitives.Ints; | ||||||
|  | 
 | ||||||
|  | public class GuavaOrderingExamplesTest { | ||||||
|  | 
 | ||||||
|  |     private final class OrderingByLenght extends Ordering<String> { | ||||||
|  |         @Override | ||||||
|  |         public final int compare(final String s1, final String s2) { | ||||||
|  |             return Ints.compare(s1.length(), s2.length()); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     // tests | ||||||
|  | 
 | ||||||
|  |     // dealing with null | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public final void givenCollectionWithNulls_whenSortingWithNullsLast_thenNullsAreLast() { | ||||||
|  |         final List<Integer> toSort = Arrays.asList(3, 5, 4, null, 1, 2); | ||||||
|  |         Collections.sort(toSort, Ordering.natural().nullsLast()); | ||||||
|  |         assertThat(toSort.get(toSort.size() - 1), nullValue()); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public final void givenCollectionWithNulls_whenSortingWithNullsFirst_thenNullsAreFirst() { | ||||||
|  |         final List<Integer> toSort = Arrays.asList(3, 5, 4, null, 1, 2); | ||||||
|  |         Collections.sort(toSort, Ordering.natural().nullsFirst()); | ||||||
|  |         assertThat(toSort.get(0), nullValue()); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public final void whenCollectionIsSortedNullsLastReversed_thenNullAreFirst() { | ||||||
|  |         final List<Integer> toSort = Arrays.asList(3, 5, 4, null, 1, 2); | ||||||
|  |         Collections.sort(toSort, Ordering.natural().nullsLast().reverse()); | ||||||
|  |         assertThat(toSort.get(0), nullValue()); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     // natural ordering | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public final void whenSortingWithNaturalOrdering_thenCorectlySorted() { | ||||||
|  |         final List<Integer> toSort = Arrays.asList(3, 5, 4, 1, 2); | ||||||
|  |         Collections.sort(toSort, Ordering.natural()); | ||||||
|  | 
 | ||||||
|  |         assertTrue(Ordering.natural().isOrdered(toSort)); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     // checking string ordering | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public final void givenCollectionContainsDuplicates_whenCheckingStringOrdering_thenNo() { | ||||||
|  |         final List<Integer> toSort = Arrays.asList(3, 5, 4, 2, 1, 2); | ||||||
|  |         Collections.sort(toSort, Ordering.natural()); | ||||||
|  | 
 | ||||||
|  |         assertFalse(Ordering.natural().isStrictlyOrdered(toSort)); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     // custom - by length | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public final void givenCollectionIsSorted_whenUsingOrderingApiToCheckOrder_thenCheckCanBePerformed() { | ||||||
|  |         final List<String> toSort = Arrays.asList("zz", "aa", "b", "ccc"); | ||||||
|  |         final Ordering<String> byLength = new OrderingByLenght(); | ||||||
|  |         Collections.sort(toSort, byLength); | ||||||
|  | 
 | ||||||
|  |         final Ordering<String> expectedOrder = Ordering.explicit(Lists.newArrayList("b", "zz", "aa", "ccc")); | ||||||
|  |         assertTrue(expectedOrder.isOrdered(toSort)); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public final void whenSortingCollectionsOfStringsByLenght_thenCorrectlySorted() { | ||||||
|  |         final List<String> toSort = Arrays.asList("zz", "aa", "b", "ccc"); | ||||||
|  |         final Ordering<String> byLength = new OrderingByLenght(); | ||||||
|  | 
 | ||||||
|  |         Collections.sort(toSort, byLength); | ||||||
|  | 
 | ||||||
|  |         final Ordering<String> expectedOrder = Ordering.explicit(Lists.newArrayList("b", "zz", "aa", "ccc")); | ||||||
|  |         assertTrue(expectedOrder.isOrdered(toSort)); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public final void whenSortingCollectionsOfStringsByLenghtWithSecondaryNaturalOrdering_thenCorrectlySorted() { | ||||||
|  |         final List<String> toSort = Arrays.asList("zz", "aa", "b", "ccc"); | ||||||
|  |         final Ordering<String> byLength = new OrderingByLenght(); | ||||||
|  | 
 | ||||||
|  |         Collections.sort(toSort, byLength.compound(Ordering.natural())); | ||||||
|  | 
 | ||||||
|  |         final Ordering<String> expectedOrder = Ordering.explicit(Lists.newArrayList("b", "aa", "zz", "ccc")); | ||||||
|  |         assertTrue(expectedOrder.isOrdered(toSort)); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public final void whenSortingCollectionsWithComplexOrderingExample_thenCorrectlySorted() { | ||||||
|  |         final List<String> toSort = Arrays.asList("zz", "aa", null, "b", "ccc"); | ||||||
|  | 
 | ||||||
|  |         Collections.sort(toSort, new OrderingByLenght().reverse().compound(Ordering.natural()).nullsLast()); | ||||||
|  |         System.out.println(toSort); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     // sorted copy | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public final void givenUnorderdList_whenRetrievingSortedCopy_thenSorted() { | ||||||
|  |         final List<String> toSort = Arrays.asList("aa", "b", "ccc"); | ||||||
|  |         final List<String> sortedCopy = new OrderingByLenght().sortedCopy(toSort); | ||||||
|  | 
 | ||||||
|  |         final Ordering<String> expectedOrder = Ordering.explicit(Lists.newArrayList("b", "aa", "ccc")); | ||||||
|  |         assertFalse(expectedOrder.isOrdered(toSort)); | ||||||
|  |         assertTrue(expectedOrder.isOrdered(sortedCopy)); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     // to string | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public final void givenUnorderdList_whenUsingToStringForSortingObjects_thenSortedWithToString() { | ||||||
|  |         final List<Integer> toSort = Arrays.asList(1, 2, 11); | ||||||
|  |         Collections.sort(toSort, Ordering.usingToString()); | ||||||
|  | 
 | ||||||
|  |         final Ordering<Integer> expectedOrder = Ordering.explicit(Lists.newArrayList(1, 11, 2)); | ||||||
|  |         assertTrue(expectedOrder.isOrdered(toSort)); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     // binary search | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public final void whenPerformingBinarySearch_thenFound() { | ||||||
|  |         final List<Integer> toSort = Arrays.asList(1, 2, 11); | ||||||
|  |         Collections.sort(toSort, Ordering.usingToString()); | ||||||
|  |         final int found = Ordering.usingToString().binarySearch(toSort, 2); | ||||||
|  | 
 | ||||||
|  |         System.out.println(found); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     // min/max without actually sorting | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public final void whenFindingTheMinimalElementWithoutSorting_thenFound() { | ||||||
|  |         final List<Integer> toSort = Arrays.asList(2, 1, 11, 100, 8, 14); | ||||||
|  |         final int found = Ordering.natural().min(toSort); | ||||||
|  |         assertThat(found, equalTo(1)); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public final void whenFindingTheFirstFewElements_thenCorrect() { | ||||||
|  |         final List<Integer> toSort = Arrays.asList(2, 1, 11, 100, 8, 14); | ||||||
|  |         final List<Integer> leastOf = Ordering.natural().leastOf(toSort, 3); | ||||||
|  |         final List<Integer> expected = Lists.newArrayList(1, 2, 8); | ||||||
|  |         assertThat(expected, equalTo(leastOf)); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     // order the results of a Function | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public final void givenListOfNumbers_whenRunningAToStringFunctionThenSorting_thenCorrect() { | ||||||
|  |         final List<Integer> toSort = Arrays.asList(2, 1, 11, 100, 8, 14); | ||||||
|  |         final Ordering<Object> ordering = Ordering.natural().onResultOf(Functions.toStringFunction()); | ||||||
|  |         final List<Integer> sortedCopy = ordering.sortedCopy(toSort); | ||||||
|  | 
 | ||||||
|  |         final List<Integer> expected = Lists.newArrayList(1, 100, 11, 14, 2, 8); | ||||||
|  |         assertThat(expected, equalTo(sortedCopy)); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,97 @@ | |||||||
|  | package org.baeldung.hamcrest; | ||||||
|  | 
 | ||||||
|  | import static org.hamcrest.Matchers.contains; | ||||||
|  | import static org.hamcrest.Matchers.containsInAnyOrder; | ||||||
|  | import static org.hamcrest.Matchers.empty; | ||||||
|  | import static org.hamcrest.Matchers.emptyArray; | ||||||
|  | import static org.hamcrest.Matchers.equalTo; | ||||||
|  | import static org.hamcrest.Matchers.everyItem; | ||||||
|  | import static org.hamcrest.Matchers.greaterThan; | ||||||
|  | import static org.hamcrest.Matchers.hasItem; | ||||||
|  | import static org.hamcrest.Matchers.hasItems; | ||||||
|  | import static org.hamcrest.Matchers.hasSize; | ||||||
|  | import static org.hamcrest.Matchers.not; | ||||||
|  | import static org.junit.Assert.assertThat; | ||||||
|  | 
 | ||||||
|  | import java.util.Collections; | ||||||
|  | import java.util.List; | ||||||
|  | import java.util.Map; | ||||||
|  | 
 | ||||||
|  | import org.hamcrest.Matchers; | ||||||
|  | import org.junit.Test; | ||||||
|  | 
 | ||||||
|  | import com.google.common.collect.Lists; | ||||||
|  | import com.google.common.collect.Maps; | ||||||
|  | 
 | ||||||
|  | public class HamcrestExamplesTest { | ||||||
|  | 
 | ||||||
|  |     // tests | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public final void whenVerifyingSingleElementIsPartOfCollection_thenCorrect() { | ||||||
|  |         final List<String> collection = Lists.newArrayList("ab", "cd", "ef"); | ||||||
|  |         assertThat(collection, hasItem("cd")); | ||||||
|  |         assertThat(collection, not(hasItem("zz"))); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public final void whenVerifyingMultipleElementsArePartOfCollection_thenCorrect1() { | ||||||
|  |         final List<String> collection = Lists.newArrayList("ab", "cd", "ef"); | ||||||
|  |         assertThat(collection, hasItems("ef", "cd")); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public final void whenVerifyingMultipleElementsArePartOfCollectionInStrictOrder_thenCorrect2() { | ||||||
|  |         final List<String> collection = Lists.newArrayList("ab", "cd", "ef"); | ||||||
|  |         assertThat(collection, contains("ab", "cd", "ef")); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public final void whenVerifyingMultipleElementsArePartOfCollectionInAnyOrder_thenCorrect2() { | ||||||
|  |         final List<String> collection = Lists.newArrayList("ab", "cd", "ef"); | ||||||
|  |         assertThat(collection, containsInAnyOrder("cd", "ab", "ef")); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public final void givenCollectionIsEmpty_whenChecking_thenEmpty() { | ||||||
|  |         final List<String> collection = Lists.newArrayList(); | ||||||
|  |         assertThat(collection, empty()); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public final void givenCollectionIsNotEmpty_whenChecking_thenNotEmpty() { | ||||||
|  |         final List<String> collection = Lists.newArrayList("a"); | ||||||
|  |         assertThat(collection, not(empty())); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public final void givenMapIsEmpty_whenChecking_thenEmpty() { | ||||||
|  |         final Map<String, String> collection = Maps.newHashMap(); | ||||||
|  |         assertThat(collection, equalTo(Collections.EMPTY_MAP)); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public final void givenArrayIsEmpty_whenChecking_thenEmpty() { | ||||||
|  |         final String[] array = new String[] { "ab" }; | ||||||
|  |         assertThat(array, not(emptyArray())); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public final void whenCollectionSizeIsChecked_thenCorrect() { | ||||||
|  |         final List<String> collection = Lists.newArrayList("ab", "cd", "ef"); | ||||||
|  |         assertThat(collection, hasSize(3)); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public final void whenIterableSizeIsChecked_thenCorrect() { | ||||||
|  |         final Iterable<String> collection = Lists.newArrayList("ab", "cd", "ef"); | ||||||
|  |         assertThat(collection, Matchers.<String> iterableWithSize(3)); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public final void whenCheckingConditionOverEachItem_thenCorrect() { | ||||||
|  |         final List<Integer> collection = Lists.newArrayList(15, 20, 25, 30); | ||||||
|  |         assertThat(collection, everyItem(greaterThan(10))); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | } | ||||||
							
								
								
									
										13
									
								
								mockito/src/test/resources/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								mockito/src/test/resources/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,13 @@ | |||||||
|  | *.class | ||||||
|  | 
 | ||||||
|  | #folders# | ||||||
|  | /target | ||||||
|  | /neoDb* | ||||||
|  | /data | ||||||
|  | /src/main/webapp/WEB-INF/classes | ||||||
|  | */META-INF/* | ||||||
|  | 
 | ||||||
|  | # Packaged files # | ||||||
|  | *.jar | ||||||
|  | *.war | ||||||
|  | *.ear | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user