Re: Adding @NonParameterized

Marius Kruger <[email protected]> Sat, 11 Jun 2011 04:39:57 +0200
Newsgroups gmane.comp.java.junit.devel
Message-ID <[email protected]>
--000e0cd2099e479d4b04a5669b53
Content-Type: text/plain; charset=UTF-8

Here is a version with improved validation and error handling.

--000e0cd2099e479d4b04a5669b53
Content-Type: text/x-java; charset=US-ASCII; name="Parameterized.java"
Content-Disposition: attachment; filename="Parameterized.java"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_goryi8q21

LyoKICogVGhpcyBmaWxlIGlzIGEgbW9kaWZpZWQgdmVyc2lvbiBvZiBvcmcuanVuaXQucnVubmVy
cy5QYXJhbWV0ZXJpemVkCiAqIHdoaWNoIGlzIHBhcnQgb2YganVuaXQgYW5kIGlzIGxpY2Vuc2Vk
IHVuZGVyIHRoZSBmb2xsb3dpbmcgbGljZW5jZToKICogQ29tbW9uIFB1YmxpYyBMaWNlbnNlIC0g
diAxLjAKICogaHR0cDovL3d3dy5qdW5pdC5vcmcvbGljZW5zZQogKi8KcGFja2FnZSB6YS5jby5l
bmVyd2ViLnRvb2xib3guanVuaXQ7CgppbXBvcnQgamF2YS5sYW5nLmFubm90YXRpb24uRWxlbWVu
dFR5cGU7CmltcG9ydCBqYXZhLmxhbmcuYW5ub3RhdGlvbi5SZXRlbnRpb247CmltcG9ydCBqYXZh
LmxhbmcuYW5ub3RhdGlvbi5SZXRlbnRpb25Qb2xpY3k7CmltcG9ydCBqYXZhLmxhbmcuYW5ub3Rh
dGlvbi5UYXJnZXQ7CmltcG9ydCBqYXZhLmxhbmcucmVmbGVjdC5Nb2RpZmllcjsKaW1wb3J0IGph
dmEudXRpbC5BcnJheUxpc3Q7CmltcG9ydCBqYXZhLnV0aWwuQ29sbGVjdGlvbnM7CmltcG9ydCBq
YXZhLnV0aWwuSXRlcmF0b3I7CmltcG9ydCBqYXZhLnV0aWwuTGlzdDsKCmltcG9ydCBvcmcuanVu
aXQuQWZ0ZXI7CmltcG9ydCBvcmcuanVuaXQuQWZ0ZXJDbGFzczsKaW1wb3J0IG9yZy5qdW5pdC5C
ZWZvcmU7CmltcG9ydCBvcmcuanVuaXQuQmVmb3JlQ2xhc3M7CmltcG9ydCBvcmcuanVuaXQucnVu
bmVyLlJ1bm5lcjsKaW1wb3J0IG9yZy5qdW5pdC5ydW5uZXIubWFuaXB1bGF0aW9uLk5vVGVzdHNS
ZW1haW5FeGNlcHRpb247CmltcG9ydCBvcmcuanVuaXQucnVubmVyLm5vdGlmaWNhdGlvbi5SdW5O
b3RpZmllcjsKaW1wb3J0IG9yZy5qdW5pdC5ydW5uZXJzLkJsb2NrSlVuaXQ0Q2xhc3NSdW5uZXI7
CmltcG9ydCBvcmcuanVuaXQucnVubmVycy5TdWl0ZTsKaW1wb3J0IG9yZy5qdW5pdC5ydW5uZXJz
Lm1vZGVsLkZyYW1ld29ya01ldGhvZDsKaW1wb3J0IG9yZy5qdW5pdC5ydW5uZXJzLm1vZGVsLklu
aXRpYWxpemF0aW9uRXJyb3I7CmltcG9ydCBvcmcuanVuaXQucnVubmVycy5tb2RlbC5TdGF0ZW1l
bnQ7CmltcG9ydCBvcmcuanVuaXQucnVubmVycy5tb2RlbC5UZXN0Q2xhc3M7CgovKioKICogPHA+
CiAqIFRoZSBjdXN0b20gcnVubmVyIDxjb2RlPlBhcmFtZXRlcml6ZWQ8L2NvZGU+IGltcGxlbWVu
dHMgcGFyYW1ldGVyaXplZCB0ZXN0cy4KICogV2hlbiBydW5uaW5nIGEgcGFyYW1ldGVyaXplZCB0
ZXN0IGNsYXNzLCBpbnN0YW5jZXMgYXJlIGNyZWF0ZWQgZm9yIHRoZQogKiBjcm9zcy1wcm9kdWN0
IG9mIHRoZSB0ZXN0IG1ldGhvZHMgYW5kIHRoZSB0ZXN0IGRhdGEgZWxlbWVudHMuCiAqIDwvcD4K
ICogRm9yIGV4YW1wbGUsIHRvIHRlc3QgYSBGaWJvbmFjY2kgZnVuY3Rpb24sIHdyaXRlOgogKgog
KiA8cHJlPgogKiAmIzA2NDtSdW5XaXRoKFBhcmFtZXRlcml6ZWQuY2xhc3MpCiAqIHB1YmxpYyBj
bGFzcyBGaWJvbmFjY2lUZXN0IHsKICogICAgICYjMDY0O1BhcmFtZXRlcnMKICogICAgIHB1Ymxp
YyBzdGF0aWMgTGlzdCZsdDtPYmplY3RbXSZndDsgZGF0YSgpIHsKICogICAgICAgICByZXR1cm4g
QXJyYXlzLmFzTGlzdChuZXcgT2JqZWN0W11bXSB7CiAqICAgICAgICAgICAgICAgICBGaWJvbmFj
Y2ksCiAqICAgICAgICAgICAgICAgICB7IHswLCAwfSwgezEsIDF9LCB7MiwgMX0sIHszLCAyfSwg
ezQsIDN9LCB7NSwgNX0sCiAqICAgICAgICAgICAgICAgICAgICAgICAgIHs2LCA4fX19KTsKICog
ICAgIH0KICoKICogICAgIHByaXZhdGUgaW50IGZJbnB1dDsKICoKICogICAgIHByaXZhdGUgaW50
IGZFeHBlY3RlZDsKICoKICogICAgIHB1YmxpYyBGaWJvbmFjY2lUZXN0KGludCBpbnB1dCwgaW50
IGV4cGVjdGVkKSB7CiAqICAgICAgICAgZklucHV0ID0gaW5wdXQ7CiAqICAgICAgICAgZkV4cGVj
dGVkID0gZXhwZWN0ZWQ7CiAqICAgICB9CiAqCiAqICAgICAmIzA2NDtUZXN0CiAqICAgICBwdWJs
aWMgdm9pZCB0ZXN0KCkgewogKiAgICAgICAgIGFzc2VydEVxdWFscyhmRXhwZWN0ZWQsIEZpYm9u
YWNjaS5jb21wdXRlKGZJbnB1dCkpOwogKiAgICAgfQogKiB9CiAqIDwvcHJlPgogKiA8cD4KICog
RWFjaCBpbnN0YW5jZSBvZiA8Y29kZT5GaWJvbmFjY2lUZXN0PC9jb2RlPiB3aWxsIGJlIGNvbnN0
cnVjdGVkIHVzaW5nIHRoZQogKiB0d28tYXJndW1lbnQgY29uc3RydWN0b3IgYW5kIHRoZSBkYXRh
IHZhbHVlcyBpbiB0aGUKICogPGNvZGU+JiMwNjQ7UGFyYW1ldGVyczwvY29kZT4gbWV0aG9kLgog
KiA8L3A+CiAqLwpwdWJsaWMgY2xhc3MgUGFyYW1ldGVyaXplZCBleHRlbmRzIFN1aXRlIHsKCiAg
ICAvKioKICAgICAqIEFubm90YXRpb24gZm9yIGEgbWV0aG9kIHdoaWNoIHByb3ZpZGVzIHBhcmFt
ZXRlcnMgdG8gYmUgaW5qZWN0ZWQgaW50byB0aGUKICAgICAqIHRlc3QgY2xhc3MgY29uc3RydWN0
b3IgYnkgPGNvZGU+UGFyYW1ldGVyaXplZDwvY29kZT4KICAgICAqLwogICAgQFJldGVudGlvbihS
ZXRlbnRpb25Qb2xpY3kuUlVOVElNRSkKICAgIEBUYXJnZXQoRWxlbWVudFR5cGUuTUVUSE9EKQog
ICAgcHVibGljIHN0YXRpYyBAaW50ZXJmYWNlIFBhcmFtZXRlcnMgewogICAgfQoKICAgIC8qKgog
ICAgICogQW5ub3RhdGlvbiBmb3IgYSBtZXRob2RzIHdoaWNoIHNob3VsZCBub3QgYmUgcGFyYW1l
dGVyaXplZAogICAgICovCiAgICBAUmV0ZW50aW9uKFJldGVudGlvblBvbGljeS5SVU5USU1FKQog
ICAgQFRhcmdldChFbGVtZW50VHlwZS5NRVRIT0QpCiAgICBwdWJsaWMgc3RhdGljIEBpbnRlcmZh
Y2UgTm9uUGFyYW1ldGVyaXplZCB7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBjbGFzcyBOb1Rl
c3RzRXhjZXB0aW9uIGV4dGVuZHMgRXhjZXB0aW9uIHsKICAgICAgICBwcml2YXRlIHN0YXRpYyBm
aW5hbCBsb25nIHNlcmlhbFZlcnNpb25VSUQgPSAxTDsKCiAgICAgICAgcHVibGljIE5vVGVzdHNF
eGNlcHRpb24oU3RyaW5nIG1lc3NhZ2UpIHsKICAgICAgICAgICAgc3VwZXIobWVzc2FnZSk7CiAg
ICAgICAgfQogICAgfQoKICAgIHByaXZhdGUgY2xhc3MgVGVzdENsYXNzUnVubmVyRm9yUGFyYW1l
dGVycyBleHRlbmRzCiAgICAgICAgICAgIEJsb2NrSlVuaXQ0Q2xhc3NSdW5uZXIgewogICAgICAg
IHByaXZhdGUgZmluYWwgaW50IGZQYXJhbWV0ZXJTZXROdW1iZXI7CgogICAgICAgIHByaXZhdGUg
ZmluYWwgTGlzdDxPYmplY3RbXT4gZlBhcmFtZXRlckxpc3Q7CiAgICAgICAgaW50IHRlc3RNZXRo
b2RDb3VudDsKCiAgICAgICAgVGVzdENsYXNzUnVubmVyRm9yUGFyYW1ldGVycyhDbGFzczw/PiB0
eXBlLAogICAgICAgICAgICAgICAgTGlzdDxPYmplY3RbXT4gcGFyYW1ldGVyTGlzdCwgaW50IGkp
CiAgICAgICAgICAgICAgICB0aHJvd3MgSW5pdGlhbGl6YXRpb25FcnJvciB7CiAgICAgICAgICAg
IHN1cGVyKHR5cGUpOwogICAgICAgICAgICBmUGFyYW1ldGVyTGlzdCA9IHBhcmFtZXRlckxpc3Q7
CiAgICAgICAgICAgIGZQYXJhbWV0ZXJTZXROdW1iZXIgPSBpOwogICAgICAgIH0KCiAgICAgICAg
QE92ZXJyaWRlCiAgICAgICAgcHVibGljIE9iamVjdCBjcmVhdGVUZXN0KCkgdGhyb3dzIEV4Y2Vw
dGlvbiB7CiAgICAgICAgICAgIHJldHVybiBnZXRUZXN0Q2xhc3MoKS5nZXRPbmx5Q29uc3RydWN0
b3IoKS5uZXdJbnN0YW5jZSgKICAgICAgICAgICAgICAgICAgICBjb21wdXRlUGFyYW1zKCkpOwog
ICAgICAgIH0KCiAgICAgICAgcHJpdmF0ZSBPYmplY3RbXSBjb21wdXRlUGFyYW1zKCkgdGhyb3dz
IEV4Y2VwdGlvbiB7CiAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICByZXR1cm4gZlBh
cmFtZXRlckxpc3QuZ2V0KGZQYXJhbWV0ZXJTZXROdW1iZXIpOwogICAgICAgICAgICB9IGNhdGNo
IChDbGFzc0Nhc3RFeGNlcHRpb24gZSkgewogICAgICAgICAgICAgICAgdGhyb3cgbmV3IEV4Y2Vw
dGlvbihTdHJpbmcuZm9ybWF0KAogICAgICAgICAgICAgICAgICAgICAgICAiJXMuJXMoKSBtdXN0
IHJldHVybiBhIENvbGxlY3Rpb24gb2YgYXJyYXlzLiIsCiAgICAgICAgICAgICAgICAgICAgICAg
IGdldFRlc3RDbGFzcygpLmdldE5hbWUoKSwgZ2V0UGFyYW1ldGVyc01ldGhvZCgKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBnZXRUZXN0Q2xhc3MoKSkuZ2V0TmFtZSgpKSk7CiAgICAg
ICAgICAgIH0KICAgICAgICB9CgogICAgICAgIEBPdmVycmlkZQogICAgICAgIHByb3RlY3RlZCBT
dHJpbmcgZ2V0TmFtZSgpIHsKICAgICAgICAgICAgcmV0dXJuIFN0cmluZy5mb3JtYXQoIlslc10i
LCBmUGFyYW1ldGVyU2V0TnVtYmVyKTsKICAgICAgICB9CgogICAgICAgIEBPdmVycmlkZQogICAg
ICAgIHByb3RlY3RlZCBTdHJpbmcgdGVzdE5hbWUoZmluYWwgRnJhbWV3b3JrTWV0aG9kIG1ldGhv
ZCkgewogICAgICAgICAgICByZXR1cm4gU3RyaW5nLmZvcm1hdCgiJXNbJXNdIiwgbWV0aG9kLmdl
dE5hbWUoKSwKICAgICAgICAgICAgICAgICAgICBmUGFyYW1ldGVyU2V0TnVtYmVyKTsKICAgICAg
ICB9CgogICAgICAgIEBPdmVycmlkZQogICAgICAgIHByb3RlY3RlZCB2b2lkIHZhbGlkYXRlQ29u
c3RydWN0b3IoTGlzdDxUaHJvd2FibGU+IGVycm9ycykgewogICAgICAgICAgICB2YWxpZGF0ZU9u
bHlPbmVDb25zdHJ1Y3RvcihlcnJvcnMpOwogICAgICAgIH0KCiAgICAgICAgQE92ZXJyaWRlCiAg
ICAgICAgcHJvdGVjdGVkIHZvaWQgY29sbGVjdEluaXRpYWxpemF0aW9uRXJyb3JzKExpc3Q8VGhy
b3dhYmxlPiBlcnJvcnMpIHsKICAgICAgICAgICAgLy8gc3VwZXIuY29sbGVjdEluaXRpYWxpemF0
aW9uRXJyb3JzKGVycm9ycyk7CiAgICAgICAgICAgIHZhbGlkYXRlUHVibGljVm9pZE5vQXJnTWV0
aG9kcyhCZWZvcmVDbGFzcy5jbGFzcywgdHJ1ZSwgZXJyb3JzKTsKICAgICAgICAgICAgdmFsaWRh
dGVQdWJsaWNWb2lkTm9BcmdNZXRob2RzKEFmdGVyQ2xhc3MuY2xhc3MsIHRydWUsIGVycm9ycyk7
CgogICAgICAgICAgICB2YWxpZGF0ZUNvbnN0cnVjdG9yKGVycm9ycyk7CgogICAgICAgICAgICAv
LyB2YWxpZGF0ZUluc3RhbmNlTWV0aG9kcyhlcnJvcnMpOwogICAgICAgICAgICB2YWxpZGF0ZVB1
YmxpY1ZvaWROb0FyZ01ldGhvZHMoQWZ0ZXIuY2xhc3MsIGZhbHNlLCBlcnJvcnMpOwogICAgICAg
ICAgICB2YWxpZGF0ZVB1YmxpY1ZvaWROb0FyZ01ldGhvZHMoQmVmb3JlLmNsYXNzLCBmYWxzZSwg
ZXJyb3JzKTsKICAgICAgICAgICAgdmFsaWRhdGVUZXN0TWV0aG9kcyhlcnJvcnMpOwoKICAgICAg
ICAgICAgLy8gdmFsaWRhdGVGaWVsZHMoZXJyb3JzKTsKCiAgICAgICAgICAgIGlmIChjb21wdXRl
VGVzdE1ldGhvZHMoKS5zaXplKCkgPT0gMCkKICAgICAgICAgICAgICAgIGVycm9ycy5hZGQobmV3
IE5vVGVzdHNFeGNlcHRpb24oIk5vIHJ1bm5hYmxlIG1ldGhvZHMiKSk7CiAgICAgICAgfQoKICAg
ICAgICBAT3ZlcnJpZGUKICAgICAgICBwcm90ZWN0ZWQgU3RhdGVtZW50IGNsYXNzQmxvY2soUnVu
Tm90aWZpZXIgbm90aWZpZXIpIHsKICAgICAgICAgICAgcmV0dXJuIGNoaWxkcmVuSW52b2tlcihu
b3RpZmllcik7CiAgICAgICAgfQoKICAgICAgICBAT3ZlcnJpZGUKICAgICAgICBwcm90ZWN0ZWQg
TGlzdDxGcmFtZXdvcmtNZXRob2Q+IGNvbXB1dGVUZXN0TWV0aG9kcygpIHsKICAgICAgICAgICAg
TGlzdDxGcmFtZXdvcmtNZXRob2Q+IHJldCA9IHN1cGVyLmNvbXB1dGVUZXN0TWV0aG9kcygpOwog
ICAgICAgICAgICBmb3IgKEl0ZXJhdG9yPEZyYW1ld29ya01ldGhvZD4gaSA9IHJldC5pdGVyYXRv
cigpOyBpLmhhc05leHQoKTspIHsKICAgICAgICAgICAgICAgIEZyYW1ld29ya01ldGhvZCBmcmFt
ZXdvcmtNZXRob2QgPQogICAgICAgICAgICAgICAgICAgIChGcmFtZXdvcmtNZXRob2QpIGkubmV4
dCgpOwogICAgICAgICAgICAgICAgaWYgKGlzUGFyYW1ldGVyaXplZCgpIF4KICAgICAgICAgICAg
ICAgICAgICAhZnJhbWV3b3JrTWV0aG9kLmdldE1ldGhvZCgpLmlzQW5ub3RhdGlvblByZXNlbnQo
CiAgICAgICAgICAgICAgICAgICAgICAgIE5vblBhcmFtZXRlcml6ZWQuY2xhc3MpKSB7CiAgICAg
ICAgICAgICAgICAgICAgaS5yZW1vdmUoKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
fQogICAgICAgICAgICB0ZXN0TWV0aG9kQ291bnQgPSByZXQuc2l6ZSgpOwogICAgICAgICAgICBy
ZXR1cm4gcmV0OwogICAgICAgIH0KCiAgICAgICAgcHJvdGVjdGVkIGJvb2xlYW4gaXNQYXJhbWV0
ZXJpemVkKCkgewogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9CgogICAgICAgIEBP
dmVycmlkZQogICAgICAgIHB1YmxpYyBpbnQgdGVzdENvdW50KCkgewogICAgICAgICAgICByZXR1
cm4gdGVzdE1ldGhvZENvdW50OwogICAgICAgIH0KICAgIH0KCiAgICBwcml2YXRlIGNsYXNzIFRl
c3RDbGFzc1J1bm5lckZvck5vblBhcmFtZXRlcml6ZWQgZXh0ZW5kcwogICAgICAgIFRlc3RDbGFz
c1J1bm5lckZvclBhcmFtZXRlcnMgewoKICAgICAgICBUZXN0Q2xhc3NSdW5uZXJGb3JOb25QYXJh
bWV0ZXJpemVkKENsYXNzPD8+IHR5cGUsCiAgICAgICAgICAgIExpc3Q8T2JqZWN0W10+IHBhcmFt
ZXRlckxpc3QsIGludCBpKQogICAgICAgICAgICB0aHJvd3MgSW5pdGlhbGl6YXRpb25FcnJvciB7
CiAgICAgICAgICAgIHN1cGVyKHR5cGUsIHBhcmFtZXRlckxpc3QsIGkpOwogICAgICAgIH0KCiAg
ICAgICAgcHJvdGVjdGVkIGJvb2xlYW4gaXNQYXJhbWV0ZXJpemVkKCkgewogICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgfQoKICAgIHByaXZhdGUgZmluYWwgQXJyYXlMaXN0
PFJ1bm5lcj4gcnVubmVycyA9IG5ldyBBcnJheUxpc3Q8UnVubmVyPigpOwoKICAgIC8qKgogICAg
ICogT25seSBjYWxsZWQgcmVmbGVjdGl2ZWx5LiBEbyBub3QgdXNlIHByb2dyYW1tYXRpY2FsbHku
CiAgICAgKi8KICAgIHB1YmxpYyBQYXJhbWV0ZXJpemVkKENsYXNzPD8+IGtsYXNzKSB0aHJvd3Mg
VGhyb3dhYmxlIHsKICAgICAgICBzdXBlcihrbGFzcywgQ29sbGVjdGlvbnMuPFJ1bm5lcj4gZW1w
dHlMaXN0KCkpOwogICAgICAgIExpc3Q8T2JqZWN0W10+IHBhcmFtZXRlcnNMaXN0ID0gZ2V0UGFy
YW1ldGVyc0xpc3QoZ2V0VGVzdENsYXNzKCkpOwogICAgICAgIGlmIChwYXJhbWV0ZXJzTGlzdC5z
aXplKCkgPiAwKSB7CiAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICBydW5uZXJzLmFk
ZChuZXcgVGVzdENsYXNzUnVubmVyRm9yTm9uUGFyYW1ldGVyaXplZCgKICAgICAgICAgICAgICAg
ICAgICAgICAgZ2V0VGVzdENsYXNzKCkuZ2V0SmF2YUNsYXNzKCksIHBhcmFtZXRlcnNMaXN0LCAw
KSk7CiAgICAgICAgICAgIH0gY2F0Y2ggKEluaXRpYWxpemF0aW9uRXJyb3IgZSkgewogICAgICAg
ICAgICAgICAgZm9yIChUaHJvd2FibGUgdCA6IGUuZ2V0Q2F1c2VzKCkpIHsKICAgICAgICAgICAg
ICAgICAgICBpZiAoISh0IGluc3RhbmNlb2YgTm9UZXN0c0V4Y2VwdGlvbikpIHsKICAgICAgICAg
ICAgICAgICAgICAgICAgdGhyb3cgZTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAg
Zm9yIChpbnQgaSA9IDA7IGkgPCBwYXJhbWV0ZXJzTGlzdC5zaXplKCk7IGkrKykgewogICAgICAg
ICAgICAgICAgVGVzdENsYXNzUnVubmVyRm9yUGFyYW1ldGVycyBwID0KICAgICAgICAgICAgICAg
ICAgICBuZXcgVGVzdENsYXNzUnVubmVyRm9yUGFyYW1ldGVycyhnZXRUZXN0Q2xhc3MoKQogICAg
ICAgICAgICAgICAgICAgICAgICAuZ2V0SmF2YUNsYXNzKCksCiAgICAgICAgICAgICAgICAgICAg
ICAgIHBhcmFtZXRlcnNMaXN0LCBpKTsKICAgICAgICAgICAgICAgIHJ1bm5lcnMuYWRkKHApOwog
ICAgICAgICAgICB9CiAgICAgICAgfSBjYXRjaCAoSW5pdGlhbGl6YXRpb25FcnJvciBlKSB7CiAg
ICAgICAgICAgIGZvciAoVGhyb3dhYmxlIHQgOiBlLmdldENhdXNlcygpKSB7CiAgICAgICAgICAg
ICAgICBpZiAoISh0IGluc3RhbmNlb2YgTm9UZXN0c0V4Y2VwdGlvbikpIHsKICAgICAgICAgICAg
ICAgICAgICB0aHJvdyBlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAg
fQogICAgfQoKICAgIEBPdmVycmlkZQogICAgcHJvdGVjdGVkIExpc3Q8UnVubmVyPiBnZXRDaGls
ZHJlbigpIHsKICAgICAgICByZXR1cm4gcnVubmVyczsKICAgIH0KCiAgICBAU3VwcHJlc3NXYXJu
aW5ncygidW5jaGVja2VkIikKICAgIHByaXZhdGUgTGlzdDxPYmplY3RbXT4gZ2V0UGFyYW1ldGVy
c0xpc3QoVGVzdENsYXNzIGtsYXNzKQogICAgICAgICAgICB0aHJvd3MgVGhyb3dhYmxlIHsKICAg
ICAgICByZXR1cm4gKExpc3Q8T2JqZWN0W10+KSBnZXRQYXJhbWV0ZXJzTWV0aG9kKGtsYXNzKS5p
bnZva2VFeHBsb3NpdmVseSgKICAgICAgICAgICAgICAgIG51bGwpOwogICAgfQoKICAgIHByaXZh
dGUgRnJhbWV3b3JrTWV0aG9kIGdldFBhcmFtZXRlcnNNZXRob2QoVGVzdENsYXNzIHRlc3RDbGFz
cykKICAgICAgICAgICAgdGhyb3dzIEV4Y2VwdGlvbiB7CiAgICAgICAgTGlzdDxGcmFtZXdvcmtN
ZXRob2Q+IG1ldGhvZHMgPSB0ZXN0Q2xhc3MKICAgICAgICAgICAgICAgIC5nZXRBbm5vdGF0ZWRN
ZXRob2RzKFBhcmFtZXRlcnMuY2xhc3MpOwogICAgICAgIGZvciAoRnJhbWV3b3JrTWV0aG9kIGVh
Y2ggOiBtZXRob2RzKSB7CiAgICAgICAgICAgIGludCBtb2RpZmllcnMgPSBlYWNoLmdldE1ldGhv
ZCgpLmdldE1vZGlmaWVycygpOwogICAgICAgICAgICBpZiAoTW9kaWZpZXIuaXNTdGF0aWMobW9k
aWZpZXJzKSAmJiBNb2RpZmllci5pc1B1YmxpYyhtb2RpZmllcnMpKQogICAgICAgICAgICAgICAg
cmV0dXJuIGVhY2g7CiAgICAgICAgfQoKICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCJObyBw
dWJsaWMgc3RhdGljIHBhcmFtZXRlcnMgbWV0aG9kIG9uIGNsYXNzICIKICAgICAgICAgICAgICAg
ICsgdGVzdENsYXNzLmdldE5hbWUoKSk7CiAgICB9Cgp9Cg==
--000e0cd2099e479d4b04a5669b53
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

------------------------------------------------------------------------------
EditLive Enterprise is the world's most technically advanced content
authoring tool. Experience the power of Track Changes, Inline Image
Editing and ensure content is compliant with Accessibility Checking.
http://p.sf.net/sfu/ephox-dev2dev
--000e0cd2099e479d4b04a5669b53
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Junit-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/junit-devel

--000e0cd2099e479d4b04a5669b53--