Add Freenet-specific base64 implementation
[jFCPlib.git] / src / test / java / net / pterodactylus / fcp / FreenetBase64Test.java
1 package net.pterodactylus.fcp;
2
3 import static org.hamcrest.MatcherAssert.assertThat;
4 import static org.hamcrest.Matchers.is;
5
6 import org.junit.Test;
7
8 /**
9  * Unit test for {@link FreenetBase64}.
10  *
11  * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
12  */
13 public class FreenetBase64Test {
14
15         private final FreenetBase64 freenetBase64 = new FreenetBase64();
16
17         @Test
18         public void canEncodeString() {
19                 assertThat(freenetBase64.encode("".getBytes()), is(""));
20                 assertThat(freenetBase64.encode("f".getBytes()), is("Zg=="));
21                 assertThat(freenetBase64.encode("fo".getBytes()), is("Zm8="));
22                 assertThat(freenetBase64.encode("foo".getBytes()), is("Zm9v"));
23                 assertThat(freenetBase64.encode("foob".getBytes()), is("Zm9vYg=="));
24                 assertThat(freenetBase64.encode("fooba".getBytes()), is("Zm9vYmE="));
25                 assertThat(freenetBase64.encode("foobar".getBytes()), is("Zm9vYmFy"));
26         }
27
28         @Test
29         public void canDecodeStrings() {
30                 assertThat(freenetBase64.decode(""), is("".getBytes()));
31                 assertThat(freenetBase64.decode("Zg=="), is("f".getBytes()));
32                 assertThat(freenetBase64.decode("Zm8="), is("fo".getBytes()));
33                 assertThat(freenetBase64.decode("Zm9v"), is("foo".getBytes()));
34                 assertThat(freenetBase64.decode("Zm9vYg=="), is("foob".getBytes()));
35                 assertThat(freenetBase64.decode("Zm9vYmE="), is("fooba".getBytes()));
36                 assertThat(freenetBase64.decode("Zm9vYmFy"), is("foobar".getBytes()));
37         }
38
39 }