1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.springframework.richclient.core;
17
18 import java.beans.PropertyChangeEvent;
19
20 import org.easymock.IArgumentMatcher;
21 import org.springframework.util.ObjectUtils;
22
23
24
25
26
27
28 public class PropertyChangeEventArgumentMatcher implements IArgumentMatcher {
29
30 private PropertyChangeEvent expected;
31
32 public PropertyChangeEventArgumentMatcher(PropertyChangeEvent expected) {
33 this.expected = expected;
34 }
35
36 public void appendTo(StringBuffer sb) {
37 sb.append("java.beans.PropertyChangeEvent[");
38
39 sb.append("source=").append(expected.getSource()).append(", ");
40 sb.append("propertyName=").append(expected.getPropertyName()).append(", ");
41 sb.append("oldValue=").append(expected.getOldValue()).append(", ");
42 sb.append("newValue=").append(expected.getNewValue()).append("");
43
44 sb.append("]");
45 }
46
47 public boolean matches(Object value) {
48 if (!(value instanceof PropertyChangeEvent)) {
49 return false;
50 }
51
52 PropertyChangeEvent actual = (PropertyChangeEvent) value;
53
54 boolean matches = true;
55 matches = matches && actual.getSource().equals(expected.getSource());
56 matches = matches && actual.getPropertyName().equals(expected.getPropertyName());
57 matches = matches && ObjectUtils.nullSafeEquals(actual.getOldValue(), expected.getOldValue());
58 matches = matches && ObjectUtils.nullSafeEquals(actual.getNewValue(), expected.getNewValue());
59
60 return matches;
61 }
62
63 }