[ bodybuilder2 ]
#!/usr/bin/env rhino load('bb2lib.js'); importPackage(Packages.rubbish.bb2.asserter); importPackage(Packages.rubbish.bb2.inspector); asserter = AsserterFactory.getAsserter(); inspector = InspectorFactory.getInspector(); expected = [ "じゅげむじゅげむ", 99, { 文字列: "ごこうのすりきれ", 数値 : 999, 配列 : [ "ぱいぽぱいぽ", "しゅーりんがん", [ "あいうえお", "かきくけこ" ].set() ].ary() }.map() ].list() actual = [ "じゅげむじゅげむ", 99, { 文字列: "ごこうのすりきれ", 数値 : 999, 配列 : [ "ぱいぽぱいぽ", "シューリンガン", [ "あいうえお", "かきくけこ" ].set() ].ary() }.map() ].list() print('# expected ############################'); inspector.inspect(expected); print('\n# actual ##############################'); inspector.inspect(actual); print('\n# assertion ###########################'); asserter.assertEquals(expected, actual);
# expected ############################ ArrayList(3) { [0]=> String(8) "じゅげむじゅげむ" [1]=> Double "99.0" [2]=> HashMap(3) { ["配列"]=> Object[](3) { [0]=> String(6) "ぱいぽぱいぽ" [1]=> String(7) "しゅーりんがん" [2]=> LinkedHashSet(2) { [0]=> String(5) "あいうえお" [1]=> String(5) "かきくけこ" } } ["数値"]=> Double "999.0" ["文字列"]=> String(8) "ごこうのすりきれ" } } # actual ############################## ArrayList(3) { [0]=> String(8) "じゅげむじゅげむ" [1]=> Double "99.0" [2]=> HashMap(3) { ["配列"]=> Object[](3) { [0]=> String(6) "ぱいぽぱいぽ" [1]=> String(7) "シューリンガン" [2]=> LinkedHashSet(2) { [0]=> String(5) "あいうえお" [1]=> String(5) "かきくけこ" } } ["数値"]=> Double "999.0" ["文字列"]=> String(8) "ごこうのすりきれ" } } # assertion ########################### Exception in thread "main" junit.framework.AssertionFailedError: objects differ expected:<しゅーりんがん> but was:<シューリンガン> ArrayList(3) { [2]=> HashMap(3) { ["配列"]=> Object[](3) { [1]=> String(7) at rubbish.bb2.asserter.impl.AbstractAsserter.rethrow(AbstractAsserter.java:48) at rubbish.bb2.asserter.impl.AbstractAsserter.rethrow(AbstractAsserter.java:31) at rubbish.bb2.asserter.impl.DefaultAsserter.assertEquals(DefaultAsserter.java:23) at rubbish.bb2.asserter.impl.ArrayAsserter.assertEquals(ArrayAsserter.java:24) at rubbish.bb2.asserter.impl.MapAsserter.assertEquals(MapAsserter.java:28) at rubbish.bb2.asserter.impl.CollectionAsserter.assertEquals(CollectionAsserter.java:29) at rubbish.bb2.asserter.AsserterFactory$1.assertEquals(AsserterFactory.java:30) at rubbish.bb2.asserter.impl.AbstractAsserter.assertEquals(AbstractAsserter.java:21) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:142) at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:201) at org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:74) at org.mozilla.javascript.gen.c1._c0(./sample.js:52) at org.mozilla.javascript.gen.c1.call(./sample.js) at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:337) at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:2755) at org.mozilla.javascript.gen.c1.call(./sample.js) at org.mozilla.javascript.gen.c1.exec(./sample.js) at org.mozilla.javascript.tools.shell.Main.evaluateScript(Main.java:477) at org.mozilla.javascript.tools.shell.Main.processFileSecure(Main.java:399) at org.mozilla.javascript.tools.shell.Main.processFile(Main.java:365) at org.mozilla.javascript.tools.shell.Main.processSource(Main.java:356) at org.mozilla.javascript.tools.shell.Main.processFiles(Main.java:153) at org.mozilla.javascript.tools.shell.Main$IProxy.run(Main.java:83) at org.mozilla.javascript.Context.call(Context.java:528) at org.mozilla.javascript.ContextFactory.call(ContextFactory.java:447) at org.mozilla.javascript.tools.shell.Main.exec(Main.java:136) at org.mozilla.javascript.tools.shell.Main.main(Main.java:114)