Jump to content

Run-length encoding: Difference between revisions

m
→‎{{header|Java}}: Changed to static methods, showed tests that were previously commented
(added PowerBASIC)
m (→‎{{header|Java}}: Changed to static methods, showed tests that were previously commented)
Line 583:
public class RunLengthEncoding {
 
public static String encode(String source) {
StringBuffer dest = new StringBuffer();
for (int i = 0; i < source.length(); i++) {
Line 597:
}
 
public static String decode(String source) {
StringBuffer dest = new StringBuffer();
Pattern pattern = Pattern.compile("[0-9]+|[a-zA-Z]");
Line 612:
 
public static void main(String[] args) {
RunLengthEncoding RLE = new RunLengthEncoding();
String example = "WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWBWWWWWWWWWWWWWW";
System.out.println(RLE.encode(example));
System.out.println(RLE.decode("1W1B1W1B1W1B1W1B1W1B1W1B1W1B"));
}
}</lang>
Tests:
<!--
 
import static org.junit.Assert.assertEquals;
{{works with|JUnit}}
<lang java>import static org.junit.Assert.assertEquals;
 
import org.junit.Test;
 
public class RunLengthEncodingTest {
private RunLengthEncoding RLE = new RunLengthEncoding();
 
@Test
Line 631 ⟶ 632:
assertEquals("4W", RLE.encode("WWWW"));
assertEquals("5w4i7k3i6p5e4d2i1a",
RLE.encode("wwwwwiiiikkkkkkkiiippppppeeeeeddddiia"));
assertEquals("12B1N12B3N24B1N14B",
RLE.encode("BBBBBBBBBBBBNBBBBBBBBBBBBNNNBBBBBBBBBBBBBBBBBBBBBBBBNBBBBBBBBBBBBBB"));
"12B1N12B3N24B1N14B",
assertEquals("WBWBWBWBWBWBWB12W1B12W3B24W1B14W", RLE
RLE
"12W1B12W3B24W1B14W", RLE.encode("WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWBWWWWWWWWWWWWWW"));
.encode("BBBBBBBBBBBBNBBBBBBBBBBBBNNNBBBBBBBBBBBBBBBBBBBBBBBBNBBBBBBBBBBBBBB"));
assertEquals(
"12W1B12W3B24W1B14W",RLE.encode("WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWBWWWWWWWWWWWWWW"));
assertEquals("1W1B1W1B1W1B1W1B1W1B1W1B1W1B", RLE.encode("WBWBWBWBWBWBWB"));
 
Line 648 ⟶ 647:
assertEquals("WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWBWWWWWWWWWWWWWW",
RLE.decode("12W1B12W3B24W1B14W"));
assertEquals("WBWBWBWBWBWBWB", RLE.decode("1W1B1W1B1W1B1W1B1W1B1W1B1W1B"));
assertEquals("WBWBWBWBWBWBWB", RLE.decode("1W1B1W1B1W1B1W1B1W1B1W1B1W1B"));
assertEquals("WBWBWBWBWBWBWB", RLE
.decode("1W1B1W1B1W1B1W1B1W1B1W1B1W1B"));
 
}
}</lang>
}
-->
 
=={{header|JavaScript}}==
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.