mockito-core-2.23.4.jar
登录
|
org.mockito:mockito-core:2.23.4
META-INF
org
mockito
session
package-info.java
MockitoSession.java
MockitoAnnotations.java
internal
session
package-info.java
configuration
creation
matchers
MockitoCore.java
reporting
util
InternalMockHandler.java
handler
listeners
exceptions
framework
runners
invocation
stubbing
debugging
progress
MockingProgressImpl.java
package-info.java
SequenceNumber.java
ThreadSafeMockingProgress.java
ArgumentMatcherStorageImpl.java
ArgumentMatcherStorage.java
MockingProgress.java
junit
verification
hamcrest
InOrderImpl.java
Matchers.java
configuration
creation
Captor.java
InjectMocks.java
plugins
ArgumentMatchers.java
InOrder.java
Incubating.java
BDDMockito.java
MockitoFramework.java
MockingDetails.java
quality
AdditionalMatchers.java
ArgumentCaptor.java
Spy.java
codegen
mock
NotExtensible.java
listeners
exceptions
Mockito.java
runners
invocation
CheckReturnValue.java
stubbing
Answers.java
Mock.java
ArgumentMatcher.java
junit
AdditionalAnswers.java
verification
hamcrest
MockSettings.java
MockitoDebugger.java
LICENSE
ArgumentMatcherStorageImpl.java
清空
类结构
/* * Copyright (c) 2007 Mockito contributors * This program is made available under the terms of the MIT License. */ package org.mockito.internal.progress; import org.mockito.
ArgumentMatcher
; import org.mockito.internal.matchers.
And
; import org.mockito.internal.matchers.
LocalizedMatcher
; import org.mockito.internal.matchers.
Not
; import org.mockito.internal.matchers.
Or
; import static java.util.
Collections
.emptyList; import static org.mockito.internal.exceptions.
Reporter
.incorrectUseOfAdditionalMatchers; import static org.mockito.internal.exceptions.
Reporter
.misplacedArgumentMatcher; import static org.mockito.internal.exceptions.
Reporter
.reportNoSubMatchersFound; import java.util.*; public class
ArgumentMatcherStorageImpl
implements
ArgumentMatcherStorage
{ private static final int
TWO_SUB_MATCHERS
= 2; private static final int
ONE_SUB_MATCHER
= 1; private final
Stack
<
LocalizedMatcher
>
matcherStack
= new
Stack
<
LocalizedMatcher
>(); public void
reportMatcher
(
ArgumentMatcher
<?>
matcher
) {
matcherStack
.
push
(new
LocalizedMatcher
(
matcher
)); } public
List
<
LocalizedMatcher
>
pullLocalizedMatchers
() { if (
matcherStack
.
isEmpty
()) { return
emptyList
(); }
List
<
LocalizedMatcher
>
lastMatchers
=
resetStack
(); return
lastMatchers
; } public void
reportAnd
() {
assertStateFor
("And(?)",
TWO_SUB_MATCHERS
);
ArgumentMatcher
<?>
m1
=
popMatcher
();
ArgumentMatcher
<?>
m2
=
popMatcher
();
reportMatcher
(new
And
(
m1
,
m2
)); } public void
reportOr
() {
assertStateFor
("Or(?)",
TWO_SUB_MATCHERS
);
ArgumentMatcher
<?>
m1
=
popMatcher
();
ArgumentMatcher
<?>
m2
=
popMatcher
();
reportMatcher
(new
Or
(
m1
,
m2
)); } public void
reportNot
() {
assertStateFor
("Not(?)",
ONE_SUB_MATCHER
);
ArgumentMatcher
<?>
m
=
popMatcher
();
reportMatcher
(new
Not
(
m
)); } public void
validateState
() { if (!
matcherStack
.
isEmpty
()) {
List
<
LocalizedMatcher
>
lastMatchers
=
resetStack
(); throw
misplacedArgumentMatcher
(
lastMatchers
); } } public void
reset
() {
matcherStack
.
clear
(); } private void
assertStateFor
(
String
additionalMatcherName
, int
subMatchersCount
) { if (
matcherStack
.
isEmpty
()) { throw
reportNoSubMatchersFound
(
additionalMatcherName
); } if (
matcherStack
.
size
() <
subMatchersCount
) {
List
<
LocalizedMatcher
>
lastMatchers
=
resetStack
(); throw
incorrectUseOfAdditionalMatchers
(
additionalMatcherName
,
subMatchersCount
,
lastMatchers
); } } private
ArgumentMatcher
<?>
popMatcher
() { return
matcherStack
.
pop
().
getMatcher
(); } private
List
<
LocalizedMatcher
>
resetStack
() {
ArrayList
<
LocalizedMatcher
>
lastMatchers
= new
ArrayList
<
LocalizedMatcher
>(
matcherStack
);
reset
(); return
lastMatchers
; } }
查找资源
Jre/Lib
输入类名或文件名
类结构窗口