From 8f2ddd96e715837439a38cded24b3e2d7d579405 Mon Sep 17 00:00:00 2001 From: srowen Date: Thu, 30 Sep 2010 22:26:48 +0000 Subject: [PATCH] At last update to JUnit 4.x git-svn-id: https://zxing.googlecode.com/svn/trunk@1611 59b500cc-1b3d-0410-9834-0bbf25fbcc57 --- core/build.xml | 6 +- core/lib/junit-4.8.2.jar | Bin 0 -> 237344 bytes core/lib/junit-LICENSE.html | 221 ++++-------------- core/lib/junit.jar | Bin 120640 -> 0 bytes .../oned/rss/expanded/RSSExpandedReader.java | 6 +- .../zxing/AllPositiveBlackBoxTester.java | 4 +- .../AddressBookParsedResultTestCase.java | 11 +- .../result/CalendarParsedResultTestCase.java | 10 +- .../EmailAddressParsedResultTestCase.java | 8 +- .../ExpandedProductParsedResultTestCase.java | 10 +- .../result/GeoParsedResultTestCase.java | 15 +- .../result/ISBNParsedResultTestCase.java | 6 +- .../result/ParsedReaderResultTestCase.java | 41 +++- .../result/ProductParsedResultTestCase.java | 6 +- .../result/SMSMMSParsedResultTestCase.java | 9 +- .../result/TelParsedResultTestCase.java | 6 +- .../result/URIParsedResultTestCase.java | 10 +- .../result/WifiParsedResultTestCase.java | 18 +- .../common/AbstractBlackBoxTestCase.java | 6 +- .../AbstractNegativeBlackBoxTestCase.java | 2 + .../google/zxing/common/BitArrayTestCase.java | 10 +- .../zxing/common/BitMatrixTestCase.java | 10 +- .../zxing/common/BitSourceTestCase.java | 6 +- .../zxing/common/CollectionsTestCase.java | 6 +- .../common/PerspectiveTransformTestCase.java | 13 +- .../AbstractReedSolomonTestCase.java | 4 +- .../ReedSolomonDecoderDataMatrixTestCase.java | 8 +- .../ReedSolomonDecoderQRCodeTestCase.java | 8 +- .../ReedSolomonEncoderQRCodeTestCase.java | 4 + .../DecodedBitStreamParserTestCase.java | 9 +- .../zxing/oned/EAN13WriterTestCase.java | 6 +- .../google/zxing/oned/EAN8WriterTestCase.java | 10 +- .../oned/EANManufacturerOrgSupportTest.java | 6 +- .../zxing/oned/rss/expanded/BinaryUtil.java | 2 + .../oned/rss/expanded/BinaryUtilTest.java | 11 +- .../rss/expanded/BitArrayBuilderTest.java | 15 +- .../ExpandedInformationDecoderTest.java | 6 +- .../RSSExpandedImage2binaryTestCase.java | 65 ++++-- .../RSSExpandedImage2resultTestCase.java | 18 +- .../RSSExpandedImage2stringTestCase.java | 93 +++++--- .../expanded/RSSExpandedInternalTestCase.java | 17 +- .../decoders/AI01_3103_DecoderTest.java | 8 +- .../decoders/AI01_3202_3203_DecoderTest.java | 7 +- .../decoders/AI01_3X0X_1X_DecoderTest.java | 29 ++- .../decoders/AbstractDecoderTest.java | 4 +- .../expanded/decoders/AnyAIDecoderTest.java | 20 +- .../expanded/decoders/FieldParserTest.java | 11 +- .../zxing/qrcode/QRCodeWriterTestCase.java | 10 +- .../qrcode/decoder/DataMaskTestCase.java | 18 +- .../DecodedBitStreamParserTestCase.java | 8 +- .../decoder/ErrorCorrectionLevelTestCase.java | 14 +- .../decoder/FormatInformationTestCase.java | 9 +- .../zxing/qrcode/decoder/ModeTestCase.java | 17 +- .../zxing/qrcode/decoder/VersionTestCase.java | 8 +- .../qrcode/encoder/BitVectorTestCase.java | 12 +- .../zxing/qrcode/encoder/EncoderTestCase.java | 20 +- .../qrcode/encoder/MaskUtilTestCase.java | 11 +- .../qrcode/encoder/MatrixUtilTestCase.java | 15 +- .../zxing/qrcode/encoder/QRCodeTestCase.java | 13 +- 59 files changed, 550 insertions(+), 406 deletions(-) create mode 100644 core/lib/junit-4.8.2.jar delete mode 100644 core/lib/junit.jar diff --git a/core/build.xml b/core/build.xml index ad307cc51..79b7e56e8 100644 --- a/core/build.xml +++ b/core/build.xml @@ -111,7 +111,7 @@ - + @@ -143,7 +143,7 @@ - + @@ -165,7 +165,7 @@ - + diff --git a/core/lib/junit-4.8.2.jar b/core/lib/junit-4.8.2.jar new file mode 100644 index 0000000000000000000000000000000000000000..5b4bb849af9583fec1ea0a0ccc0d571ef49aa8ba GIT binary patch literal 237344 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 - Common Public License - v 1.0 - +Common Public License - v 1.0 +

Common Public License - v 1.0 -

- -

THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC - LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS - AGREEMENT. - +

THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.

- -

1. DEFINITIONS - +

1. DEFINITIONS

"Contribution" means: -

    a) in the case of the initial Contributor, the initial code and documentation distributed under this - Agreement, and
    - b) in the case of each subsequent Contributor:
+
    a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and
    +b) in the case of each subsequent Contributor:
-
    i) changes to the Program, and
+
    i) changes to the Program, and
-
    ii) additions to the Program;
+
    ii) additions to the Program;
-
    where such changes and/or additions to the Program originate from and are distributed by that - particular Contributor. A Contribution 'originates' from a Contributor if it was added to the - Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions - do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with - the Program under their own license agreement, and (ii) are not derivative works of the Program.
+
    where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.

-

"Contributor" means any person or entity that distributes the Program. -

- -

"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by - the use or sale of its Contribution alone or when combined with the Program. - +

"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.

- -

"Program" means the Contributions distributed in accordance with this - Agreement. - +

"Program" means the Contributions distributed in accordance with this Agreement.

- -

"Recipient" means anyone who receives the Program under this Agreement, including all - Contributors. - +

"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.

+

2. GRANT OF RIGHTS -

2. GRANT OF RIGHTS - -

    a) Subject to the terms of this Agreement, each - Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license - to reproduce, prepare derivative works of, publicly - display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative - works, in source code and object code form.
+
    a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.
-
    b) Subject to the terms of this Agreement, each Contributor hereby - grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise - transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall - apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the - Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The - patent license shall not apply to any other combinations which include the Contribution. No hardware per se is - licensed hereunder.
+
    b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.
-
    c) Recipient understands that although each Contributor grants the licenses to its Contributions set - forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other - intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims - brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to - exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any - other intellectual property rights needed, if any. For example, if a third party patent license is required to allow - Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the - Program.
+
    c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.
-
    d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its - Contribution, if any, to grant the copyright license set forth in this Agreement.
+
    d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement.
-

3. REQUIREMENTS +

3. REQUIREMENTS +

A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that: -

A Contributor may choose to distribute the Program in object code form under its own license - agreement, provided that: - -

    a) it complies with the terms and conditions of this Agreement; and
+
    a) it complies with the terms and conditions of this Agreement; and
-
    b) its license agreement:
+
    b) its license agreement:
-
    i) effectively disclaims on behalf of all Contributors all warranties and - conditions, express and implied, including warranties or conditions of title and non-infringement, and implied - warranties or conditions of merchantability and fitness for a particular purpose;
+
    i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose;
-
    ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, - indirect, special, incidental and consequential damages, such as lost profits;
+
    ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits;
-
    iii) states that any provisions which differ from this Agreement are offered by - that Contributor alone and not by any other party; and
+
    iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and
-
    iv) states that source code for the Program is available from such Contributor, and informs licensees - how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.
+
    iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.

When the Program is made available in source code form: -

    a) it must be made available under this Agreement; and
+
    a) it must be made available under this Agreement; and
-
    b) a copy of this Agreement must be included with each copy of the Program.
+
    b) a copy of this Agreement must be included with each copy of the Program.

- -

Contributors may not remove or alter any - copyright notices contained within the Program. - +

Contributors may not remove or alter any copyright notices contained within the Program.

- -

Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that - reasonably allows subsequent Recipients to identify the originator of the Contribution. - +

Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.

- -

4. COMMERCIAL DISTRIBUTION - -

Commercial distributors of software may accept certain responsibilities with respect to end users, - business partners and the like. While this license is intended to facilitate the commercial use of the Program, the - Contributor who includes the Program in a commercial product offering should do so in a manner which does not create - potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product - offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor - ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, - lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by - the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a - commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any - actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) - promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to - control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The - Indemnified Contributor may participate in any such claim at its own expense. - +

4. COMMERCIAL DISTRIBUTION +

Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense.

- -

For example, a Contributor might include the Program in a commercial product offering, Product X. That - Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers - warranties related to Product X, those performance claims and warranties are such Commercial Contributor's - responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other - Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay - any damages as a result, the Commercial Contributor must pay those damages. - +

For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.

- -

5. NO WARRANTY - -

EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT - WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR - CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient - is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this - Agreement, including but not limited to the risks and costs of program errors, compliance with - applicable laws, damage to or loss of data, programs or equipment, and unavailability or - interruption of operations. - +

5. NO WARRANTY +

EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.

- -

6. DISCLAIMER OF LIABILITY - -

EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY - CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON - ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED - OF THE POSSIBILITY OF SUCH DAMAGES. - +

6. DISCLAIMER OF LIABILITY +

EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

- -

7. GENERAL - -

If any provision of this Agreement is invalid or unenforceable under applicable - law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without - further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such - provision valid and enforceable. - +

7. GENERAL +

If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.

- -

If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to - software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor - to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, if - Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) - alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes - such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date - such litigation is filed. - +

If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed.

- -

All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the - material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after - becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to - cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under - this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive. - +

All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.

- -

Everyone is permitted to copy and distribute copies of this Agreement, but in - order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The - Agreement Steward reserves the right to publish new versions (including revisions) of this - Agreement from time to time. No one other than the Agreement Steward has the right to modify - this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement - Steward to a suitable separate entity. Each new version of the Agreement will be given a - distinguishing version number. The Program (including Contributions) may always be distributed subject to the version - of the Agreement under which it was received. In addition, after a new version of the Agreement is published, - Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the - intellectual property of any Contributor under this Agreement, whether expressly, by - implication, estoppel or otherwise. All rights in the Program not - expressly granted under this Agreement are reserved. - +

Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved.

- -

This Agreement is governed by the laws of the State of New York and the intellectual property laws of - the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one - year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation. - +

This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation.

-

diff --git a/core/lib/junit.jar b/core/lib/junit.jar deleted file mode 100644 index c8f711d050eff209321f799d85ebb3bbe305d481..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 120640 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 A>i_@% diff --git a/core/src/com/google/zxing/oned/rss/expanded/RSSExpandedReader.java b/core/src/com/google/zxing/oned/rss/expanded/RSSExpandedReader.java index 6e6ddc63c..7287f5c67 100644 --- a/core/src/com/google/zxing/oned/rss/expanded/RSSExpandedReader.java +++ b/core/src/com/google/zxing/oned/rss/expanded/RSSExpandedReader.java @@ -128,11 +128,11 @@ public final class RSSExpandedReader extends AbstractRSSReader{ ExpandedPair nextPair = retrieveNextPair(row, this.pairs, rowNumber); this.pairs.addElement(nextPair); - if(nextPair.mayBeLast()){ - if(checkChecksum()) { + if (nextPair.mayBeLast()) { + if (checkChecksum()) { return this.pairs; } - if(nextPair.mustBeLast()) { + if (nextPair.mustBeLast()) { throw NotFoundException.getNotFoundInstance(); } } diff --git a/core/test/src/com/google/zxing/AllPositiveBlackBoxTester.java b/core/test/src/com/google/zxing/AllPositiveBlackBoxTester.java index 60eb71a0e..0beb2c933 100644 --- a/core/test/src/com/google/zxing/AllPositiveBlackBoxTester.java +++ b/core/test/src/com/google/zxing/AllPositiveBlackBoxTester.java @@ -162,8 +162,8 @@ public final class AllPositiveBlackBoxTester { long now = System.currentTimeMillis(); AbstractBlackBoxTestCase.SummaryResults results = new AbstractBlackBoxTestCase.SummaryResults(); - for (int x = 0; x < TESTS.length; x++) { - results.add(TESTS[x].testBlackBoxCountingResults(false)); + for (AbstractBlackBoxTestCase test : TESTS) { + results.add(test.testBlackBoxCountingResults(false)); } // This threaded version can't be used yet because BlackPointEstimator (and possibly other code) diff --git a/core/test/src/com/google/zxing/client/result/AddressBookParsedResultTestCase.java b/core/test/src/com/google/zxing/client/result/AddressBookParsedResultTestCase.java index 601708d8d..97e1d28b8 100644 --- a/core/test/src/com/google/zxing/client/result/AddressBookParsedResultTestCase.java +++ b/core/test/src/com/google/zxing/client/result/AddressBookParsedResultTestCase.java @@ -18,7 +18,8 @@ package com.google.zxing.client.result; import com.google.zxing.BarcodeFormat; import com.google.zxing.Result; -import junit.framework.TestCase; +import org.junit.Assert; +import org.junit.Test; import java.util.Arrays; @@ -27,8 +28,9 @@ import java.util.Arrays; * * @author Sean Owen */ -public final class AddressBookParsedResultTestCase extends TestCase { +public final class AddressBookParsedResultTestCase extends Assert { + @Test public void testAddressBookDocomo() { doTest("MECARD:N:Sean Owen;;", null, new String[] {"Sean Owen"}, null, null, null, null, null, null, null, null); doTest("MECARD:NOTE:ZXing Team;N:Sean Owen;URL:google.com;EMAIL:srowen@example.org;;", @@ -36,22 +38,26 @@ public final class AddressBookParsedResultTestCase extends TestCase { "google.com", null, "ZXing Team"); } + @Test public void testAddressBookAU() { doTest("MEMORY:foo\r\nNAME1:Sean\r\nTEL1:+12125551212\r\n", null, new String[] {"Sean"}, null, null, null, new String[] {"+12125551212"}, null, null, null, "foo"); } + @Test public void testVCard() { doTest("BEGIN:VCARD\r\nADR;HOME:123 Main St\r\nVERSION:2.1\r\nN:Owen;Sean\r\nEND:VCARD", null, new String[] {"Sean Owen"}, null, new String[] {"123 Main St"}, null, null, null, null, null, null); } + @Test public void testBizcard() { doTest("BIZCARD:N:Sean;X:Owen;C:Google;A:123 Main St;M:+12125551212;E:srowen@example.org;", null, new String[] {"Sean Owen"}, null, new String[] {"123 Main St"}, new String[] {"srowen@example.org"}, new String[] {"+12125551212"}, "Google", null, null, null); } + @Test public void testSeveralAddresses() { doTest("MECARD:N:Foo Bar;ORG:Company;TEL:5555555555;EMAIL:foo.bar@xyz.com;ADR:City, 10001;" + "ADR:City, 10001;NOTE:This is the memo.;;", @@ -60,6 +66,7 @@ public final class AddressBookParsedResultTestCase extends TestCase { new String[] {"5555555555" }, "Company", null, null, "This is the memo."); } + @Test public void testQuotedPrintable() { doTest("BEGIN:VCARD\r\nADR;HOME;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:;;" + "=35=38=20=4C=79=6E=62=72=6F=6F=6B=0D=0A=43=\r\n" + diff --git a/core/test/src/com/google/zxing/client/result/CalendarParsedResultTestCase.java b/core/test/src/com/google/zxing/client/result/CalendarParsedResultTestCase.java index ec257e3a4..d8bdb368a 100644 --- a/core/test/src/com/google/zxing/client/result/CalendarParsedResultTestCase.java +++ b/core/test/src/com/google/zxing/client/result/CalendarParsedResultTestCase.java @@ -18,15 +18,17 @@ package com.google.zxing.client.result; import com.google.zxing.BarcodeFormat; import com.google.zxing.Result; -import junit.framework.TestCase; +import org.junit.Assert; +import org.junit.Test; /** * Tests {@link CalendarParsedResult}. * * @author Sean Owen */ -public final class CalendarParsedResultTestCase extends TestCase { +public final class CalendarParsedResultTestCase extends Assert { + @Test public void testStartEnd() { doTest( "BEGIN:VCALENDAR\r\nBEGIN:VEVENT\r\n" + @@ -36,6 +38,7 @@ public final class CalendarParsedResultTestCase extends TestCase { null, null, null, "20080504T123456Z", "20080505T234555Z", null); } + @Test public void testStart() { doTest( "BEGIN:VCALENDAR\r\nBEGIN:VEVENT\r\n" + @@ -44,6 +47,7 @@ public final class CalendarParsedResultTestCase extends TestCase { null, null, null, "20080504T123456Z", "20080504T123456Z", null); } + @Test public void testSummary() { doTest( "BEGIN:VCALENDAR\r\nBEGIN:VEVENT\r\n" + @@ -53,6 +57,7 @@ public final class CalendarParsedResultTestCase extends TestCase { null, "foo", null, "20080504T123456Z", "20080504T123456Z", null); } + @Test public void testLocation() { doTest( "BEGIN:VCALENDAR\r\nBEGIN:VEVENT\r\n" + @@ -62,6 +67,7 @@ public final class CalendarParsedResultTestCase extends TestCase { null, null, "Miami", "20080504T123456Z", "20080504T123456Z", null); } + @Test public void testDescription() { doTest( "BEGIN:VCALENDAR\r\nBEGIN:VEVENT\r\n" + diff --git a/core/test/src/com/google/zxing/client/result/EmailAddressParsedResultTestCase.java b/core/test/src/com/google/zxing/client/result/EmailAddressParsedResultTestCase.java index 5f5d82025..1611ea804 100644 --- a/core/test/src/com/google/zxing/client/result/EmailAddressParsedResultTestCase.java +++ b/core/test/src/com/google/zxing/client/result/EmailAddressParsedResultTestCase.java @@ -18,20 +18,23 @@ package com.google.zxing.client.result; import com.google.zxing.BarcodeFormat; import com.google.zxing.Result; -import junit.framework.TestCase; +import org.junit.Assert; +import org.junit.Test; /** * Tests {@link EmailAddressParsedResult}. * * @author Sean Owen */ -public final class EmailAddressParsedResultTestCase extends TestCase { +public final class EmailAddressParsedResultTestCase extends Assert { + @Test public void testEmailAddress() { doTest("srowen@example.org", "srowen@example.org", null, null); doTest("mailto:srowen@example.org", "srowen@example.org", null, null); } + @Test public void testEmailDocomo() { doTest("MATMSG:TO:srowen@example.org;;", "srowen@example.org", null, null); doTest("MATMSG:TO:srowen@example.org;SUB:Stuff;;", "srowen@example.org", "Stuff", null); @@ -39,6 +42,7 @@ public final class EmailAddressParsedResultTestCase extends TestCase { "Stuff", "This is some text"); } + @Test public void testSMTP() { doTest("smtp:srowen@example.org", "srowen@example.org", null, null); doTest("SMTP:srowen@example.org", "srowen@example.org", null, null); diff --git a/core/test/src/com/google/zxing/client/result/ExpandedProductParsedResultTestCase.java b/core/test/src/com/google/zxing/client/result/ExpandedProductParsedResultTestCase.java index 1858bd4ec..434a41235 100644 --- a/core/test/src/com/google/zxing/client/result/ExpandedProductParsedResultTestCase.java +++ b/core/test/src/com/google/zxing/client/result/ExpandedProductParsedResultTestCase.java @@ -28,17 +28,18 @@ package com.google.zxing.client.result; import java.util.Hashtable; -import junit.framework.TestCase; - import com.google.zxing.BarcodeFormat; import com.google.zxing.Result; +import org.junit.Assert; +import org.junit.Test; /** * @author Antonio Manuel Benjumea Conde, Servinform, S.A. * @author Agustín Delgado, Servinform, S.A. */ -public final class ExpandedProductParsedResultTestCase extends TestCase { +public final class ExpandedProductParsedResultTestCase extends Assert { + @Test public void test_RSSExpanded() { String text = "(01)66546(13)001205(3932)4455(3102)6544(123)544654"; String productID = "66546"; @@ -58,8 +59,7 @@ public final class ExpandedProductParsedResultTestCase extends TestCase { uncommonAIs.put("123", "544654"); Result result = new Result(text, null, null, BarcodeFormat.RSS_EXPANDED); - ExpandedProductParsedResult o = ExpandedProductResultParser - .parse(result); + ExpandedProductParsedResult o = ExpandedProductResultParser.parse(result); assertEquals(productID, o.getProductID()); assertEquals(sscc, o.getSscc()); assertEquals(lotNumber, o.getLotNumber()); diff --git a/core/test/src/com/google/zxing/client/result/GeoParsedResultTestCase.java b/core/test/src/com/google/zxing/client/result/GeoParsedResultTestCase.java index 9ae2e76f9..de911d6f5 100644 --- a/core/test/src/com/google/zxing/client/result/GeoParsedResultTestCase.java +++ b/core/test/src/com/google/zxing/client/result/GeoParsedResultTestCase.java @@ -18,15 +18,19 @@ package com.google.zxing.client.result; import com.google.zxing.BarcodeFormat; import com.google.zxing.Result; -import junit.framework.TestCase; +import org.junit.Assert; +import org.junit.Test; /** * Tests {@link com.google.zxing.client.result.GeoParsedResult}. * * @author Sean Owen */ -public final class GeoParsedResultTestCase extends TestCase { +public final class GeoParsedResultTestCase extends Assert { + private static final double EPSILON = 0.0000000001; + + @Test public void testGeo() { doTest("geo:1,2", 1.0, 2.0, 0.0, null); doTest("geo:80.33,-32.3344,3.35", 80.33, -32.3344, 3.35, null); @@ -43,9 +47,10 @@ public final class GeoParsedResultTestCase extends TestCase { ParsedResult result = ResultParser.parseResult(fakeResult); assertSame(ParsedResultType.GEO, result.getType()); GeoParsedResult geoResult = (GeoParsedResult) result; - assertEquals(latitude, geoResult.getLatitude()); - assertEquals(longitude, geoResult.getLongitude()); - assertEquals(altitude, geoResult.getAltitude()); + assertEquals(latitude, geoResult.getLatitude(), EPSILON); + assertEquals(longitude, geoResult.getLongitude(), EPSILON); + assertEquals(altitude, geoResult.getAltitude(), EPSILON); + assertEquals(query, geoResult.getQuery()); } } \ No newline at end of file diff --git a/core/test/src/com/google/zxing/client/result/ISBNParsedResultTestCase.java b/core/test/src/com/google/zxing/client/result/ISBNParsedResultTestCase.java index 4f3b96677..76d096b46 100644 --- a/core/test/src/com/google/zxing/client/result/ISBNParsedResultTestCase.java +++ b/core/test/src/com/google/zxing/client/result/ISBNParsedResultTestCase.java @@ -18,15 +18,17 @@ package com.google.zxing.client.result; import com.google.zxing.BarcodeFormat; import com.google.zxing.Result; -import junit.framework.TestCase; +import org.junit.Assert; +import org.junit.Test; /** * Tests {@link ISBNParsedResult}. * * @author Sean Owen */ -public final class ISBNParsedResultTestCase extends TestCase { +public final class ISBNParsedResultTestCase extends Assert { + @Test public void testISBN() { doTest("9784567890123"); } diff --git a/core/test/src/com/google/zxing/client/result/ParsedReaderResultTestCase.java b/core/test/src/com/google/zxing/client/result/ParsedReaderResultTestCase.java index da5fec6be..00f34de6d 100644 --- a/core/test/src/com/google/zxing/client/result/ParsedReaderResultTestCase.java +++ b/core/test/src/com/google/zxing/client/result/ParsedReaderResultTestCase.java @@ -18,7 +18,8 @@ package com.google.zxing.client.result; import com.google.zxing.BarcodeFormat; import com.google.zxing.Result; -import junit.framework.TestCase; +import org.junit.Assert; +import org.junit.Test; /** * Tests {@link ParsedResult}. @@ -26,8 +27,9 @@ import junit.framework.TestCase; * @author Sean Owen * @author dswitkin@google.com (Daniel Switkin) */ -public final class ParsedReaderResultTestCase extends TestCase { +public final class ParsedReaderResultTestCase extends Assert { + @Test public void testTextType() { doTestResult("", "", ParsedResultType.TEXT); doTestResult("foo", "foo", ParsedResultType.TEXT); @@ -40,6 +42,7 @@ public final class ParsedReaderResultTestCase extends TestCase { ParsedResultType.TEXT); } + @Test public void testBookmarkType() { doTestResult("MEBKM:URL:google.com;;", "http://google.com", ParsedResultType.URI); doTestResult("MEBKM:URL:google.com;TITLE:Google;;", "Google\nhttp://google.com", @@ -50,6 +53,7 @@ public final class ParsedReaderResultTestCase extends TestCase { doTestResult("MEBKM:URL:HTTPS://google.com;;", "https://google.com", ParsedResultType.URI); } + @Test public void testURLTOType() { doTestResult("urlto:foo:bar.com", "foo\nhttp://bar.com", ParsedResultType.URI); doTestResult("URLTO:foo:bar.com", "foo\nhttp://bar.com", ParsedResultType.URI); @@ -57,6 +61,7 @@ public final class ParsedReaderResultTestCase extends TestCase { doTestResult("URLTO::http://bar.com", "http://bar.com", ParsedResultType.URI); } + @Test public void testEmailType() { doTestResult("MATMSG:TO:srowen@example.org;;", "srowen@example.org", ParsedResultType.EMAIL_ADDRESS); @@ -70,6 +75,7 @@ public final class ParsedReaderResultTestCase extends TestCase { "TO:srowen@example.org;SUB:Stuff;BODY:This is some text;;", ParsedResultType.TEXT); } + @Test public void testEmailAddressType() { doTestResult("srowen@example.org", "srowen@example.org", ParsedResultType.EMAIL_ADDRESS); doTestResult("mailto:srowen@example.org", "srowen@example.org", ParsedResultType.EMAIL_ADDRESS); @@ -79,6 +85,7 @@ public final class ParsedReaderResultTestCase extends TestCase { doTestResult("Let's meet @ 2", "Let's meet @ 2", ParsedResultType.TEXT); } + @Test public void testAddressBookType() { doTestResult("MECARD:N:Sean Owen;;", "Sean Owen", ParsedResultType.ADDRESSBOOK); doTestResult("MECARD:TEL:+12125551212;N:Sean Owen;;", "Sean Owen\n+12125551212", @@ -99,27 +106,32 @@ public final class ParsedReaderResultTestCase extends TestCase { ParsedResultType.TEXT); } + @Test public void testAddressBookAUType() { doTestResult("MEMORY:\r\n", "", ParsedResultType.ADDRESSBOOK); doTestResult("MEMORY:foo\r\nNAME1:Sean\r\n", "Sean\nfoo", ParsedResultType.ADDRESSBOOK); doTestResult("TEL1:+12125551212\r\nMEMORY:\r\n", "+12125551212", ParsedResultType.ADDRESSBOOK); } + @Test public void testBizcard() { doTestResult("BIZCARD:N:Sean;X:Owen;C:Google;A:123 Main St;M:+12225551212;E:srowen@example.org;", "Sean Owen\nGoogle\n123 Main St\n+12225551212\nsrowen@example.org", ParsedResultType.ADDRESSBOOK); } + @Test public void testUPCA() { doTestResult("123456789012", "123456789012", ParsedResultType.PRODUCT, BarcodeFormat.UPC_A); doTestResult("1234567890123", "1234567890123", ParsedResultType.PRODUCT, BarcodeFormat.UPC_A); doTestResult("12345678901", "12345678901", ParsedResultType.TEXT); } + @Test public void testUPCE() { doTestResult("01234565", "01234565", ParsedResultType.PRODUCT, BarcodeFormat.UPC_E); } + @Test public void testEAN() { doTestResult("00393157", "00393157", ParsedResultType.PRODUCT, BarcodeFormat.EAN_8); doTestResult("00393158", "00393158", ParsedResultType.TEXT); @@ -127,6 +139,7 @@ public final class ParsedReaderResultTestCase extends TestCase { doTestResult("5051140178490", "5051140178490", ParsedResultType.TEXT); } + @Test public void testISBN() { doTestResult("9784567890123", "9784567890123", ParsedResultType.ISBN, BarcodeFormat.EAN_13); doTestResult("9794567890123", "9794567890123", ParsedResultType.ISBN, BarcodeFormat.EAN_13); @@ -134,26 +147,24 @@ public final class ParsedReaderResultTestCase extends TestCase { doTestResult("97945678901", "97945678901", ParsedResultType.TEXT); } + @Test public void testURI() { doTestResult("http://google.com", "http://google.com", ParsedResultType.URI); doTestResult("google.com", "http://google.com", ParsedResultType.URI); doTestResult("https://google.com", "https://google.com", ParsedResultType.URI); doTestResult("HTTP://google.com", "http://google.com", ParsedResultType.URI); doTestResult("http://google.com/foobar", "http://google.com/foobar", ParsedResultType.URI); - doTestResult("https://google.com:443/foobar", "https://google.com:443/foobar", - ParsedResultType.URI); + doTestResult("https://google.com:443/foobar", "https://google.com:443/foobar", ParsedResultType.URI); doTestResult("google.com:443", "http://google.com:443", ParsedResultType.URI); doTestResult("google.com:443/", "http://google.com:443/", ParsedResultType.URI); doTestResult("google.com:443/foobar", "http://google.com:443/foobar", ParsedResultType.URI); - doTestResult("http://google.com:443/foobar", "http://google.com:443/foobar", - ParsedResultType.URI); - doTestResult("https://google.com:443/foobar", "https://google.com:443/foobar", - ParsedResultType.URI); + doTestResult("http://google.com:443/foobar", "http://google.com:443/foobar", ParsedResultType.URI); + doTestResult("https://google.com:443/foobar", "https://google.com:443/foobar", ParsedResultType.URI); doTestResult("ftp://google.com/fake", "ftp://google.com/fake", ParsedResultType.URI); - doTestResult("gopher://google.com/obsolete", "gopher://google.com/obsolete", - ParsedResultType.URI); + doTestResult("gopher://google.com/obsolete", "gopher://google.com/obsolete", ParsedResultType.URI); } + @Test public void testGeo() { doTestResult("geo:1,2", "1.0, 2.0", ParsedResultType.GEO); doTestResult("GEO:1,2", "1.0, 2.0", ParsedResultType.GEO); @@ -163,6 +174,7 @@ public final class ParsedReaderResultTestCase extends TestCase { doTestResult("geography", "geography", ParsedResultType.TEXT); } + @Test public void testTel() { doTestResult("tel:+15551212", "+15551212", ParsedResultType.TEL); doTestResult("TEL:+15551212", "+15551212", ParsedResultType.TEL); @@ -173,6 +185,7 @@ public final class ParsedReaderResultTestCase extends TestCase { doTestResult("telephone", "telephone", ParsedResultType.TEXT); } + @Test public void testVCard() { doTestResult("BEGIN:VCARD\r\nEND:VCARD", "", ParsedResultType.ADDRESSBOOK); doTestResult("BEGIN:VCARD\r\nN:Owen;Sean\r\nEND:VCARD", "Sean Owen", @@ -184,6 +197,7 @@ public final class ParsedReaderResultTestCase extends TestCase { doTestResult("BEGIN:VCARD", "", ParsedResultType.ADDRESSBOOK); } + @Test public void testVEvent() { // UTC times doTestResult("BEGIN:VCALENDAR\r\nBEGIN:VEVENT\r\nSUMMARY:foo\r\nDTSTART:20080504T123456Z\r\n" + @@ -218,6 +232,7 @@ public final class ParsedReaderResultTestCase extends TestCase { doTestResult("BEGIN:VEVENT", "begin:VEVENT", ParsedResultType.URI); } + @Test public void testSMS() { doTestResult("sms:+15551212", "+15551212", ParsedResultType.SMS); doTestResult("SMS:+15551212", "+15551212", ParsedResultType.SMS); @@ -226,6 +241,7 @@ public final class ParsedReaderResultTestCase extends TestCase { doTestResult("sms:+15551212,+12124440101", "+15551212\n+12124440101", ParsedResultType.SMS); } + @Test public void testSMSTO() { doTestResult("SMSTO:+15551212", "+15551212", ParsedResultType.SMS); doTestResult("smsto:+15551212", "+15551212", ParsedResultType.SMS); @@ -241,6 +257,7 @@ public final class ParsedReaderResultTestCase extends TestCase { ParsedResultType.SMS); } + @Test public void testMMS() { doTestResult("mms:+15551212", "+15551212", ParsedResultType.SMS); doTestResult("MMS:+15551212", "+15551212", ParsedResultType.SMS); @@ -249,6 +266,7 @@ public final class ParsedReaderResultTestCase extends TestCase { doTestResult("mms:+15551212,+12124440101", "+15551212\n+12124440101", ParsedResultType.SMS); } + @Test public void testMMSTO() { doTestResult("MMSTO:+15551212", "+15551212", ParsedResultType.SMS); doTestResult("mmsto:+15551212", "+15551212", ParsedResultType.SMS); @@ -262,6 +280,7 @@ public final class ParsedReaderResultTestCase extends TestCase { } /* + @Test public void testNDEFText() { doTestResult(new byte[] {(byte)0xD1,(byte)0x01,(byte)0x05,(byte)0x54, (byte)0x02,(byte)0x65,(byte)0x6E,(byte)0x68, @@ -269,6 +288,7 @@ public final class ParsedReaderResultTestCase extends TestCase { ParsedResultType.TEXT); } + @Test public void testNDEFURI() { doTestResult(new byte[] {(byte)0xD1,(byte)0x01,(byte)0x08,(byte)0x55, (byte)0x01,(byte)0x6E,(byte)0x66,(byte)0x63, @@ -276,6 +296,7 @@ public final class ParsedReaderResultTestCase extends TestCase { ParsedResultType.URI); } + @Test public void testNDEFSmartPoster() { doTestResult(new byte[] {(byte)0xD1,(byte)0x02,(byte)0x2F,(byte)0x53, (byte)0x70,(byte)0x91,(byte)0x01,(byte)0x0E, diff --git a/core/test/src/com/google/zxing/client/result/ProductParsedResultTestCase.java b/core/test/src/com/google/zxing/client/result/ProductParsedResultTestCase.java index d1f53d2ef..b11bae62b 100644 --- a/core/test/src/com/google/zxing/client/result/ProductParsedResultTestCase.java +++ b/core/test/src/com/google/zxing/client/result/ProductParsedResultTestCase.java @@ -18,15 +18,17 @@ package com.google.zxing.client.result; import com.google.zxing.BarcodeFormat; import com.google.zxing.Result; -import junit.framework.TestCase; +import org.junit.Assert; +import org.junit.Test; /** * Tests {@link ProductParsedResult}. * * @author Sean Owen */ -public final class ProductParsedResultTestCase extends TestCase { +public final class ProductParsedResultTestCase extends Assert { + @Test public void testProduct() { doTest("123456789012", "123456789012", BarcodeFormat.UPC_A); doTest("00393157", "00393157", BarcodeFormat.EAN_8); diff --git a/core/test/src/com/google/zxing/client/result/SMSMMSParsedResultTestCase.java b/core/test/src/com/google/zxing/client/result/SMSMMSParsedResultTestCase.java index 20d362a2c..a28ec1ef1 100644 --- a/core/test/src/com/google/zxing/client/result/SMSMMSParsedResultTestCase.java +++ b/core/test/src/com/google/zxing/client/result/SMSMMSParsedResultTestCase.java @@ -18,7 +18,8 @@ package com.google.zxing.client.result; import com.google.zxing.BarcodeFormat; import com.google.zxing.Result; -import junit.framework.TestCase; +import org.junit.Assert; +import org.junit.Test; import java.util.Arrays; @@ -27,14 +28,16 @@ import java.util.Arrays; * * @author Sean Owen */ -public final class SMSMMSParsedResultTestCase extends TestCase { - +public final class SMSMMSParsedResultTestCase extends Assert { + + @Test public void testSMS() { doTest("sms:+15551212", "+15551212", null, null, null); doTest("sms:+15551212?subject=foo&body=bar", "+15551212", "foo", "bar", null); doTest("sms:+15551212;via=999333", "+15551212", null, null, "999333"); } + @Test public void testMMS() { doTest("mms:+15551212", "+15551212", null, null, null); doTest("mms:+15551212?subject=foo&body=bar", "+15551212", "foo", "bar", null); diff --git a/core/test/src/com/google/zxing/client/result/TelParsedResultTestCase.java b/core/test/src/com/google/zxing/client/result/TelParsedResultTestCase.java index 7d754fede..e7508fba9 100644 --- a/core/test/src/com/google/zxing/client/result/TelParsedResultTestCase.java +++ b/core/test/src/com/google/zxing/client/result/TelParsedResultTestCase.java @@ -18,15 +18,17 @@ package com.google.zxing.client.result; import com.google.zxing.BarcodeFormat; import com.google.zxing.Result; -import junit.framework.TestCase; +import org.junit.Assert; +import org.junit.Test; /** * Tests {@link TelParsedResult}. * * @author Sean Owen */ -public final class TelParsedResultTestCase extends TestCase { +public final class TelParsedResultTestCase extends Assert { + @Test public void testTel() { doTest("tel:+15551212", "+15551212", null); doTest("tel:2125551212", "2125551212", null); diff --git a/core/test/src/com/google/zxing/client/result/URIParsedResultTestCase.java b/core/test/src/com/google/zxing/client/result/URIParsedResultTestCase.java index 055f86c35..ba54a32d7 100644 --- a/core/test/src/com/google/zxing/client/result/URIParsedResultTestCase.java +++ b/core/test/src/com/google/zxing/client/result/URIParsedResultTestCase.java @@ -18,21 +18,24 @@ package com.google.zxing.client.result; import com.google.zxing.BarcodeFormat; import com.google.zxing.Result; -import junit.framework.TestCase; +import org.junit.Assert; +import org.junit.Test; /** * Tests {@link URIParsedResult}. * * @author Sean Owen */ -public final class URIParsedResultTestCase extends TestCase { +public final class URIParsedResultTestCase extends Assert { + @Test public void testBookmarkDocomo() { doTest("MEBKM:URL:google.com;;", "http://google.com", null); doTest("MEBKM:URL:http://google.com;;", "http://google.com", null); doTest("MEBKM:URL:google.com;TITLE:Google;", "http://google.com", "Google"); } + @Test public void testURI() { doTest("google.com", "http://google.com", null); doTest("http://google.com", "http://google.com", null); @@ -43,12 +46,14 @@ public final class URIParsedResultTestCase extends TestCase { null); } + @Test public void testURLTO() { doTest("urlto::bar.com", "http://bar.com", null); doTest("urlto::http://bar.com", "http://bar.com", null); doTest("urlto:foo:bar.com", "http://bar.com", "foo"); } + @Test public void testGarbage() { String text = "Da65cV1g^>%^f0bAbPn1CJB6lV7ZY8hs0Sm:DXU0cd]GyEeWBz8]bUHLB"; Result fakeResult = new Result(text, null, null, BarcodeFormat.QR_CODE); @@ -57,6 +62,7 @@ public final class URIParsedResultTestCase extends TestCase { assertEquals(text, result.getDisplayResult()); } + @Test public void testIsPossiblyMalicious() { doTestIsPossiblyMalicious("http://google.com", false); doTestIsPossiblyMalicious("http://google.com@evil.com", true); diff --git a/core/test/src/com/google/zxing/client/result/WifiParsedResultTestCase.java b/core/test/src/com/google/zxing/client/result/WifiParsedResultTestCase.java index 1e954dc1c..1e426f8da 100644 --- a/core/test/src/com/google/zxing/client/result/WifiParsedResultTestCase.java +++ b/core/test/src/com/google/zxing/client/result/WifiParsedResultTestCase.java @@ -18,21 +18,21 @@ package com.google.zxing.client.result; import com.google.zxing.BarcodeFormat; import com.google.zxing.Result; -import junit.framework.TestCase; - -import java.util.Arrays; +import org.junit.Assert; +import org.junit.Test; /** * Tests {@link WifiParsedResult}. * * @author Vikram Aggarwal */ -public final class WifiParsedResultTestCase extends TestCase { +public final class WifiParsedResultTestCase extends Assert { public void testNoPassword() { doTest("WIFI:S:NoPassword;P:;T:;;", "NoPassword", "", ""); doTest("WIFI:S:No Password;P:;T:;;", "No Password", "", ""); } + @Test public void testWep() { doTest("WIFI:S:TenChars;P:0123456789;T:WEP;;", "TenChars", "0123456789", "WEP"); doTest("WIFI:S:TenChars;P:abcde56789;T:WEP;;", "TenChars", "abcde56789", "WEP"); @@ -47,7 +47,10 @@ public final class WifiParsedResultTestCase extends TestCase { // TODO(vikrama) Need a test for SB as well. } - // Put in checks for the length of the password for wep. + /** + * Put in checks for the length of the password for wep. + */ + @Test public void testWpa() { doTest("WIFI:S:TenChars;P:wow;T:WPA;;", "TenChars", "wow", "WPA"); doTest("WIFI:S:TenChars;P:space is silent;T:WPA;;", "TenChars", "space is silent", "WPA"); @@ -59,8 +62,9 @@ public final class WifiParsedResultTestCase extends TestCase { doTest("WIFI:S:TenChars;P:hello\\:there;T:WEP;;", "TenChars", "hello:there", "WEP"); } - // Given the string contents for the barcode, check that it matches - // our expectations + /** + * Given the string contents for the barcode, check that it matches our expectations + */ private static void doTest(String contents, String ssid, String password, diff --git a/core/test/src/com/google/zxing/common/AbstractBlackBoxTestCase.java b/core/test/src/com/google/zxing/common/AbstractBlackBoxTestCase.java index b4dc42668..b806080e1 100644 --- a/core/test/src/com/google/zxing/common/AbstractBlackBoxTestCase.java +++ b/core/test/src/com/google/zxing/common/AbstractBlackBoxTestCase.java @@ -25,7 +25,8 @@ import com.google.zxing.ReaderException; import com.google.zxing.Result; import com.google.zxing.ResultMetadataType; import com.google.zxing.client.j2se.BufferedImageLuminanceSource; -import junit.framework.TestCase; +import org.junit.Assert; +import org.junit.Test; import javax.imageio.ImageIO; import java.awt.geom.AffineTransform; @@ -49,7 +50,7 @@ import java.util.Properties; * @author Sean Owen * @author dswitkin@google.com (Daniel Switkin) */ -public abstract class AbstractBlackBoxTestCase extends TestCase { +public abstract class AbstractBlackBoxTestCase extends Assert { protected static final Hashtable TRY_HARDER_HINT; static { @@ -161,6 +162,7 @@ public abstract class AbstractBlackBoxTestCase extends TestCase { // This workaround is used because AbstractNegativeBlackBoxTestCase overrides this method but does // not return SummaryResults. + @Test public void testBlackBox() throws IOException { testBlackBoxCountingResults(true); } diff --git a/core/test/src/com/google/zxing/common/AbstractNegativeBlackBoxTestCase.java b/core/test/src/com/google/zxing/common/AbstractNegativeBlackBoxTestCase.java index 74fdda814..63bf63d2b 100644 --- a/core/test/src/com/google/zxing/common/AbstractNegativeBlackBoxTestCase.java +++ b/core/test/src/com/google/zxing/common/AbstractNegativeBlackBoxTestCase.java @@ -22,6 +22,7 @@ import com.google.zxing.MultiFormatReader; import com.google.zxing.ReaderException; import com.google.zxing.Result; import com.google.zxing.client.j2se.BufferedImageLuminanceSource; +import org.junit.Test; import javax.imageio.ImageIO; import java.awt.image.BufferedImage; @@ -69,6 +70,7 @@ public abstract class AbstractNegativeBlackBoxTestCase extends AbstractBlackBoxT } @Override + @Test public void testBlackBox() throws IOException { assertFalse(testResults.isEmpty()); diff --git a/core/test/src/com/google/zxing/common/BitArrayTestCase.java b/core/test/src/com/google/zxing/common/BitArrayTestCase.java index 233cb0ec3..bf1c5ce7c 100644 --- a/core/test/src/com/google/zxing/common/BitArrayTestCase.java +++ b/core/test/src/com/google/zxing/common/BitArrayTestCase.java @@ -16,13 +16,15 @@ package com.google.zxing.common; -import junit.framework.TestCase; +import org.junit.Assert; +import org.junit.Test; /** * @author Sean Owen */ -public final class BitArrayTestCase extends TestCase { +public final class BitArrayTestCase extends Assert { + @Test public void testGetSet() { BitArray array = new BitArray(33); for (int i = 0; i < 33; i++) { @@ -32,6 +34,7 @@ public final class BitArrayTestCase extends TestCase { } } + @Test public void testSetBulk() { BitArray array = new BitArray(64); array.setBulk(32, 0xFFFF0000); @@ -43,6 +46,7 @@ public final class BitArrayTestCase extends TestCase { } } + @Test public void testClear() { BitArray array = new BitArray(32); for (int i = 0; i < 32; i++) { @@ -54,6 +58,7 @@ public final class BitArrayTestCase extends TestCase { } } + @Test public void testGetArray() { BitArray array = new BitArray(64); array.set(0); @@ -63,6 +68,7 @@ public final class BitArrayTestCase extends TestCase { assertEquals(Integer.MIN_VALUE, ints[1]); } + @Test public void testIsRange() { BitArray array = new BitArray(64); assertTrue(array.isRange(0, 64, false)); diff --git a/core/test/src/com/google/zxing/common/BitMatrixTestCase.java b/core/test/src/com/google/zxing/common/BitMatrixTestCase.java index 5f140666b..a006ef4b1 100644 --- a/core/test/src/com/google/zxing/common/BitMatrixTestCase.java +++ b/core/test/src/com/google/zxing/common/BitMatrixTestCase.java @@ -16,14 +16,16 @@ package com.google.zxing.common; -import junit.framework.TestCase; +import org.junit.Assert; +import org.junit.Test; /** * @author Sean Owen * @author dswitkin@google.com (Daniel Switkin) */ -public final class BitMatrixTestCase extends TestCase { +public final class BitMatrixTestCase extends Assert { + @Test public void testGetSet() { BitMatrix matrix = new BitMatrix(33); assertEquals(33, matrix.getHeight()); @@ -41,6 +43,7 @@ public final class BitMatrixTestCase extends TestCase { } } + @Test public void testSetRegion() { BitMatrix matrix = new BitMatrix(5); matrix.setRegion(1, 1, 3, 3); @@ -51,6 +54,7 @@ public final class BitMatrixTestCase extends TestCase { } } + @Test public void testRectangularMatrix() { BitMatrix matrix = new BitMatrix(75, 20); assertEquals(75, matrix.getWidth()); @@ -77,6 +81,7 @@ public final class BitMatrixTestCase extends TestCase { assertFalse(matrix.get(51, 3)); } + @Test public void testRectangularSetRegion() { BitMatrix matrix = new BitMatrix(320, 240); assertEquals(320, matrix.getWidth()); @@ -91,6 +96,7 @@ public final class BitMatrixTestCase extends TestCase { } } + @Test public void testGetRow() { BitMatrix matrix = new BitMatrix(102, 5); for (int x = 0; x < 102; x++) { diff --git a/core/test/src/com/google/zxing/common/BitSourceTestCase.java b/core/test/src/com/google/zxing/common/BitSourceTestCase.java index 9b5339011..1ff714a3c 100644 --- a/core/test/src/com/google/zxing/common/BitSourceTestCase.java +++ b/core/test/src/com/google/zxing/common/BitSourceTestCase.java @@ -16,13 +16,15 @@ package com.google.zxing.common; -import junit.framework.TestCase; +import org.junit.Assert; +import org.junit.Test; /** * @author Sean Owen */ -public final class BitSourceTestCase extends TestCase { +public final class BitSourceTestCase extends Assert { + @Test public void testSource() { byte[] bytes = {(byte) 1, (byte) 2, (byte) 3, (byte) 4, (byte) 5}; BitSource source = new BitSource(bytes); diff --git a/core/test/src/com/google/zxing/common/CollectionsTestCase.java b/core/test/src/com/google/zxing/common/CollectionsTestCase.java index 6fbfc4e5a..6095a0e2d 100644 --- a/core/test/src/com/google/zxing/common/CollectionsTestCase.java +++ b/core/test/src/com/google/zxing/common/CollectionsTestCase.java @@ -16,7 +16,8 @@ package com.google.zxing.common; -import junit.framework.TestCase; +import org.junit.Assert; +import org.junit.Test; import java.util.Random; import java.util.Vector; @@ -24,8 +25,9 @@ import java.util.Vector; /** * @author Sean Owen */ -public final class CollectionsTestCase extends TestCase { +public final class CollectionsTestCase extends Assert { + @Test public void testSort() { Random r = new Random(0xDEADBEEFL); Vector v = new Vector(100); diff --git a/core/test/src/com/google/zxing/common/PerspectiveTransformTestCase.java b/core/test/src/com/google/zxing/common/PerspectiveTransformTestCase.java index 1ec4b1923..531c46bcd 100644 --- a/core/test/src/com/google/zxing/common/PerspectiveTransformTestCase.java +++ b/core/test/src/com/google/zxing/common/PerspectiveTransformTestCase.java @@ -16,15 +16,17 @@ package com.google.zxing.common; -import junit.framework.TestCase; +import org.junit.Assert; +import org.junit.Test; /** * @author Sean Owen */ -public final class PerspectiveTransformTestCase extends TestCase { +public final class PerspectiveTransformTestCase extends Assert { private static final float EPSILON = 0.0001f; + @Test public void testSquareToQuadrilateral() { PerspectiveTransform pt = PerspectiveTransform.squareToQuadrilateral( 2.0f, 3.0f, 10.0f, 4.0f, 16.0f, 15.0f, 4.0f, 9.0f); @@ -36,6 +38,7 @@ public final class PerspectiveTransformTestCase extends TestCase { assertPointEquals(48.0f, 42.42857f, 1.5f, 1.5f, pt); } + @Test public void testQuadrilateralToQuadrilateral() { PerspectiveTransform pt = PerspectiveTransform.quadrilateralToQuadrilateral( 2.0f, 3.0f, 10.0f, 4.0f, 16.0f, 15.0f, 4.0f, 9.0f, @@ -48,7 +51,11 @@ public final class PerspectiveTransformTestCase extends TestCase { assertPointEquals(328.09116f, 334.16385f, 50.0f, 50.0f, pt); } - private static void assertPointEquals(float expectedX, float expectedY, float sourceX, float sourceY, PerspectiveTransform pt) { + private static void assertPointEquals(float expectedX, + float expectedY, + float sourceX, + float sourceY, + PerspectiveTransform pt) { float[] points = {sourceX, sourceY}; pt.transformPoints(points); assertEquals(expectedX, points[0], EPSILON); diff --git a/core/test/src/com/google/zxing/common/reedsolomon/AbstractReedSolomonTestCase.java b/core/test/src/com/google/zxing/common/reedsolomon/AbstractReedSolomonTestCase.java index 494cc1817..918fe41e1 100644 --- a/core/test/src/com/google/zxing/common/reedsolomon/AbstractReedSolomonTestCase.java +++ b/core/test/src/com/google/zxing/common/reedsolomon/AbstractReedSolomonTestCase.java @@ -16,7 +16,7 @@ package com.google.zxing.common.reedsolomon; -import junit.framework.TestCase; +import org.junit.Assert; import java.util.BitSet; import java.util.Random; @@ -24,7 +24,7 @@ import java.util.Random; /** * @author Sean Owen */ -abstract class AbstractReedSolomonTestCase extends TestCase { +abstract class AbstractReedSolomonTestCase extends Assert { static void corrupt(int[] received, int howMany, Random random) { BitSet corrupted = new BitSet(received.length); diff --git a/core/test/src/com/google/zxing/common/reedsolomon/ReedSolomonDecoderDataMatrixTestCase.java b/core/test/src/com/google/zxing/common/reedsolomon/ReedSolomonDecoderDataMatrixTestCase.java index 684cb1893..29377c41f 100644 --- a/core/test/src/com/google/zxing/common/reedsolomon/ReedSolomonDecoderDataMatrixTestCase.java +++ b/core/test/src/com/google/zxing/common/reedsolomon/ReedSolomonDecoderDataMatrixTestCase.java @@ -16,6 +16,8 @@ package com.google.zxing.common.reedsolomon; +import org.junit.Test; + import java.util.Random; /** @@ -31,6 +33,7 @@ public final class ReedSolomonDecoderDataMatrixTestCase extends AbstractReedSolo private final ReedSolomonDecoder dmRSDecoder = new ReedSolomonDecoder(GF256.DATA_MATRIX_FIELD); + @Test public void testNoError() throws ReedSolomonException { int[] received = new int[DM_CODE_TEST_WITH_EC.length]; System.arraycopy(DM_CODE_TEST_WITH_EC, 0, received, 0, received.length); @@ -38,6 +41,7 @@ public final class ReedSolomonDecoderDataMatrixTestCase extends AbstractReedSolo checkQRRSDecode(received); } + @Test public void testOneError() throws ReedSolomonException { int[] received = new int[DM_CODE_TEST_WITH_EC.length]; Random random = getRandom(); @@ -48,16 +52,18 @@ public final class ReedSolomonDecoderDataMatrixTestCase extends AbstractReedSolo } } + @Test public void testMaxErrors() throws ReedSolomonException { int[] received = new int[DM_CODE_TEST_WITH_EC.length]; Random random = getRandom(); - for (int i = 0; i < DM_CODE_TEST.length; i++) { // # iterations is kind of arbitrary + for (int test : DM_CODE_TEST) { // # iterations is kind of arbitrary System.arraycopy(DM_CODE_TEST_WITH_EC, 0, received, 0, received.length); corrupt(received, DM_CODE_CORRECTABLE, random); checkQRRSDecode(received); } } + @Test public void testTooManyErrors() { int[] received = new int[DM_CODE_TEST_WITH_EC.length]; System.arraycopy(DM_CODE_TEST_WITH_EC, 0, received, 0, received.length); diff --git a/core/test/src/com/google/zxing/common/reedsolomon/ReedSolomonDecoderQRCodeTestCase.java b/core/test/src/com/google/zxing/common/reedsolomon/ReedSolomonDecoderQRCodeTestCase.java index 0dfecdee1..15964bcac 100644 --- a/core/test/src/com/google/zxing/common/reedsolomon/ReedSolomonDecoderQRCodeTestCase.java +++ b/core/test/src/com/google/zxing/common/reedsolomon/ReedSolomonDecoderQRCodeTestCase.java @@ -16,6 +16,8 @@ package com.google.zxing.common.reedsolomon; +import org.junit.Test; + import java.util.Random; /** @@ -36,6 +38,7 @@ public final class ReedSolomonDecoderQRCodeTestCase extends AbstractReedSolomonT private final ReedSolomonDecoder qrRSDecoder = new ReedSolomonDecoder(GF256.QR_CODE_FIELD); + @Test public void testNoError() throws ReedSolomonException { int[] received = new int[QR_CODE_TEST_WITH_EC.length]; System.arraycopy(QR_CODE_TEST_WITH_EC, 0, received, 0, received.length); @@ -43,6 +46,7 @@ public final class ReedSolomonDecoderQRCodeTestCase extends AbstractReedSolomonT checkQRRSDecode(received); } + @Test public void testOneError() throws ReedSolomonException { int[] received = new int[QR_CODE_TEST_WITH_EC.length]; Random random = getRandom(); @@ -53,16 +57,18 @@ public final class ReedSolomonDecoderQRCodeTestCase extends AbstractReedSolomonT } } + @Test public void testMaxErrors() throws ReedSolomonException { int[] received = new int[QR_CODE_TEST_WITH_EC.length]; Random random = getRandom(); - for (int i = 0; i < QR_CODE_TEST.length; i++) { // # iterations is kind of arbitrary + for (int test : QR_CODE_TEST) { // # iterations is kind of arbitrary System.arraycopy(QR_CODE_TEST_WITH_EC, 0, received, 0, received.length); corrupt(received, QR_CODE_CORRECTABLE, random); checkQRRSDecode(received); } } + @Test public void testTooManyErrors() { int[] received = new int[QR_CODE_TEST_WITH_EC.length]; System.arraycopy(QR_CODE_TEST_WITH_EC, 0, received, 0, received.length); diff --git a/core/test/src/com/google/zxing/common/reedsolomon/ReedSolomonEncoderQRCodeTestCase.java b/core/test/src/com/google/zxing/common/reedsolomon/ReedSolomonEncoderQRCodeTestCase.java index ba22b60f2..859cc9719 100644 --- a/core/test/src/com/google/zxing/common/reedsolomon/ReedSolomonEncoderQRCodeTestCase.java +++ b/core/test/src/com/google/zxing/common/reedsolomon/ReedSolomonEncoderQRCodeTestCase.java @@ -16,6 +16,8 @@ package com.google.zxing.common.reedsolomon; +import org.junit.Test; + import java.util.Random; /** @@ -26,6 +28,7 @@ public final class ReedSolomonEncoderQRCodeTestCase extends AbstractReedSolomonT /** * Tests example given in ISO 18004, Annex I */ + @Test public void testISO18004Example() { int[] dataBytes = { 0x10, 0x20, 0x0C, 0x56, 0x61, 0x80, 0xEC, 0x11, @@ -36,6 +39,7 @@ public final class ReedSolomonEncoderQRCodeTestCase extends AbstractReedSolomonT doTestQRCodeEncoding(dataBytes, expectedECBytes); } + @Test public void testQRCodeVersusDecoder() throws Exception { Random random = getRandom(); ReedSolomonEncoder encoder = new ReedSolomonEncoder(GF256.QR_CODE_FIELD); diff --git a/core/test/src/com/google/zxing/datamatrix/decoder/DecodedBitStreamParserTestCase.java b/core/test/src/com/google/zxing/datamatrix/decoder/DecodedBitStreamParserTestCase.java index 9dc09783f..444d30ccd 100644 --- a/core/test/src/com/google/zxing/datamatrix/decoder/DecodedBitStreamParserTestCase.java +++ b/core/test/src/com/google/zxing/datamatrix/decoder/DecodedBitStreamParserTestCase.java @@ -16,13 +16,15 @@ package com.google.zxing.datamatrix.decoder; -import junit.framework.TestCase; +import org.junit.Assert; +import org.junit.Test; /** * @author bbrown@google.com (Brian Brown) */ -public final class DecodedBitStreamParserTestCase extends TestCase{ +public final class DecodedBitStreamParserTestCase extends Assert { + @Test public void testAsciiStandardDecode() throws Exception { // ASCII characters 0-127 are encoded as the value + 1 byte[] bytes = {(byte) ('a' + 1), (byte) ('b' + 1), (byte) ('c' + 1), @@ -30,7 +32,8 @@ public final class DecodedBitStreamParserTestCase extends TestCase{ String decodedString = DecodedBitStreamParser.decode(bytes).getText(); assertEquals("abcABC", decodedString); } - + + @Test public void testAsciiDoubleDigitDecode() throws Exception{ // ASCII double digit (00 - 99) Numeric Value + 130 byte[] bytes = {(byte) 130 , (byte) ( 1 + 130), diff --git a/core/test/src/com/google/zxing/oned/EAN13WriterTestCase.java b/core/test/src/com/google/zxing/oned/EAN13WriterTestCase.java index f95bad462..e4f66c22a 100644 --- a/core/test/src/com/google/zxing/oned/EAN13WriterTestCase.java +++ b/core/test/src/com/google/zxing/oned/EAN13WriterTestCase.java @@ -19,13 +19,15 @@ package com.google.zxing.oned; import com.google.zxing.BarcodeFormat; import com.google.zxing.WriterException; import com.google.zxing.common.BitMatrix; -import junit.framework.TestCase; +import org.junit.Assert; +import org.junit.Test; /** * @author Ari Pollak */ -public final class EAN13WriterTestCase extends TestCase { +public final class EAN13WriterTestCase extends Assert { + @Test public void testEncode() throws WriterException { String testStr = "00010100010110100111011001100100110111101001110101010110011011011001000010101110010011101000100101000"; BitMatrix result = new EAN13Writer().encode("5901234123457", BarcodeFormat.EAN_13, testStr.length(), 0); diff --git a/core/test/src/com/google/zxing/oned/EAN8WriterTestCase.java b/core/test/src/com/google/zxing/oned/EAN8WriterTestCase.java index 653758356..f3f7e16a2 100644 --- a/core/test/src/com/google/zxing/oned/EAN8WriterTestCase.java +++ b/core/test/src/com/google/zxing/oned/EAN8WriterTestCase.java @@ -19,20 +19,20 @@ package com.google.zxing.oned; import com.google.zxing.BarcodeFormat; import com.google.zxing.WriterException; import com.google.zxing.common.BitMatrix; -import junit.framework.TestCase; +import org.junit.Assert; +import org.junit.Test; /** * @author Ari Pollak */ -public final class EAN8WriterTestCase extends TestCase { +public final class EAN8WriterTestCase extends Assert { + @Test public void testEncode() throws WriterException { String testStr = "0001010001011010111101111010110111010101001110111001010001001011100101000"; BitMatrix result = new EAN8Writer().encode("96385074", BarcodeFormat.EAN_8, testStr.length(), 0); for (int i = 0; i < testStr.length(); i++) { - assertEquals("Element " + i, - testStr.charAt(i) == '1', - result.get(i, 0)); + assertEquals("Element " + i, testStr.charAt(i) == '1', result.get(i, 0)); } } diff --git a/core/test/src/com/google/zxing/oned/EANManufacturerOrgSupportTest.java b/core/test/src/com/google/zxing/oned/EANManufacturerOrgSupportTest.java index de5c05f65..5c0f1ab4e 100644 --- a/core/test/src/com/google/zxing/oned/EANManufacturerOrgSupportTest.java +++ b/core/test/src/com/google/zxing/oned/EANManufacturerOrgSupportTest.java @@ -16,15 +16,17 @@ package com.google.zxing.oned; -import junit.framework.TestCase; +import org.junit.Assert; +import org.junit.Test; /** * Tests {@link EANManufacturerOrgSupport}. * * @author Sean Owen */ -public final class EANManufacturerOrgSupportTest extends TestCase { +public final class EANManufacturerOrgSupportTest extends Assert { + @Test public void testLookup() { EANManufacturerOrgSupport support = new EANManufacturerOrgSupport(); assertNull(support.lookupCountryIdentifier("472000")); diff --git a/core/test/src/com/google/zxing/oned/rss/expanded/BinaryUtil.java b/core/test/src/com/google/zxing/oned/rss/expanded/BinaryUtil.java index d30281a36..7628dcf36 100644 --- a/core/test/src/com/google/zxing/oned/rss/expanded/BinaryUtil.java +++ b/core/test/src/com/google/zxing/oned/rss/expanded/BinaryUtil.java @@ -78,6 +78,7 @@ public final class BinaryUtil { return buildBitArrayFromString(sb.toString()); } + /* public static int extractNumericValueFromBitArray(BitArray information, int pos, int bits) { if(bits > 32) { throw new IllegalArgumentException("extractNumberValueFromBitArray can't handle more than 32 bits"); @@ -92,4 +93,5 @@ public final class BinaryUtil { numeric.reverse(); return numeric.bits[0]; } + */ } diff --git a/core/test/src/com/google/zxing/oned/rss/expanded/BinaryUtilTest.java b/core/test/src/com/google/zxing/oned/rss/expanded/BinaryUtilTest.java index 88f42dc91..978ab8e30 100644 --- a/core/test/src/com/google/zxing/oned/rss/expanded/BinaryUtilTest.java +++ b/core/test/src/com/google/zxing/oned/rss/expanded/BinaryUtilTest.java @@ -28,13 +28,15 @@ package com.google.zxing.oned.rss.expanded; import com.google.zxing.common.BitArray; -import junit.framework.TestCase; +import org.junit.Assert; +import org.junit.Test; /** * @author Pablo Orduña, University of Deusto (pablo.orduna@deusto.es) */ -public final class BinaryUtilTest extends TestCase{ +public final class BinaryUtilTest extends Assert { + @Test public void testBuildBitArrayFromString(){ String data = " ..X..X.. ..XXX... XXXXXXXX ........"; @@ -58,10 +60,9 @@ public final class BinaryUtilTest extends TestCase{ assertEquals(data, binary.toString()); } + @Test public void testBuildBitArrayFromStringWithoutSpaces(){ - String data; - - data = " ..X..X.. ..XXX... XXXXXXXX ........"; + String data = " ..X..X.. ..XXX... XXXXXXXX ........"; checkWithoutSpaces(data); data = " XXX..X.."; diff --git a/core/test/src/com/google/zxing/oned/rss/expanded/BitArrayBuilderTest.java b/core/test/src/com/google/zxing/oned/rss/expanded/BitArrayBuilderTest.java index 92cc13c43..760c97d56 100644 --- a/core/test/src/com/google/zxing/oned/rss/expanded/BitArrayBuilderTest.java +++ b/core/test/src/com/google/zxing/oned/rss/expanded/BitArrayBuilderTest.java @@ -31,15 +31,17 @@ import java.util.Vector; import com.google.zxing.common.BitArray; import com.google.zxing.oned.rss.DataCharacter; -import junit.framework.TestCase; +import org.junit.Assert; +import org.junit.Test; /** * @author Pablo Orduña, University of Deusto (pablo.orduna@deusto.es) * @author Eduardo Castillejo, University of Deusto (eduardo.castillejo@deusto.es) */ -public final class BitArrayBuilderTest extends TestCase { +public final class BitArrayBuilderTest extends Assert { - public void testBuildBitArray1(){ + @Test + public void testBuildBitArray1() { int [][] pairValues = { { 19 }, { 673, 16 } @@ -50,13 +52,13 @@ public final class BitArrayBuilderTest extends TestCase { checkBinary(pairValues, expected); } - private void checkBinary(int[][] pairValues, String expected) { + private static void checkBinary(int[][] pairValues, String expected) { BitArray binary = buildBitArray(pairValues); assertEquals(expected, binary.toString()); } private static BitArray buildBitArray(int[][] pairValues) { - Vector pairs = new Vector(); + Vector pairs = new Vector(); for(int i = 0; i < pairValues.length; ++i){ int [] pair = pairValues[i]; @@ -80,7 +82,6 @@ public final class BitArrayBuilderTest extends TestCase { pairs.add(expandedPair); } - BitArray binary = BitArrayBuilder.buildBitArray(pairs); - return binary; + return BitArrayBuilder.buildBitArray(pairs); } } diff --git a/core/test/src/com/google/zxing/oned/rss/expanded/ExpandedInformationDecoderTest.java b/core/test/src/com/google/zxing/oned/rss/expanded/ExpandedInformationDecoderTest.java index a9a3e37da..4e408ae39 100644 --- a/core/test/src/com/google/zxing/oned/rss/expanded/ExpandedInformationDecoderTest.java +++ b/core/test/src/com/google/zxing/oned/rss/expanded/ExpandedInformationDecoderTest.java @@ -29,14 +29,16 @@ package com.google.zxing.oned.rss.expanded; import com.google.zxing.common.BitArray; import com.google.zxing.oned.rss.expanded.decoders.AbstractExpandedDecoder; -import junit.framework.TestCase; +import org.junit.Assert; +import org.junit.Test; /** * @author Pablo Orduña, University of Deusto (pablo.orduna@deusto.es) * @author Eduardo Castillejo, University of Deusto (eduardo.castillejo@deusto.es) */ -public final class ExpandedInformationDecoderTest extends TestCase { +public final class ExpandedInformationDecoderTest extends Assert { + @Test public void testNoAi() throws Exception { BitArray information = BinaryUtil.buildBitArrayFromString(" .......X ..XX..X. X.X....X .......X ...."); diff --git a/core/test/src/com/google/zxing/oned/rss/expanded/RSSExpandedImage2binaryTestCase.java b/core/test/src/com/google/zxing/oned/rss/expanded/RSSExpandedImage2binaryTestCase.java index 2b45c0960..6372fb8f6 100644 --- a/core/test/src/com/google/zxing/oned/rss/expanded/RSSExpandedImage2binaryTestCase.java +++ b/core/test/src/com/google/zxing/oned/rss/expanded/RSSExpandedImage2binaryTestCase.java @@ -33,21 +33,22 @@ import java.util.Vector; import javax.imageio.ImageIO; -import junit.framework.TestCase; - import com.google.zxing.BinaryBitmap; import com.google.zxing.NotFoundException; import com.google.zxing.client.j2se.BufferedImageLuminanceSource; import com.google.zxing.common.BitArray; import com.google.zxing.common.GlobalHistogramBinarizer; +import org.junit.Assert; +import org.junit.Test; /** * @author Pablo Orduña, University of Deusto (pablo.orduna@deusto.es) * @author Eduardo Castillejo, University of Deusto (eduardo.castillejo@deusto.es) */ -public final class RSSExpandedImage2binaryTestCase extends TestCase { +public final class RSSExpandedImage2binaryTestCase extends Assert { - public void testDecodeRow2binary_1() throws Exception{ + @Test + public void testDecodeRow2binary_1() throws Exception { // (11)100224(17)110224(3102)000100 String path = "test/data/blackbox/rssexpanded-1/1.jpg"; String expected = " ...X...X .X....X. .XX...X. X..X...X ...XX.X. ..X.X... ..X.X..X ...X..X. X.X....X .X....X. .....X.. X...X..."; @@ -55,7 +56,8 @@ public final class RSSExpandedImage2binaryTestCase extends TestCase { assertCorrectImage2binary(path, expected); } - public void testDecodeRow2binary_2() throws Exception{ + @Test + public void testDecodeRow2binary_2() throws Exception { // (01)90012345678908(3103)001750 String path = "test/data/blackbox/rssexpanded-1/2.jpg"; String expected = " ..X..... ......X. .XXX.X.X .X...XX. XXXXX.XX XX.X.... .XX.XX.X .XX."; @@ -64,7 +66,8 @@ public final class RSSExpandedImage2binaryTestCase extends TestCase { } - public void testDecodeRow2binary_3() throws Exception{ + @Test + public void testDecodeRow2binary_3() throws Exception { // (10)12A String path = "test/data/blackbox/rssexpanded-1/3.jpg"; String expected = " .......X ..XX..X. X.X....X .......X ...."; @@ -72,7 +75,8 @@ public final class RSSExpandedImage2binaryTestCase extends TestCase { assertCorrectImage2binary(path, expected); } - public void testDecodeRow2binary_4() throws Exception{ + @Test + public void testDecodeRow2binary_4() throws Exception { // (01)98898765432106(3202)012345(15)991231 String path = "test/data/blackbox/rssexpanded-1/4.jpg"; String expected = " ..XXXX.X XX.XXXX. .XXX.XX. XX..X... .XXXXX.. XX.X..X. ..XX..XX XX.X.XXX X..XX..X .X.XXXXX XXXX"; @@ -80,7 +84,8 @@ public final class RSSExpandedImage2binaryTestCase extends TestCase { assertCorrectImage2binary(path, expected); } - public void testDecodeRow2binary_5() throws Exception{ + @Test + public void testDecodeRow2binary_5() throws Exception { // (01)90614141000015(3202)000150 String path = "test/data/blackbox/rssexpanded-1/5.jpg"; String expected = " ..X.X... .XXXX.X. XX..XXXX ....XX.. X....... ....X... ....X..X .XX."; @@ -88,7 +93,8 @@ public final class RSSExpandedImage2binaryTestCase extends TestCase { assertCorrectImage2binary(path, expected); } - public void testDecodeRow2binary_10() throws Exception{ + @Test + public void testDecodeRow2binary_10() throws Exception { // (01)98898765432106(15)991231(3103)001750(10)12A(422)123(21)123456(423)0123456789012 String path = "test/data/blackbox/rssexpanded-1/10.png"; String expected = " .X.XX..X XX.XXXX. .XXX.XX. XX..X... .XXXXX.. XX.X..X. ..XX...X XX.X.... X.X.X.X. X.X..X.X .X....X. XX...X.. ...XX.X. .XXXXXX. .X..XX.. X.X.X... .X...... XXXX.... XX.XX... XXXXX.X. ...XXXXX .....X.X ...X.... X.XXX..X X.X.X... XX.XX..X .X..X..X .X.X.X.X X.XX...X .XX.XXX. XXX.X.XX ..X."; @@ -96,7 +102,8 @@ public final class RSSExpandedImage2binaryTestCase extends TestCase { assertCorrectImage2binary(path, expected); } - public void testDecodeRow2binary_11() throws Exception{ + @Test + public void testDecodeRow2binary_11() throws Exception { // (01)98898765432106(15)991231(3103)001750(10)12A(422)123(21)123456 String expected = " .X.XX..X XX.XXXX. .XXX.XX. XX..X... .XXXXX.. XX.X..X. ..XX...X XX.X.... X.X.X.X. X.X..X.X .X....X. XX...X.. ...XX.X. .XXXXXX. .X..XX.. X.X.X... .X...... XXXX.... XX.XX... XXXXX.X. ...XXXXX .....X.X ...X.... X.XXX..X X.X.X... ...."; String path = "test/data/blackbox/rssexpanded-1/11.png"; @@ -104,7 +111,8 @@ public final class RSSExpandedImage2binaryTestCase extends TestCase { assertCorrectImage2binary(path, expected); } - public void testDecodeRow2binary_12() throws Exception{ + @Test + public void testDecodeRow2binary_12() throws Exception { // (01)98898765432106(3103)001750 String expected = " ..X..XX. XXXX..XX X.XX.XX. .X....XX XXX..XX. X..X.... .XX.XX.X .XX."; @@ -113,7 +121,8 @@ public final class RSSExpandedImage2binaryTestCase extends TestCase { assertCorrectImage2binary(path, expected); } - public void testDecodeRow2binary_13() throws Exception{ + @Test + public void testDecodeRow2binary_13() throws Exception { // (01)90012345678908(3922)795 String expected = " ..XX..X. ........ .X..XXX. X.X.X... XX.XXXXX .XXXX.X. X.X.XXXX .X..X..X ......X."; @@ -122,7 +131,8 @@ public final class RSSExpandedImage2binaryTestCase extends TestCase { assertCorrectImage2binary(path, expected); } - public void testDecodeRow2binary_14() throws Exception{ + @Test + public void testDecodeRow2binary_14() throws Exception { // (01)90012345678908(3932)0401234 String expected = " ..XX.X.. ........ .X..XXX. X.X.X... XX.XXXXX .XXXX.X. X.....X. X.....X. X.X.X.XX .X...... X..."; @@ -131,7 +141,8 @@ public final class RSSExpandedImage2binaryTestCase extends TestCase { assertCorrectImage2binary(path, expected); } - public void testDecodeRow2binary_15() throws Exception{ + @Test + public void testDecodeRow2binary_15() throws Exception { // (01)90012345678908(3102)001750(11)100312 String expected = " ..XXX... ........ .X..XXX. X.X.X... XX.XXXXX .XXXX.X. ..XX...X .X.....X .XX..... XXXX.X.. XX.."; @@ -140,7 +151,8 @@ public final class RSSExpandedImage2binaryTestCase extends TestCase { assertCorrectImage2binary(path, expected); } - public void testDecodeRow2binary_16() throws Exception{ + @Test + public void testDecodeRow2binary_16() throws Exception { // (01)90012345678908(3202)001750(11)100312 String expected = " ..XXX..X ........ .X..XXX. X.X.X... XX.XXXXX .XXXX.X. ..XX...X .X.....X .XX..... XXXX.X.. XX.."; @@ -149,7 +161,8 @@ public final class RSSExpandedImage2binaryTestCase extends TestCase { assertCorrectImage2binary(path, expected); } - public void testDecodeRow2binary_17() throws Exception{ + @Test + public void testDecodeRow2binary_17() throws Exception { // (01)90012345678908(3102)001750(13)100312 String expected = " ..XXX.X. ........ .X..XXX. X.X.X... XX.XXXXX .XXXX.X. ..XX...X .X.....X .XX..... XXXX.X.. XX.."; @@ -158,7 +171,8 @@ public final class RSSExpandedImage2binaryTestCase extends TestCase { assertCorrectImage2binary(path, expected); } - public void testDecodeRow2binary_18() throws Exception{ + @Test + public void testDecodeRow2binary_18() throws Exception { // (01)90012345678908(3202)001750(13)100312 String expected = " ..XXX.XX ........ .X..XXX. X.X.X... XX.XXXXX .XXXX.X. ..XX...X .X.....X .XX..... XXXX.X.. XX.."; @@ -167,7 +181,8 @@ public final class RSSExpandedImage2binaryTestCase extends TestCase { assertCorrectImage2binary(path, expected); } - public void testDecodeRow2binary_19() throws Exception{ + @Test + public void testDecodeRow2binary_19() throws Exception { // (01)90012345678908(3102)001750(15)100312 String expected = " ..XXXX.. ........ .X..XXX. X.X.X... XX.XXXXX .XXXX.X. ..XX...X .X.....X .XX..... XXXX.X.. XX.."; @@ -176,7 +191,8 @@ public final class RSSExpandedImage2binaryTestCase extends TestCase { assertCorrectImage2binary(path, expected); } - public void testDecodeRow2binary_20() throws Exception{ + @Test + public void testDecodeRow2binary_20() throws Exception { // (01)90012345678908(3202)001750(15)100312 String expected = " ..XXXX.X ........ .X..XXX. X.X.X... XX.XXXXX .XXXX.X. ..XX...X .X.....X .XX..... XXXX.X.. XX.."; @@ -185,7 +201,8 @@ public final class RSSExpandedImage2binaryTestCase extends TestCase { assertCorrectImage2binary(path, expected); } - public void testDecodeRow2binary_21() throws Exception{ + @Test + public void testDecodeRow2binary_21() throws Exception { // (01)90012345678908(3102)001750(17)100312 String expected = " ..XXXXX. ........ .X..XXX. X.X.X... XX.XXXXX .XXXX.X. ..XX...X .X.....X .XX..... XXXX.X.. XX.."; @@ -194,7 +211,8 @@ public final class RSSExpandedImage2binaryTestCase extends TestCase { assertCorrectImage2binary(path, expected); } - public void testDecodeRow2binary_22() throws Exception{ + @Test + public void testDecodeRow2binary_22() throws Exception { // (01)90012345678908(3202)001750(17)100312 String expected = " ..XXXXXX ........ .X..XXX. X.X.X... XX.XXXXX .XXXX.X. ..XX...X .X.....X .XX..... XXXX.X.. XX.."; @@ -203,8 +221,7 @@ public final class RSSExpandedImage2binaryTestCase extends TestCase { assertCorrectImage2binary(path, expected); } - private static void assertCorrectImage2binary(String path, - String expected) throws IOException, NotFoundException { + private static void assertCorrectImage2binary(String path, String expected) throws IOException, NotFoundException { RSSExpandedReader rssExpandedReader = new RSSExpandedReader(); BufferedImage image = ImageIO.read(new File(path)); @@ -212,7 +229,7 @@ public final class RSSExpandedImage2binaryTestCase extends TestCase { int rowNumber = binaryMap.getHeight() / 2; BitArray row = binaryMap.getBlackRow(rowNumber, null); - Vector pairs = rssExpandedReader.decodeRow2pairs(rowNumber, row); + Vector pairs = rssExpandedReader.decodeRow2pairs(rowNumber, row); BitArray binary = BitArrayBuilder.buildBitArray(pairs); assertEquals(expected, binary.toString()); } diff --git a/core/test/src/com/google/zxing/oned/rss/expanded/RSSExpandedImage2resultTestCase.java b/core/test/src/com/google/zxing/oned/rss/expanded/RSSExpandedImage2resultTestCase.java index d9083f35b..83fe79cb9 100644 --- a/core/test/src/com/google/zxing/oned/rss/expanded/RSSExpandedImage2resultTestCase.java +++ b/core/test/src/com/google/zxing/oned/rss/expanded/RSSExpandedImage2resultTestCase.java @@ -33,12 +33,14 @@ package com.google.zxing.oned.rss.expanded; import java.awt.image.BufferedImage; import java.io.File; +import java.io.IOException; import java.util.Hashtable; import javax.imageio.ImageIO; import com.google.zxing.BarcodeFormat; import com.google.zxing.BinaryBitmap; +import com.google.zxing.NotFoundException; import com.google.zxing.Result; import com.google.zxing.client.j2se.BufferedImageLuminanceSource; import com.google.zxing.client.result.ExpandedProductParsedResult; @@ -47,23 +49,27 @@ import com.google.zxing.client.result.ResultParser; import com.google.zxing.common.BitArray; import com.google.zxing.common.GlobalHistogramBinarizer; -import junit.framework.TestCase; +import org.junit.Assert; +import org.junit.Test; /** * @author Pablo Orduña, University of Deusto (pablo.orduna@deusto.es) * @author Eduardo Castillejo, University of Deusto (eduardo.castillejo@deusto.es) */ -public final class RSSExpandedImage2resultTestCase extends TestCase { +public final class RSSExpandedImage2resultTestCase extends Assert { - public void testDecodeRow2result_2() throws Exception{ + @Test + public void testDecodeRow2result_2() throws Exception { // (01)90012345678908(3103)001750 String path = "test/data/blackbox/rssexpanded-1/2.jpg"; - ExpandedProductParsedResult expected = new ExpandedProductParsedResult("90012345678908", "-", "-", "-", "-", "-", "-", "001750", ExpandedProductParsedResult.KILOGRAM, "3", "-", "-", "-", new Hashtable()); + ExpandedProductParsedResult expected = + new ExpandedProductParsedResult("90012345678908", "-", "-", "-", "-", "-", "-", "001750", ExpandedProductParsedResult.KILOGRAM, "3", "-", "-", "-", new Hashtable()); assertCorrectImage2result(path, expected); } - private static void assertCorrectImage2result(String path, ExpandedProductParsedResult expected) throws Exception { + private static void assertCorrectImage2result(String path, ExpandedProductParsedResult expected) + throws IOException, NotFoundException { RSSExpandedReader rssExpandedReader = new RSSExpandedReader(); BufferedImage image = ImageIO.read(new File(path)); @@ -73,7 +79,7 @@ public final class RSSExpandedImage2resultTestCase extends TestCase { Result theResult = rssExpandedReader.decodeRow(rowNumber, row, new Hashtable()); - assertEquals(BarcodeFormat.RSS_EXPANDED, theResult.getBarcodeFormat()); + assertSame(BarcodeFormat.RSS_EXPANDED, theResult.getBarcodeFormat()); ParsedResult result = ResultParser.parseResult(theResult); diff --git a/core/test/src/com/google/zxing/oned/rss/expanded/RSSExpandedImage2stringTestCase.java b/core/test/src/com/google/zxing/oned/rss/expanded/RSSExpandedImage2stringTestCase.java index b51209069..16762b07b 100644 --- a/core/test/src/com/google/zxing/oned/rss/expanded/RSSExpandedImage2stringTestCase.java +++ b/core/test/src/com/google/zxing/oned/rss/expanded/RSSExpandedImage2stringTestCase.java @@ -28,215 +28,244 @@ package com.google.zxing.oned.rss.expanded; import java.awt.image.BufferedImage; import java.io.File; +import java.io.IOException; import java.util.Hashtable; import javax.imageio.ImageIO; -import junit.framework.TestCase; - import com.google.zxing.BarcodeFormat; import com.google.zxing.BinaryBitmap; +import com.google.zxing.NotFoundException; import com.google.zxing.Result; import com.google.zxing.client.j2se.BufferedImageLuminanceSource; import com.google.zxing.common.BitArray; import com.google.zxing.common.GlobalHistogramBinarizer; +import org.junit.Assert; +import org.junit.Test; /** * @author Pablo Orduña, University of Deusto (pablo.orduna@deusto.es) * @author Eduardo Castillejo, University of Deusto (eduardo.castillejo@deusto.es) */ -public final class RSSExpandedImage2stringTestCase extends TestCase { +public final class RSSExpandedImage2stringTestCase extends Assert { - public void testDecodeRow2string_1() throws Exception{ + @Test + public void testDecodeRow2string_1() throws Exception { String path = "test/data/blackbox/rssexpanded-1/1.jpg"; String expected = "(11)100224(17)110224(3102)000100"; assertCorrectImage2string(path, expected); } - public void testDecodeRow2string_2() throws Exception{ + @Test + public void testDecodeRow2string_2() throws Exception { String path = "test/data/blackbox/rssexpanded-1/2.jpg"; String expected = "(01)90012345678908(3103)001750"; assertCorrectImage2string(path, expected); } - public void testDecodeRow2string_3() throws Exception{ + @Test + public void testDecodeRow2string_3() throws Exception { String path = "test/data/blackbox/rssexpanded-1/3.jpg"; String expected = "(10)12A"; assertCorrectImage2string(path, expected); } - public void testDecodeRow2string_4() throws Exception{ + @Test + public void testDecodeRow2string_4() throws Exception { String path = "test/data/blackbox/rssexpanded-1/4.jpg"; String expected = "(01)98898765432106(3202)012345(15)991231"; assertCorrectImage2string(path, expected); } - public void testDecodeRow2string_5() throws Exception{ + @Test + public void testDecodeRow2string_5() throws Exception { String path = "test/data/blackbox/rssexpanded-1/5.jpg"; String expected = "(01)90614141000015(3202)000150"; assertCorrectImage2string(path, expected); } - public void testDecodeRow2string_7() throws Exception{ + @Test + public void testDecodeRow2string_7() throws Exception { String path = "test/data/blackbox/rssexpanded-1/7.png"; String expected = "(10)567(11)010101"; assertCorrectImage2string(path, expected); } - public void testDecodeRow2string_10() throws Exception{ + @Test + public void testDecodeRow2string_10() throws Exception { String path = "test/data/blackbox/rssexpanded-1/10.png"; String expected = "(01)98898765432106(15)991231(3103)001750(10)12A(422)123(21)123456(423)012345678901"; assertCorrectImage2string(path, expected); } - public void testDecodeRow2string_11() throws Exception{ + @Test + public void testDecodeRow2string_11() throws Exception { String expected = "(01)98898765432106(15)991231(3103)001750(10)12A(422)123(21)123456"; String path = "test/data/blackbox/rssexpanded-1/11.png"; assertCorrectImage2string(path, expected); } - public void testDecodeRow2string_12() throws Exception{ + @Test + public void testDecodeRow2string_12() throws Exception { String expected = "(01)98898765432106(3103)001750"; String path = "test/data/blackbox/rssexpanded-1/12.jpg"; assertCorrectImage2string(path, expected); } - public void testDecodeRow2string_13() throws Exception{ + @Test + public void testDecodeRow2string_13() throws Exception { String expected = "(01)90012345678908(3922)795"; String path = "test/data/blackbox/rssexpanded-1/13.png"; assertCorrectImage2string(path, expected); } - public void testDecodeRow2string_14() throws Exception{ + @Test + public void testDecodeRow2string_14() throws Exception { String expected = "(01)90012345678908(3932)0401234"; String path = "test/data/blackbox/rssexpanded-1/14.png"; assertCorrectImage2string(path, expected); } - public void testDecodeRow2string_15() throws Exception{ + @Test + public void testDecodeRow2string_15() throws Exception { String expected = "(01)90012345678908(3102)001750(11)100312"; String path = "test/data/blackbox/rssexpanded-1/15.jpg"; assertCorrectImage2string(path, expected); } - public void testDecodeRow2string_16() throws Exception{ + @Test + public void testDecodeRow2string_16() throws Exception { String expected = "(01)90012345678908(3202)001750(11)100312"; String path = "test/data/blackbox/rssexpanded-1/16.jpg"; assertCorrectImage2string(path, expected); } - public void testDecodeRow2string_17() throws Exception{ + @Test + public void testDecodeRow2string_17() throws Exception { String expected = "(01)90012345678908(3102)001750(13)100312"; String path = "test/data/blackbox/rssexpanded-1/17.jpg"; assertCorrectImage2string(path, expected); } - public void testDecodeRow2string_18() throws Exception{ + @Test + public void testDecodeRow2string_18() throws Exception { String expected = "(01)90012345678908(3202)001750(13)100312"; String path = "test/data/blackbox/rssexpanded-1/18.jpg"; assertCorrectImage2string(path, expected); } - public void testDecodeRow2string_19() throws Exception{ + @Test + public void testDecodeRow2string_19() throws Exception { String expected = "(01)90012345678908(3102)001750(15)100312"; String path = "test/data/blackbox/rssexpanded-1/19.jpg"; assertCorrectImage2string(path, expected); } - public void testDecodeRow2string_20() throws Exception{ + @Test + public void testDecodeRow2string_20() throws Exception { String expected = "(01)90012345678908(3202)001750(15)100312"; String path = "test/data/blackbox/rssexpanded-1/20.jpg"; assertCorrectImage2string(path, expected); } - public void testDecodeRow2string_21() throws Exception{ + @Test + public void testDecodeRow2string_21() throws Exception { String expected = "(01)90012345678908(3102)001750(17)100312"; String path = "test/data/blackbox/rssexpanded-1/21.jpg"; assertCorrectImage2string(path, expected); } - public void testDecodeRow2string_22() throws Exception{ + @Test + public void testDecodeRow2string_22() throws Exception { String expected = "(01)90012345678908(3202)001750(17)100312"; String path = "test/data/blackbox/rssexpanded-1/22.jpg"; assertCorrectImage2string(path, expected); } - public void testDecodeRow2string_25() throws Exception{ + @Test + public void testDecodeRow2string_25() throws Exception { String expected = "(10)123"; String path = "test/data/blackbox/rssexpanded-1/25.png"; assertCorrectImage2string(path, expected); } - public void testDecodeRow2string_26() throws Exception{ + @Test + public void testDecodeRow2string_26() throws Exception { String expected = "(10)5678(11)010101"; String path = "test/data/blackbox/rssexpanded-1/26.png"; assertCorrectImage2string(path, expected); } - public void testDecodeRow2string_27() throws Exception{ + @Test + public void testDecodeRow2string_27() throws Exception { String expected = "(10)1098-1234"; String path = "test/data/blackbox/rssexpanded-1/27.png"; assertCorrectImage2string(path, expected); } - public void testDecodeRow2string_28() throws Exception{ + @Test + public void testDecodeRow2string_28() throws Exception { String expected = "(10)1098/1234"; String path = "test/data/blackbox/rssexpanded-1/28.png"; assertCorrectImage2string(path, expected); } - public void testDecodeRow2string_29() throws Exception{ + @Test + public void testDecodeRow2string_29() throws Exception { String expected = "(10)1098.1234"; String path = "test/data/blackbox/rssexpanded-1/29.png"; assertCorrectImage2string(path, expected); } - public void testDecodeRow2string_30() throws Exception{ + @Test + public void testDecodeRow2string_30() throws Exception { String expected = "(10)1098*1234"; String path = "test/data/blackbox/rssexpanded-1/30.png"; assertCorrectImage2string(path, expected); } - public void testDecodeRow2string_31() throws Exception{ + @Test + public void testDecodeRow2string_31() throws Exception { String expected = "(10)1098,1234"; String path = "test/data/blackbox/rssexpanded-1/31.png"; assertCorrectImage2string(path, expected); } - public void testDecodeRow2string_32() throws Exception{ + @Test + public void testDecodeRow2string_32() throws Exception { String expected = "(15)991231(3103)001750(10)12A(422)123(21)123456(423)0123456789012"; String path = "test/data/blackbox/rssexpanded-1/32.png"; assertCorrectImage2string(path, expected); } - private static void assertCorrectImage2string(String path, String expected) throws Exception { + private static void assertCorrectImage2string(String path, String expected) throws IOException, NotFoundException { RSSExpandedReader rssExpandedReader = new RSSExpandedReader(); BufferedImage image = ImageIO.read(new File(path)); @@ -246,7 +275,7 @@ public final class RSSExpandedImage2stringTestCase extends TestCase { Result result = rssExpandedReader.decodeRow(rowNumber, row, new Hashtable()); - assertEquals(BarcodeFormat.RSS_EXPANDED, result.getBarcodeFormat()); + assertSame(BarcodeFormat.RSS_EXPANDED, result.getBarcodeFormat()); assertEquals(expected, result.getText()); } diff --git a/core/test/src/com/google/zxing/oned/rss/expanded/RSSExpandedInternalTestCase.java b/core/test/src/com/google/zxing/oned/rss/expanded/RSSExpandedInternalTestCase.java index 8d7fe0f82..774f6aaf6 100644 --- a/core/test/src/com/google/zxing/oned/rss/expanded/RSSExpandedInternalTestCase.java +++ b/core/test/src/com/google/zxing/oned/rss/expanded/RSSExpandedInternalTestCase.java @@ -40,15 +40,17 @@ import com.google.zxing.common.GlobalHistogramBinarizer; import com.google.zxing.oned.rss.DataCharacter; import com.google.zxing.oned.rss.FinderPattern; -import junit.framework.TestCase; +import org.junit.Assert; +import org.junit.Test; /** * @author Pablo Orduña, University of Deusto (pablo.orduna@deusto.es) * @author Eduardo Castillejo, University of Deusto (eduardo.castillejo@deusto.es) */ -public final class RSSExpandedInternalTestCase extends TestCase { +public final class RSSExpandedInternalTestCase extends Assert { - public void testFindFinderPatterns() throws Exception{ + @Test + public void testFindFinderPatterns() throws Exception { RSSExpandedReader rssExpandedReader = new RSSExpandedReader(); String path = "test/data/blackbox/rssexpanded-1/2.jpg"; @@ -82,7 +84,8 @@ public final class RSSExpandedInternalTestCase extends TestCase { } } - public void testRetrieveNextPairPatterns() throws Exception{ + @Test + public void testRetrieveNextPairPatterns() throws Exception { RSSExpandedReader rssExpandedReader = new RSSExpandedReader(); String path = "test/data/blackbox/rssexpanded-1/3.jpg"; @@ -103,7 +106,8 @@ public final class RSSExpandedInternalTestCase extends TestCase { assertTrue(pair2.mayBeLast()); } - public void testDecodeCheckCharacter() throws Exception{ + @Test + public void testDecodeCheckCharacter() throws Exception { RSSExpandedReader rssExpandedReader = new RSSExpandedReader(); String path = "test/data/blackbox/rssexpanded-1/3.jpg"; @@ -120,7 +124,8 @@ public final class RSSExpandedInternalTestCase extends TestCase { assertEquals(98, dataCharacter.getValue()); } - public void testDecodeDataCharacter() throws Exception{ + @Test + public void testDecodeDataCharacter() throws Exception { RSSExpandedReader rssExpandedReader = new RSSExpandedReader(); String path = "test/data/blackbox/rssexpanded-1/3.jpg"; diff --git a/core/test/src/com/google/zxing/oned/rss/expanded/decoders/AI01_3103_DecoderTest.java b/core/test/src/com/google/zxing/oned/rss/expanded/decoders/AI01_3103_DecoderTest.java index d82f44187..c6490c701 100644 --- a/core/test/src/com/google/zxing/oned/rss/expanded/decoders/AI01_3103_DecoderTest.java +++ b/core/test/src/com/google/zxing/oned/rss/expanded/decoders/AI01_3103_DecoderTest.java @@ -27,6 +27,7 @@ package com.google.zxing.oned.rss.expanded.decoders; import com.google.zxing.NotFoundException; +import org.junit.Test; /** * @author Pablo Orduña, University of Deusto (pablo.orduna@deusto.es) @@ -34,7 +35,8 @@ import com.google.zxing.NotFoundException; public class AI01_3103_DecoderTest extends AbstractDecoderTest { private static final String header = "..X.."; - + + @Test public void test01_3103_1() throws Exception { String data = header + compressedGtin_900123456798908 + compressed15bitWeight_1750; String expected = "(01)90012345678908(3103)001750"; @@ -42,13 +44,15 @@ public class AI01_3103_DecoderTest extends AbstractDecoderTest { assertCorrectBinaryString(data, expected); } + @Test public void test01_3103_2() throws Exception { String data = header + compressedGtin_900000000000008 + compressed15bitWeight_0; String expected = "(01)90000000000003(3103)000000"; assertCorrectBinaryString(data, expected); } - + + @Test public void test01_3103_invalid() throws Exception { String data = header + compressedGtin_900123456798908 + compressed15bitWeight_1750 + ".."; diff --git a/core/test/src/com/google/zxing/oned/rss/expanded/decoders/AI01_3202_3203_DecoderTest.java b/core/test/src/com/google/zxing/oned/rss/expanded/decoders/AI01_3202_3203_DecoderTest.java index 1c7c0ae92..5ab57aeaf 100644 --- a/core/test/src/com/google/zxing/oned/rss/expanded/decoders/AI01_3202_3203_DecoderTest.java +++ b/core/test/src/com/google/zxing/oned/rss/expanded/decoders/AI01_3202_3203_DecoderTest.java @@ -26,12 +26,16 @@ package com.google.zxing.oned.rss.expanded.decoders; +import org.junit.Test; + /** * @author Pablo Orduña, University of Deusto (pablo.orduna@deusto.es) */ public class AI01_3202_3203_DecoderTest extends AbstractDecoderTest { + private static final String header = "..X.X"; - + + @Test public void test01_3202_1() throws Exception { String data = header + compressedGtin_900123456798908 + compressed15bitWeight_1750; String expected = "(01)90012345678908(3202)001750"; @@ -39,6 +43,7 @@ public class AI01_3202_3203_DecoderTest extends AbstractDecoderTest { assertCorrectBinaryString(data, expected); } + @Test public void test01_3203_1() throws Exception { String data = header + compressedGtin_900123456798908 + compressed15bitWeight_11750; String expected = "(01)90012345678908(3203)001750"; diff --git a/core/test/src/com/google/zxing/oned/rss/expanded/decoders/AI01_3X0X_1X_DecoderTest.java b/core/test/src/com/google/zxing/oned/rss/expanded/decoders/AI01_3X0X_1X_DecoderTest.java index a9f3543d8..8fcd789dd 100644 --- a/core/test/src/com/google/zxing/oned/rss/expanded/decoders/AI01_3X0X_1X_DecoderTest.java +++ b/core/test/src/com/google/zxing/oned/rss/expanded/decoders/AI01_3X0X_1X_DecoderTest.java @@ -26,6 +26,8 @@ package com.google.zxing.oned.rss.expanded.decoders; +import org.junit.Test; + /** * @author Pablo Orduña, University of Deusto (pablo.orduna@deusto.es) */ @@ -39,63 +41,72 @@ public class AI01_3X0X_1X_DecoderTest extends AbstractDecoderTest { private static final String header_320x_15 = "..XXXX.X"; private static final String header_310x_17 = "..XXXXX."; private static final String header_320x_17 = "..XXXXXX"; - + + @Test public void test01_310X_1X_endDate() throws Exception { String data = header_310x_11 + compressedGtin_900123456798908 + compressed20bitWeight_1750 + compressedDate_End; String expected = "(01)90012345678908(3100)001750"; assertCorrectBinaryString(data, expected); } - + + @Test public void test01_310X_11_1() throws Exception { String data = header_310x_11 + compressedGtin_900123456798908 + compressed20bitWeight_1750 + compressedDate_March_12th_2010; String expected = "(01)90012345678908(3100)001750(11)100312"; assertCorrectBinaryString(data, expected); } - + + @Test public void test01_320X_11_1() throws Exception { String data = header_320x_11 + compressedGtin_900123456798908 + compressed20bitWeight_1750 + compressedDate_March_12th_2010; String expected = "(01)90012345678908(3200)001750(11)100312"; assertCorrectBinaryString(data, expected); } - + + @Test public void test01_310X_13_1() throws Exception { String data = header_310x_13 + compressedGtin_900123456798908 + compressed20bitWeight_1750 + compressedDate_March_12th_2010; String expected = "(01)90012345678908(3100)001750(13)100312"; assertCorrectBinaryString(data, expected); } - + + @Test public void test01_320X_13_1() throws Exception { String data = header_320x_13 + compressedGtin_900123456798908 + compressed20bitWeight_1750 + compressedDate_March_12th_2010; String expected = "(01)90012345678908(3200)001750(13)100312"; assertCorrectBinaryString(data, expected); } - + + @Test public void test01_310X_15_1() throws Exception { String data = header_310x_15 + compressedGtin_900123456798908 + compressed20bitWeight_1750 + compressedDate_March_12th_2010; String expected = "(01)90012345678908(3100)001750(15)100312"; assertCorrectBinaryString(data, expected); } - + + @Test public void test01_320X_15_1() throws Exception { String data = header_320x_15 + compressedGtin_900123456798908 + compressed20bitWeight_1750 + compressedDate_March_12th_2010; String expected = "(01)90012345678908(3200)001750(15)100312"; assertCorrectBinaryString(data, expected); } - + + @Test public void test01_310X_17_1() throws Exception { String data = header_310x_17 + compressedGtin_900123456798908 + compressed20bitWeight_1750 + compressedDate_March_12th_2010; String expected = "(01)90012345678908(3100)001750(17)100312"; assertCorrectBinaryString(data, expected); } - + + @Test public void test01_320X_17_1() throws Exception { String data = header_320x_17 + compressedGtin_900123456798908 + compressed20bitWeight_1750 + compressedDate_March_12th_2010; String expected = "(01)90012345678908(3200)001750(17)100312"; diff --git a/core/test/src/com/google/zxing/oned/rss/expanded/decoders/AbstractDecoderTest.java b/core/test/src/com/google/zxing/oned/rss/expanded/decoders/AbstractDecoderTest.java index 29a5b2824..1d8618909 100644 --- a/core/test/src/com/google/zxing/oned/rss/expanded/decoders/AbstractDecoderTest.java +++ b/core/test/src/com/google/zxing/oned/rss/expanded/decoders/AbstractDecoderTest.java @@ -30,12 +30,12 @@ import com.google.zxing.NotFoundException; import com.google.zxing.common.BitArray; import com.google.zxing.oned.rss.expanded.BinaryUtil; -import junit.framework.TestCase; +import org.junit.Assert; /** * @author Pablo Orduña, University of Deusto (pablo.orduna@deusto.es) */ -public abstract class AbstractDecoderTest extends TestCase { +public abstract class AbstractDecoderTest extends Assert { protected static final String numeric_10 = "..X..XX"; protected static final String numeric_12 = "..X.X.X"; diff --git a/core/test/src/com/google/zxing/oned/rss/expanded/decoders/AnyAIDecoderTest.java b/core/test/src/com/google/zxing/oned/rss/expanded/decoders/AnyAIDecoderTest.java index 1afaab300..88f07058b 100644 --- a/core/test/src/com/google/zxing/oned/rss/expanded/decoders/AnyAIDecoderTest.java +++ b/core/test/src/com/google/zxing/oned/rss/expanded/decoders/AnyAIDecoderTest.java @@ -26,48 +26,56 @@ package com.google.zxing.oned.rss.expanded.decoders; +import org.junit.Test; + /** * @author Pablo Orduña, University of Deusto (pablo.orduna@deusto.es) */ public class AnyAIDecoderTest extends AbstractDecoderTest { private static final String header = "....."; - + + @Test public void testAnyAIDecoder_1() throws Exception { String data = header + numeric_10 + numeric_12 + numeric2alpha + alpha_A + alpha2numeric + numeric_12; String expected = "(10)12A12"; assertCorrectBinaryString(data, expected); } - + + @Test public void testAnyAIDecoder_2() throws Exception { String data = header + numeric_10 + numeric_12 + numeric2alpha + alpha_A + alpha2isoiec646 + i646_B; String expected = "(10)12AB"; assertCorrectBinaryString(data, expected); } - + + @Test public void testAnyAIDecoder_3() throws Exception { String data = header + numeric_10 + numeric2alpha + alpha2isoiec646 + i646_B + i646_C + isoiec646_2alpha + alpha_A + alpha2numeric + numeric_10; String expected = "(10)BCA10"; assertCorrectBinaryString(data, expected); } - + + @Test public void testAnyAIDecoder_numericFNC1_secondDigit() throws Exception { String data = header + numeric_10 + numeric_1FNC1; String expected = "(10)1"; assertCorrectBinaryString(data, expected); } - + + @Test public void testAnyAIDecoder_alphaFNC1() throws Exception { String data = header + numeric_10 + numeric2alpha + alpha_A + alpha_FNC1; String expected = "(10)A"; assertCorrectBinaryString(data, expected); } - + + @Test public void testAnyAIDecoder_646FNC1() throws Exception { String data = header + numeric_10 + numeric2alpha + alpha_A + isoiec646_2alpha + i646_B + i646_FNC1; String expected = "(10)AB"; diff --git a/core/test/src/com/google/zxing/oned/rss/expanded/decoders/FieldParserTest.java b/core/test/src/com/google/zxing/oned/rss/expanded/decoders/FieldParserTest.java index e35c091ea..7187864af 100644 --- a/core/test/src/com/google/zxing/oned/rss/expanded/decoders/FieldParserTest.java +++ b/core/test/src/com/google/zxing/oned/rss/expanded/decoders/FieldParserTest.java @@ -27,24 +27,27 @@ package com.google.zxing.oned.rss.expanded.decoders; import com.google.zxing.NotFoundException; -import junit.framework.TestCase; +import org.junit.Assert; +import org.junit.Test; /** * @author Pablo Orduña, University of Deusto (pablo.orduna@deusto.es) * @author Eduardo Castillejo, University of Deusto (eduardo.castillejo@deusto.es) */ -public class FieldParserTest extends TestCase{ +public class FieldParserTest extends Assert { private static void checkFields(String expected) throws NotFoundException { String field = expected.replace("(", "").replace(")",""); String actual = FieldParser.parseFieldsInGeneralPurpose(field); assertEquals(expected, actual); } - + + @Test public void testParseField() throws Exception{ checkFields("(15)991231(3103)001750(10)12A"); } - + + @Test public void testParseField2() throws Exception{ checkFields("(15)991231(15)991231(3103)001750(10)12A"); } diff --git a/core/test/src/com/google/zxing/qrcode/QRCodeWriterTestCase.java b/core/test/src/com/google/zxing/qrcode/QRCodeWriterTestCase.java index da9b17d73..1b884f9c5 100644 --- a/core/test/src/com/google/zxing/qrcode/QRCodeWriterTestCase.java +++ b/core/test/src/com/google/zxing/qrcode/QRCodeWriterTestCase.java @@ -21,20 +21,20 @@ import com.google.zxing.EncodeHintType; import com.google.zxing.WriterException; import com.google.zxing.common.BitMatrix; import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel; -import junit.framework.TestCase; +import org.junit.Assert; +import org.junit.Test; import javax.imageio.ImageIO; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; -import java.util.Arrays; import java.util.Hashtable; /** * @author satorux@google.com (Satoru Takabayashi) - creator * @author dswitkin@google.com (Daniel Switkin) - ported and expanded from C++ */ -public final class QRCodeWriterTestCase extends TestCase { +public final class QRCodeWriterTestCase extends Assert { private static final String BASE_IMAGE_PATH = "test/data/golden/qrcode/"; @@ -74,6 +74,7 @@ public final class QRCodeWriterTestCase extends TestCase { return matrix; } + @Test public void testQRCodeWriter() throws WriterException { // The QR should be multiplied up to fit, with extra padding if necessary int bigEnough = 256; @@ -123,7 +124,8 @@ public final class QRCodeWriterTestCase extends TestCase { // Golden images are generated with "qrcode_sample.cc". The images are checked with both eye balls // and cell phones. We expect pixel-perfect results, because the error correction level is known, - // and the pixel dimensions matches exactly. + // and the pixel dimensions matches exactly. + @Test public void testRegressionTest() throws WriterException { compareToGoldenFile("http://www.google.com/", ErrorCorrectionLevel.M, 99, "renderer-test-01.png"); diff --git a/core/test/src/com/google/zxing/qrcode/decoder/DataMaskTestCase.java b/core/test/src/com/google/zxing/qrcode/decoder/DataMaskTestCase.java index 43ae4f2c4..e8bda1665 100644 --- a/core/test/src/com/google/zxing/qrcode/decoder/DataMaskTestCase.java +++ b/core/test/src/com/google/zxing/qrcode/decoder/DataMaskTestCase.java @@ -17,13 +17,15 @@ package com.google.zxing.qrcode.decoder; import com.google.zxing.common.BitMatrix; -import junit.framework.TestCase; +import org.junit.Assert; +import org.junit.Test; /** * @author Sean Owen */ -public final class DataMaskTestCase extends TestCase { +public final class DataMaskTestCase extends Assert { + @Test public void testMask0() { testMaskAcrossDimensions(0, new MaskCondition() { public boolean isMasked(int i, int j) { @@ -32,6 +34,7 @@ public final class DataMaskTestCase extends TestCase { }); } + @Test public void testMask1() { testMaskAcrossDimensions(1, new MaskCondition() { public boolean isMasked(int i, int j) { @@ -40,6 +43,7 @@ public final class DataMaskTestCase extends TestCase { }); } + @Test public void testMask2() { testMaskAcrossDimensions(2, new MaskCondition() { public boolean isMasked(int i, int j) { @@ -48,6 +52,7 @@ public final class DataMaskTestCase extends TestCase { }); } + @Test public void testMask3() { testMaskAcrossDimensions(3, new MaskCondition() { public boolean isMasked(int i, int j) { @@ -56,6 +61,7 @@ public final class DataMaskTestCase extends TestCase { }); } + @Test public void testMask4() { testMaskAcrossDimensions(4, new MaskCondition() { public boolean isMasked(int i, int j) { @@ -64,6 +70,7 @@ public final class DataMaskTestCase extends TestCase { }); } + @Test public void testMask5() { testMaskAcrossDimensions(5, new MaskCondition() { public boolean isMasked(int i, int j) { @@ -72,6 +79,7 @@ public final class DataMaskTestCase extends TestCase { }); } + @Test public void testMask6() { testMaskAcrossDimensions(6, new MaskCondition() { public boolean isMasked(int i, int j) { @@ -80,6 +88,7 @@ public final class DataMaskTestCase extends TestCase { }); } + @Test public void testMask7() { testMaskAcrossDimensions(7, new MaskCondition() { public boolean isMasked(int i, int j) { @@ -88,8 +97,7 @@ public final class DataMaskTestCase extends TestCase { }); } - private void testMaskAcrossDimensions(int reference, - MaskCondition condition) { + private static void testMaskAcrossDimensions(int reference, MaskCondition condition) { DataMask mask = DataMask.forReference(reference); for (int version = 1; version <= 40; version++) { int dimension = 17 + 4 * version; @@ -97,7 +105,7 @@ public final class DataMaskTestCase extends TestCase { } } - private void testMask(DataMask mask, int dimension, MaskCondition condition) { + private static void testMask(DataMask mask, int dimension, MaskCondition condition) { BitMatrix bits = new BitMatrix(dimension); mask.unmaskBitMatrix(bits, dimension); for (int i = 0; i < dimension; i++) { diff --git a/core/test/src/com/google/zxing/qrcode/decoder/DecodedBitStreamParserTestCase.java b/core/test/src/com/google/zxing/qrcode/decoder/DecodedBitStreamParserTestCase.java index eabb134c3..1bcb2db4c 100644 --- a/core/test/src/com/google/zxing/qrcode/decoder/DecodedBitStreamParserTestCase.java +++ b/core/test/src/com/google/zxing/qrcode/decoder/DecodedBitStreamParserTestCase.java @@ -17,15 +17,17 @@ package com.google.zxing.qrcode.decoder; import com.google.zxing.common.BitSourceBuilder; -import junit.framework.TestCase; +import org.junit.Assert; +import org.junit.Test; /** * Tests {@link com.google.zxing.qrcode.decoder.DecodedBitStreamParser}. * * @author Sean Owen */ -public final class DecodedBitStreamParserTestCase extends TestCase { +public final class DecodedBitStreamParserTestCase extends Assert { + @Test public void testSimpleByteMode() throws Exception { BitSourceBuilder builder = new BitSourceBuilder(); builder.write(0x04, 4); // Byte mode @@ -38,6 +40,7 @@ public final class DecodedBitStreamParserTestCase extends TestCase { assertEquals("\u00f1\u00f2\u00f3", result); } + @Test public void testSimpleSJIS() throws Exception { BitSourceBuilder builder = new BitSourceBuilder(); builder.write(0x04, 4); // Byte mode @@ -51,6 +54,7 @@ public final class DecodedBitStreamParserTestCase extends TestCase { assertEquals("\uff61\uff62\uff63\uff90", result); } + @Test public void testECI() throws Exception { BitSourceBuilder builder = new BitSourceBuilder(); builder.write(0x07, 4); // ECI mode diff --git a/core/test/src/com/google/zxing/qrcode/decoder/ErrorCorrectionLevelTestCase.java b/core/test/src/com/google/zxing/qrcode/decoder/ErrorCorrectionLevelTestCase.java index f23cfb8a6..c12452a88 100644 --- a/core/test/src/com/google/zxing/qrcode/decoder/ErrorCorrectionLevelTestCase.java +++ b/core/test/src/com/google/zxing/qrcode/decoder/ErrorCorrectionLevelTestCase.java @@ -16,18 +16,20 @@ package com.google.zxing.qrcode.decoder; -import junit.framework.TestCase; +import org.junit.Assert; +import org.junit.Test; /** * @author Sean Owen */ -public final class ErrorCorrectionLevelTestCase extends TestCase { +public final class ErrorCorrectionLevelTestCase extends Assert { + @Test public void testForBits() { - assertEquals(ErrorCorrectionLevel.M, ErrorCorrectionLevel.forBits(0)); - assertEquals(ErrorCorrectionLevel.L, ErrorCorrectionLevel.forBits(1)); - assertEquals(ErrorCorrectionLevel.H, ErrorCorrectionLevel.forBits(2)); - assertEquals(ErrorCorrectionLevel.Q, ErrorCorrectionLevel.forBits(3)); + assertSame(ErrorCorrectionLevel.M, ErrorCorrectionLevel.forBits(0)); + assertSame(ErrorCorrectionLevel.L, ErrorCorrectionLevel.forBits(1)); + assertSame(ErrorCorrectionLevel.H, ErrorCorrectionLevel.forBits(2)); + assertSame(ErrorCorrectionLevel.Q, ErrorCorrectionLevel.forBits(3)); try { ErrorCorrectionLevel.forBits(4); fail("Should have thrown an exception"); diff --git a/core/test/src/com/google/zxing/qrcode/decoder/FormatInformationTestCase.java b/core/test/src/com/google/zxing/qrcode/decoder/FormatInformationTestCase.java index 6bf1ef7a3..c3c00534b 100644 --- a/core/test/src/com/google/zxing/qrcode/decoder/FormatInformationTestCase.java +++ b/core/test/src/com/google/zxing/qrcode/decoder/FormatInformationTestCase.java @@ -16,16 +16,18 @@ package com.google.zxing.qrcode.decoder; -import junit.framework.TestCase; +import org.junit.Assert; +import org.junit.Test; /** * @author Sean Owen */ -public final class FormatInformationTestCase extends TestCase { +public final class FormatInformationTestCase extends Assert { private static final int MASKED_TEST_FORMAT_INFO = 0x2BED; private static final int UNMASKED_TEST_FORMAT_INFO = MASKED_TEST_FORMAT_INFO ^ 0x5412; + @Test public void testBitsDiffering() { assertEquals(0, FormatInformation.numBitsDiffering(1, 1)); assertEquals(1, FormatInformation.numBitsDiffering(0, 2)); @@ -33,6 +35,7 @@ public final class FormatInformationTestCase extends TestCase { assertEquals(32, FormatInformation.numBitsDiffering(-1, 0)); } + @Test public void testDecode() { // Normal case FormatInformation expected = @@ -44,6 +47,7 @@ public final class FormatInformationTestCase extends TestCase { FormatInformation.decodeFormatInformation(UNMASKED_TEST_FORMAT_INFO, MASKED_TEST_FORMAT_INFO)); } + @Test public void testDecodeWithBitDifference() { FormatInformation expected = FormatInformation.decodeFormatInformation(MASKED_TEST_FORMAT_INFO, MASKED_TEST_FORMAT_INFO); @@ -58,6 +62,7 @@ public final class FormatInformationTestCase extends TestCase { MASKED_TEST_FORMAT_INFO ^ 0x0F, MASKED_TEST_FORMAT_INFO ^ 0x0F)); } + @Test public void testDecodeWithMisread() { FormatInformation expected = FormatInformation.decodeFormatInformation(MASKED_TEST_FORMAT_INFO, MASKED_TEST_FORMAT_INFO); diff --git a/core/test/src/com/google/zxing/qrcode/decoder/ModeTestCase.java b/core/test/src/com/google/zxing/qrcode/decoder/ModeTestCase.java index b6b359ee8..ee7ddc8b6 100644 --- a/core/test/src/com/google/zxing/qrcode/decoder/ModeTestCase.java +++ b/core/test/src/com/google/zxing/qrcode/decoder/ModeTestCase.java @@ -16,19 +16,21 @@ package com.google.zxing.qrcode.decoder; -import junit.framework.TestCase; +import org.junit.Assert; +import org.junit.Test; /** * @author Sean Owen */ -public final class ModeTestCase extends TestCase { +public final class ModeTestCase extends Assert { + @Test public void testForBits() { - assertEquals(Mode.TERMINATOR, Mode.forBits(0x00)); - assertEquals(Mode.NUMERIC, Mode.forBits(0x01)); - assertEquals(Mode.ALPHANUMERIC, Mode.forBits(0x02)); - assertEquals(Mode.BYTE, Mode.forBits(0x04)); - assertEquals(Mode.KANJI, Mode.forBits(0x08)); + assertSame(Mode.TERMINATOR, Mode.forBits(0x00)); + assertSame(Mode.NUMERIC, Mode.forBits(0x01)); + assertSame(Mode.ALPHANUMERIC, Mode.forBits(0x02)); + assertSame(Mode.BYTE, Mode.forBits(0x04)); + assertSame(Mode.KANJI, Mode.forBits(0x08)); try { Mode.forBits(0x10); fail("Should have thrown an exception"); @@ -37,6 +39,7 @@ public final class ModeTestCase extends TestCase { } } + @Test public void testCharacterCount() { // Spot check a few values assertEquals(10, Mode.NUMERIC.getCharacterCountBits(Version.getVersionForNumber(5))); diff --git a/core/test/src/com/google/zxing/qrcode/decoder/VersionTestCase.java b/core/test/src/com/google/zxing/qrcode/decoder/VersionTestCase.java index 64c5d4ee8..fccaebcfd 100644 --- a/core/test/src/com/google/zxing/qrcode/decoder/VersionTestCase.java +++ b/core/test/src/com/google/zxing/qrcode/decoder/VersionTestCase.java @@ -16,13 +16,15 @@ package com.google.zxing.qrcode.decoder; -import junit.framework.TestCase; +import org.junit.Assert; +import org.junit.Test; /** * @author Sean Owen */ -public final class VersionTestCase extends TestCase { +public final class VersionTestCase extends Assert { + @Test public void testVersionForNumber() { try { Version.getVersionForNumber(0); @@ -50,12 +52,14 @@ public final class VersionTestCase extends TestCase { assertNotNull(version.buildFunctionPattern()); } + @Test public void testGetProvisionalVersionForDimension() throws Exception { for (int i = 1; i <= 40; i++) { assertEquals(i, Version.getProvisionalVersionForDimension(4*i + 17).getVersionNumber()); } } + @Test public void testDecodeVersionInformation() { // Spot check assertEquals(7, Version.decodeVersionInformation(0x07C94).getVersionNumber()); diff --git a/core/test/src/com/google/zxing/qrcode/encoder/BitVectorTestCase.java b/core/test/src/com/google/zxing/qrcode/encoder/BitVectorTestCase.java index 87cc4aea6..41930c0e4 100644 --- a/core/test/src/com/google/zxing/qrcode/encoder/BitVectorTestCase.java +++ b/core/test/src/com/google/zxing/qrcode/encoder/BitVectorTestCase.java @@ -17,13 +17,14 @@ package com.google.zxing.qrcode.encoder; import com.google.zxing.common.BitArray; -import junit.framework.TestCase; +import org.junit.Assert; +import org.junit.Test; /** * @author satorux@google.com (Satoru Takabayashi) - creator * @author dswitkin@google.com (Daniel Switkin) - ported from C++ */ -public class BitVectorTestCase extends TestCase { +public class BitVectorTestCase extends Assert { private static long getUnsignedInt(BitArray v, int index) { long result = 0L; @@ -35,6 +36,7 @@ public class BitVectorTestCase extends TestCase { return result; } + @Test public void testAppendBit() { BitArray v = new BitArray(); assertEquals(0, v.getSizeInBytes()); @@ -80,6 +82,7 @@ public class BitVectorTestCase extends TestCase { assertEquals(0xaa800000L, getUnsignedInt(v, 0)); } + @Test public void testAppendBits() { { BitArray v = new BitArray(); @@ -101,6 +104,7 @@ public class BitVectorTestCase extends TestCase { } } + @Test public void testNumBytes() { BitArray v = new BitArray(); assertEquals(0, v.getSizeInBytes()); @@ -116,6 +120,7 @@ public class BitVectorTestCase extends TestCase { assertEquals(3, v.getSizeInBytes()); } + @Test public void testAppendBitVector() { BitArray v1 = new BitArray(); v1.appendBits(0xbe, 8); @@ -126,6 +131,7 @@ public class BitVectorTestCase extends TestCase { assertEquals(" X.XXXXX. XXX.XXXX", v1.toString()); } + @Test public void testXOR() { { BitArray v1 = new BitArray(); @@ -145,6 +151,7 @@ public class BitVectorTestCase extends TestCase { } } + @Test public void testAt() { BitArray v = new BitArray(); v.appendBits(0xdead, 16); // 1101 1110 1010 1101 @@ -169,6 +176,7 @@ public class BitVectorTestCase extends TestCase { assertTrue(v.get(15)); } + @Test public void testToString() { BitArray v = new BitArray(); v.appendBits(0xdead, 16); // 1101 1110 1010 1101 diff --git a/core/test/src/com/google/zxing/qrcode/encoder/EncoderTestCase.java b/core/test/src/com/google/zxing/qrcode/encoder/EncoderTestCase.java index b452a8bd5..057bbf2ca 100644 --- a/core/test/src/com/google/zxing/qrcode/encoder/EncoderTestCase.java +++ b/core/test/src/com/google/zxing/qrcode/encoder/EncoderTestCase.java @@ -20,7 +20,8 @@ import com.google.zxing.WriterException; import com.google.zxing.common.BitArray; import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel; import com.google.zxing.qrcode.decoder.Mode; -import junit.framework.TestCase; +import org.junit.Assert; +import org.junit.Test; import java.io.UnsupportedEncodingException; @@ -28,8 +29,9 @@ import java.io.UnsupportedEncodingException; * @author satorux@google.com (Satoru Takabayashi) - creator * @author mysen@google.com (Chris Mysen) - ported from C++ */ -public final class EncoderTestCase extends TestCase { +public final class EncoderTestCase extends Assert { + @Test public void testGetAlphanumericCode() { // The first ten code points are numbers. for (int i = 0; i < 10; ++i) { @@ -58,6 +60,7 @@ public final class EncoderTestCase extends TestCase { assertEquals(-1, Encoder.getAlphanumericCode('\0')); } + @Test public void testChooseMode() throws WriterException { // Numeric mode. assertSame(Mode.NUMERIC, Encoder.chooseMode("0")); @@ -85,6 +88,7 @@ public final class EncoderTestCase extends TestCase { assertSame(Mode.BYTE, Encoder.chooseMode(shiftJISString(new byte[]{0xe, 0x4, 0x9, 0x5, 0x9, 0x61}))); } + @Test public void testEncode() throws WriterException { QRCode qrCode = new QRCode(); Encoder.encode("ABCDEF", ErrorCorrectionLevel.H, qrCode); @@ -126,12 +130,14 @@ public final class EncoderTestCase extends TestCase { assertEquals(expected, qrCode.toString()); } + @Test public void testAppendModeInfo() { BitArray bits = new BitArray(); Encoder.appendModeInfo(Mode.NUMERIC, bits); assertEquals(" ...X", bits.toString()); } + @Test public void testAppendLengthInfo() throws WriterException { { BitArray bits = new BitArray(); @@ -167,6 +173,7 @@ public final class EncoderTestCase extends TestCase { } } + @Test public void testAppendBytes() throws WriterException { { // Should use appendNumericBytes. @@ -206,6 +213,7 @@ public final class EncoderTestCase extends TestCase { } } + @Test public void testTerminateBits() throws WriterException { { BitArray v = new BitArray(); @@ -248,6 +256,7 @@ public final class EncoderTestCase extends TestCase { } } + @Test public void testGetNumDataBytesAndNumECBytesForBlockID() throws WriterException { int[] numDataBytes = new int[1]; int[] numEcBytes = new int[1]; @@ -284,6 +293,7 @@ public final class EncoderTestCase extends TestCase { assertEquals(30, numEcBytes[0]); } + @Test public void testInterleaveWithECBytes() throws WriterException { { byte[] dataBytes = {32, 65, (byte)205, 69, 41, (byte)220, 46, (byte)128, (byte)236}; @@ -350,6 +360,7 @@ public final class EncoderTestCase extends TestCase { } } + @Test public void testAppendNumericBytes() { { // 1 = 01 = 0001 in 4 bits. @@ -383,6 +394,7 @@ public final class EncoderTestCase extends TestCase { } } + @Test public void testAppendAlphanumericBytes() throws WriterException { { // A = 10 = 0xa = 001010 in 6 bits @@ -419,6 +431,7 @@ public final class EncoderTestCase extends TestCase { } } + @Test public void testAppend8BitBytes() throws WriterException { { // 0x61, 0x62, 0x63 @@ -435,6 +448,7 @@ public final class EncoderTestCase extends TestCase { } // Numbers are from page 21 of JISX0510:2004 + @Test public void testAppendKanjiBytes() throws WriterException { BitArray bits = new BitArray(); Encoder.appendKanjiBytes(shiftJISString(new byte[] {(byte)0x93,0x5f}), bits); @@ -445,6 +459,7 @@ public final class EncoderTestCase extends TestCase { // Numbers are from http://www.swetake.com/qr/qr3.html and // http://www.swetake.com/qr/qr9.html + @Test public void testGenerateECBytes() { { byte[] dataBytes = {32, 65, (byte)205, 69, 41, (byte)220, 46, (byte)128, (byte)236}; @@ -483,6 +498,7 @@ public final class EncoderTestCase extends TestCase { } } + @Test public void testBugInBitVectorNumBytes() throws WriterException { // There was a bug in BitVector.sizeInBytes() that caused it to return a // smaller-by-one value (ex. 1465 instead of 1466) if the number of bits diff --git a/core/test/src/com/google/zxing/qrcode/encoder/MaskUtilTestCase.java b/core/test/src/com/google/zxing/qrcode/encoder/MaskUtilTestCase.java index 183cdb1f1..2a59a467d 100644 --- a/core/test/src/com/google/zxing/qrcode/encoder/MaskUtilTestCase.java +++ b/core/test/src/com/google/zxing/qrcode/encoder/MaskUtilTestCase.java @@ -16,14 +16,17 @@ package com.google.zxing.qrcode.encoder; -import junit.framework.TestCase; +import org.junit.Assert; +import org.junit.Test; /** * @author satorux@google.com (Satoru Takabayashi) - creator * @author mysen@google.com (Chris Mysen) - ported from C++ */ -public final class MaskUtilTestCase extends TestCase { +public final class MaskUtilTestCase extends Assert { + + @Test public void testApplyMaskPenaltyRule1() { { ByteMatrix matrix = new ByteMatrix(4, 1); @@ -59,6 +62,7 @@ public final class MaskUtilTestCase extends TestCase { } } + @Test public void testApplyMaskPenaltyRule2() { { ByteMatrix matrix = new ByteMatrix(1, 1); @@ -97,6 +101,7 @@ public final class MaskUtilTestCase extends TestCase { } } + @Test public void testApplyMaskPenaltyRule3() { { // Horizontal 00001011101. @@ -164,6 +169,7 @@ public final class MaskUtilTestCase extends TestCase { } } + @Test public void testApplyMaskPenaltyRule4() { { // Dark cell ratio = 0% @@ -205,6 +211,7 @@ public final class MaskUtilTestCase extends TestCase { } // See mask patterns on the page 43 of JISX0510:2004. + @Test public void testGetDataMaskBit() { int[][] mask0 = { {1, 0, 1, 0, 1, 0}, diff --git a/core/test/src/com/google/zxing/qrcode/encoder/MatrixUtilTestCase.java b/core/test/src/com/google/zxing/qrcode/encoder/MatrixUtilTestCase.java index ecb8b4b87..eab7c17a0 100644 --- a/core/test/src/com/google/zxing/qrcode/encoder/MatrixUtilTestCase.java +++ b/core/test/src/com/google/zxing/qrcode/encoder/MatrixUtilTestCase.java @@ -19,13 +19,14 @@ package com.google.zxing.qrcode.encoder; import com.google.zxing.WriterException; import com.google.zxing.common.BitArray; import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel; -import junit.framework.TestCase; +import org.junit.Assert; +import org.junit.Test; /** * @author satorux@google.com (Satoru Takabayashi) - creator * @author mysen@google.com (Chris Mysen) - ported from C++ */ -public final class MatrixUtilTestCase extends TestCase { +public final class MatrixUtilTestCase extends Assert { public void testtoString() { ByteMatrix array = new ByteMatrix(3, 3); array.set(0, 0, 0); @@ -41,6 +42,7 @@ public final class MatrixUtilTestCase extends TestCase { assertEquals(expected, array.toString()); } + @Test public void testClearMatrix() { ByteMatrix matrix = new ByteMatrix(2, 2); MatrixUtil.clearMatrix(matrix); @@ -50,6 +52,7 @@ public final class MatrixUtilTestCase extends TestCase { assertEquals(-1, matrix.get(1, 1)); } + @Test public void testEmbedBasicPatterns() throws WriterException { { // Version 1. @@ -116,6 +119,7 @@ public final class MatrixUtilTestCase extends TestCase { } } + @Test public void testEmbedTypeInfo() throws WriterException { // Type info bits = 100000011001110. String expected = @@ -146,6 +150,7 @@ public final class MatrixUtilTestCase extends TestCase { assertEquals(expected, matrix.toString()); } + @Test public void testEmbedVersionInfo() throws WriterException { // Version info bits = 000111 110010 010100 String expected = @@ -178,6 +183,7 @@ public final class MatrixUtilTestCase extends TestCase { assertEquals(expected, matrix.toString()); } + @Test public void testEmbedDataBits() throws WriterException { // Cells other than basic patterns should be filled with zero. String expected = @@ -210,6 +216,7 @@ public final class MatrixUtilTestCase extends TestCase { assertEquals(expected, matrix.toString()); } + @Test public void testBuildMatrix() throws WriterException { // From http://www.swetake.com/qr/qr7.html String expected = @@ -249,6 +256,7 @@ public final class MatrixUtilTestCase extends TestCase { matrix); } + @Test public void testFindMSBSet() { assertEquals(0, MatrixUtil.findMSBSet(0)); assertEquals(1, MatrixUtil.findMSBSet(1)); @@ -256,6 +264,7 @@ public final class MatrixUtilTestCase extends TestCase { assertEquals(32, MatrixUtil.findMSBSet(0x80000000)); } + @Test public void testCalculateBCHCode() { // Encoding of type information. // From Appendix C in JISX0510:2004 (p 65) @@ -278,6 +287,7 @@ public final class MatrixUtilTestCase extends TestCase { // We don't test a lot of cases in this function since we've already // tested them in TEST(calculateBCHCode). + @Test public void testMakeVersionInfoBits() throws WriterException { // From Appendix D in JISX0510:2004 (p 68) BitArray bits = new BitArray(); @@ -287,6 +297,7 @@ public final class MatrixUtilTestCase extends TestCase { // We don't test a lot of cases in this function since we've already // tested them in TEST(calculateBCHCode). + @Test public void testMakeTypeInfoInfoBits() throws WriterException { // From Appendix C in JISX0510:2004 (p 65) BitArray bits = new BitArray(); diff --git a/core/test/src/com/google/zxing/qrcode/encoder/QRCodeTestCase.java b/core/test/src/com/google/zxing/qrcode/encoder/QRCodeTestCase.java index aa1295cf1..63cf01d46 100644 --- a/core/test/src/com/google/zxing/qrcode/encoder/QRCodeTestCase.java +++ b/core/test/src/com/google/zxing/qrcode/encoder/QRCodeTestCase.java @@ -18,13 +18,16 @@ package com.google.zxing.qrcode.encoder; import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel; import com.google.zxing.qrcode.decoder.Mode; -import junit.framework.TestCase; +import org.junit.Assert; +import org.junit.Test; /** * @author satorux@google.com (Satoru Takabayashi) - creator * @author mysen@google.com (Chris Mysen) - ported from C++ */ -public final class QRCodeTestCase extends TestCase { +public final class QRCodeTestCase extends Assert { + + @Test public void test() { QRCode qrCode = new QRCode(); // Initially the QR Code should be invalid. @@ -42,8 +45,8 @@ public final class QRCodeTestCase extends TestCase { qrCode.setNumECBytes(130); qrCode.setNumRSBlocks(5); - assertEquals(Mode.BYTE, qrCode.getMode()); - assertEquals(ErrorCorrectionLevel.H, qrCode.getECLevel()); + assertSame(Mode.BYTE, qrCode.getMode()); + assertSame(ErrorCorrectionLevel.H, qrCode.getECLevel()); assertEquals(7, qrCode.getVersion()); assertEquals(45, qrCode.getMatrixWidth()); assertEquals(3, qrCode.getMaskPattern()); @@ -79,6 +82,7 @@ public final class QRCodeTestCase extends TestCase { } } + @Test public void testToString() { { QRCode qrCode = new QRCode(); @@ -154,6 +158,7 @@ public final class QRCodeTestCase extends TestCase { } } + @Test public void testIsValidMaskPattern() { assertFalse(QRCode.isValidMaskPattern(-1)); assertTrue(QRCode.isValidMaskPattern(0));