// Path: src/main/java/org/abstractj/kalium/keys/PrivateKey.java
// public class PrivateKey implements Key {
// 
//     private final byte[] secretKey;
// 
//     public PrivateKey(byte[] secretKey) {
//         this.secretKey = secretKey;
//         checkLength(secretKey, CRYPTO_BOX_CURVE25519XSALSA20POLY1305_SECRETKEYBYTES);
//     }
// 
//     public PrivateKey(String secretKey) {
//         this.secretKey = HEX.decode(secretKey);
//         checkLength(this.secretKey, CRYPTO_BOX_CURVE25519XSALSA20POLY1305_SECRETKEYBYTES);
//     }
// 
//     @Override
//     public byte[] toBytes() {
//         return secretKey;
//     }
// 
//     @Override
//     public String toString() {
//         return HEX.encode(secretKey);
//     }
// }
// 
// Path: src/main/java/org/abstractj/kalium/keys/PublicKey.java
// public class PublicKey implements Key {
// 
//     private final byte[] publicKey;
// 
//     public PublicKey(byte[] publicKey) {
//         this.publicKey = publicKey;
//         checkLength(publicKey, CRYPTO_BOX_CURVE25519XSALSA20POLY1305_PUBLICKEYBYTES);
//     }
// 
//     public PublicKey(String publicKey) {
//         this.publicKey = HEX.decode(publicKey);
//     }
// 
//     public byte[] toBytes() {
//         return publicKey;
//     }
// 
//     @Override
//     public String toString() {
//         return HEX.encode(publicKey);
//     }
// }
// 
// Path: src/test/java/org/abstractj/kalium/fixture/TestVectors.java
// public static final String ALICE_PRIVATE_KEY = "77076d0a7318a57d3c16c17251b26645df4c2f87ebc0992ab177fba51db92c2a";
// 
// Path: src/test/java/org/abstractj/kalium/fixture/TestVectors.java
// public static final String ALICE_PUBLIC_KEY = "8520f0098930a754748b7ddcb43ef75a0dbf3a0d26381af4eba4a98eaa9b4e6a";
// 
// Path: src/test/java/org/abstractj/kalium/fixture/TestVectors.java
// public static final String BOB_PRIVATE_KEY = "5dab087e624a8a4b79e17f8b83800ee66f3bb1292618b6fd1c2f8b27ff88e0eb";
// 
// Path: src/test/java/org/abstractj/kalium/fixture/TestVectors.java
// public static final String BOB_PUBLIC_KEY = "de9edb7d7b7dc1b4d35b61c2ece435373f8343c85b78674dadfc7e146f882b4f";
// 
// Path: src/test/java/org/abstractj/kalium/fixture/TestVectors.java
// public static final String BOX_CIPHERTEXT = "f3ffc7703f9400e52a7dfb4b3d3305d98e993b9f48681273c29650ba32fc76ce" +
//         "48332ea7164d96a4476fb8c531a1186ac0dfc17c98dce87b4da7f011ec48c972" +
//         "71d2c20f9b928fe2270d6fb863d51738b48eeee314a7cc8ab932164548e526ae" +
//         "90224368517acfeabd6bb3732bc0e9da99832b61ca01b6de56244a9e88d5f9b3" +
//         "7973f622a43d14a6599b1f654cb45a74e355a5";
// 
// Path: src/test/java/org/abstractj/kalium/fixture/TestVectors.java
// public static final String BOX_MESSAGE = "be075fc53c81f2d5cf141316ebeb0c7b5228c52a4c62cbd44b66849b64244ffc" +
//         "e5ecbaaf33bd751a1ac728d45e6c61296cdc3c01233561f41db66cce314adb31" +
//         "0e3be8250c46f06dceea3a7fa1348057e2f6556ad6b1318a024a838f21af1fde" +
//         "048977eb48f59ffd4924ca1c60902e52f0a089bc76897040e082f93776384864" +
//         "5e0705";
// 
// Path: src/test/java/org/abstractj/kalium/fixture/TestVectors.java
// public static final String BOX_NONCE = "69696ee955b62b73cd62bda875fc73d68219e0036b7a0b37";


import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import org.abstractj.kalium.keys.PrivateKey;
import org.abstractj.kalium.keys.PublicKey;
import org.junit.Test;
import java.util.Arrays;
import static org.abstractj.kalium.encoders.Encoder.HEX;
import static org.abstractj.kalium.fixture.TestVectors.ALICE_PRIVATE_KEY;
import static org.abstractj.kalium.fixture.TestVectors.ALICE_PUBLIC_KEY;
import static org.abstractj.kalium.fixture.TestVectors.BOB_PRIVATE_KEY;
import static org.abstractj.kalium.fixture.TestVectors.BOB_PUBLIC_KEY;
import static org.abstractj.kalium.fixture.TestVectors.BOX_CIPHERTEXT;
import static org.abstractj.kalium.fixture.TestVectors.BOX_MESSAGE;
import static org.abstractj.kalium.fixture.TestVectors.BOX_NONCE;
/**
 * Copyright 2013 Bruno Oliveira, and individual contributors
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.abstractj.kalium.crypto;





public class BoxTest {

    @Test
    public void testAcceptStrings() throws Exception {
        try {
// Path: src/main/java/org/abstractj/kalium/keys/PrivateKey.java
// public class PrivateKey implements Key {
// 
//     private final byte[] secretKey;
// 
//     public PrivateKey(byte[] secretKey) {
//         this.secretKey = secretKey;
//         checkLength(secretKey, CRYPTO_BOX_CURVE25519XSALSA20POLY1305_SECRETKEYBYTES);
//     }
// 
//     public PrivateKey(String secretKey) {
//         this.secretKey = HEX.decode(secretKey);
//         checkLength(this.secretKey, CRYPTO_BOX_CURVE25519XSALSA20POLY1305_SECRETKEYBYTES);
//     }
// 
//     @Override
//     public byte[] toBytes() {
//         return secretKey;
//     }
// 
//     @Override
//     public String toString() {
//         return HEX.encode(secretKey);
//     }
// }
// 
// Path: src/main/java/org/abstractj/kalium/keys/PublicKey.java
// public class PublicKey implements Key {
// 
//     private final byte[] publicKey;
// 
//     public PublicKey(byte[] publicKey) {
//         this.publicKey = publicKey;
//         checkLength(publicKey, CRYPTO_BOX_CURVE25519XSALSA20POLY1305_PUBLICKEYBYTES);
//     }
// 
//     public PublicKey(String publicKey) {
//         this.publicKey = HEX.decode(publicKey);
//     }
// 
//     public byte[] toBytes() {
//         return publicKey;
//     }
// 
//     @Override
//     public String toString() {
//         return HEX.encode(publicKey);
//     }
// }
// 
// Path: src/test/java/org/abstractj/kalium/fixture/TestVectors.java
// public static final String ALICE_PRIVATE_KEY = "77076d0a7318a57d3c16c17251b26645df4c2f87ebc0992ab177fba51db92c2a";
// 
// Path: src/test/java/org/abstractj/kalium/fixture/TestVectors.java
// public static final String ALICE_PUBLIC_KEY = "8520f0098930a754748b7ddcb43ef75a0dbf3a0d26381af4eba4a98eaa9b4e6a";
// 
// Path: src/test/java/org/abstractj/kalium/fixture/TestVectors.java
// public static final String BOB_PRIVATE_KEY = "5dab087e624a8a4b79e17f8b83800ee66f3bb1292618b6fd1c2f8b27ff88e0eb";
// 
// Path: src/test/java/org/abstractj/kalium/fixture/TestVectors.java
// public static final String BOB_PUBLIC_KEY = "de9edb7d7b7dc1b4d35b61c2ece435373f8343c85b78674dadfc7e146f882b4f";
// 
// Path: src/test/java/org/abstractj/kalium/fixture/TestVectors.java
// public static final String BOX_CIPHERTEXT = "f3ffc7703f9400e52a7dfb4b3d3305d98e993b9f48681273c29650ba32fc76ce" +
//         "48332ea7164d96a4476fb8c531a1186ac0dfc17c98dce87b4da7f011ec48c972" +
//         "71d2c20f9b928fe2270d6fb863d51738b48eeee314a7cc8ab932164548e526ae" +
//         "90224368517acfeabd6bb3732bc0e9da99832b61ca01b6de56244a9e88d5f9b3" +
//         "7973f622a43d14a6599b1f654cb45a74e355a5";
// 
// Path: src/test/java/org/abstractj/kalium/fixture/TestVectors.java
// public static final String BOX_MESSAGE = "be075fc53c81f2d5cf141316ebeb0c7b5228c52a4c62cbd44b66849b64244ffc" +
//         "e5ecbaaf33bd751a1ac728d45e6c61296cdc3c01233561f41db66cce314adb31" +
//         "0e3be8250c46f06dceea3a7fa1348057e2f6556ad6b1318a024a838f21af1fde" +
//         "048977eb48f59ffd4924ca1c60902e52f0a089bc76897040e082f93776384864" +
//         "5e0705";
// 
// Path: src/test/java/org/abstractj/kalium/fixture/TestVectors.java
// public static final String BOX_NONCE = "69696ee955b62b73cd62bda875fc73d68219e0036b7a0b37";


// Path: src/test/java/org/abstractj/kalium/crypto/BoxTest.java
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import org.abstractj.kalium.keys.PrivateKey;
import org.abstractj.kalium.keys.PublicKey;
import org.junit.Test;
import java.util.Arrays;
import static org.abstractj.kalium.encoders.Encoder.HEX;
import static org.abstractj.kalium.fixture.TestVectors.ALICE_PRIVATE_KEY;
import static org.abstractj.kalium.fixture.TestVectors.ALICE_PUBLIC_KEY;
import static org.abstractj.kalium.fixture.TestVectors.BOB_PRIVATE_KEY;
import static org.abstractj.kalium.fixture.TestVectors.BOB_PUBLIC_KEY;
import static org.abstractj.kalium.fixture.TestVectors.BOX_CIPHERTEXT;
import static org.abstractj.kalium.fixture.TestVectors.BOX_MESSAGE;
import static org.abstractj.kalium.fixture.TestVectors.BOX_NONCE;

/**
 * Copyright 2013 Bruno Oliveira, and individual contributors
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.abstractj.kalium.crypto;





public class BoxTest {

    @Test
    public void testAcceptStrings() throws Exception {
        try {
            new Box(ALICE_PUBLIC_KEY, BOB_PRIVATE_KEY, HEX);