1 package org.apache.maven.scm.provider.accurev;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.maven.scm.provider.accurev.Transaction.Version;
23 import org.hamcrest.Description;
24 import org.hamcrest.Matcher;
25 import org.hamcrest.TypeSafeMatcher;
26
27 public class VersionMatcher
28 extends TypeSafeMatcher<Version>
29 {
30
31 private Long elementId;
32
33 private String path;
34
35 private String virtual;
36
37 private String real;
38
39 public VersionMatcher( Long elementId, String path, String virtual, String real )
40 {
41 this.elementId = elementId;
42 this.path = path;
43 this.virtual = virtual;
44 this.real = real;
45 }
46
47 @Override
48 public boolean matchesSafely( Version v )
49 {
50 return elementId.equals( v.getElementId() ) && path.equals( v.getElementName() )
51 && virtual.equals( v.getVirtualSpec() ) && real.equals( v.getRealSpec() );
52 }
53
54 public void describeTo( Description desc )
55 {
56 desc.appendText( "version with id=" + elementId + " virtual=" + virtual + " real=" + real + " path=" + path );
57
58 }
59
60 public static Matcher<Version> version( Long elementId, String path, String virtual, String real )
61 {
62 return new VersionMatcher( elementId, path, virtual, real );
63 }
64 }