public class StringDictionaryConstraint : AbstractConstraint {
private StringDictionary _Dictionary;
public StringDictionaryConstraint(StringDictionary dictionary) {
_Dictionary = dictionary;
}
public override bool Eval(object obj) {
if (!(obj is StringDictionary)) {
return false;
}
StringDictionary dic = (StringDictionary)obj;
foreach (String key in dic.Keys) {
if (Equals(_Dictionary[key], dic[key]) == false) {
return false;
}
}
return true;
}
public override string Message {
get {
return "String dictionary objects do not match.";
}
}
}
public class FileInfoConstraint : AbstractConstraint {
private FileInfo _FileInfo;
public FileInfoConstraint(FileInfo fi) {
_FileInfo = fi;
}
public override bool Eval(object obj) {
if (!(obj is FileInfo)) {
return false;
}
FileInfo f = (FileInfo)obj;
if (f.FullName != _FileInfo.FullName) {
return false;
}
return true;
}
public override string Message {
get {
return "FileInfo objects do not match.";
}
}
}