package org.nutz.mvc.upload.util; import static org.junit.Assert.*; import org.junit.Test; import org.nutz.lang.Lang; public class RemountBytesTest { private static RemountBytes RB(String s) { return RemountBytes.create(Lang.toBytes(s.toCharArray())); } @Test public void test_case_A() { RemountBytes rb = RB("AABC"); assertEquals(0, rb.fails[0]); assertEquals(0, rb.fails[1]); assertEquals(1, rb.fails[2]); assertEquals(0, rb.fails[3]); } @Test public void test_case_A2() { RemountBytes rb = RB("AAABC"); assertEquals(0, rb.fails[0]); assertEquals(0, rb.fails[1]); assertEquals(1, rb.fails[2]); assertEquals(2, rb.fails[3]); assertEquals(0, rb.fails[4]); } @Test public void test_case_B() { RemountBytes rb = RB("ABABX"); assertEquals(0, rb.fails[0]); // A assertEquals(0, rb.fails[1]); // B assertEquals(0, rb.fails[2]); // A assertEquals(1, rb.fails[3]); // B assertEquals(2, rb.fails[4]); // X } @Test public void test_case_C() { RemountBytes rb = RB("ABCABCX"); assertEquals(0, rb.fails[0]); // A assertEquals(0, rb.fails[1]); // B assertEquals(0, rb.fails[2]); // C assertEquals(0, rb.fails[3]); // A assertEquals(1, rb.fails[4]); // B assertEquals(2, rb.fails[5]); // C assertEquals(3, rb.fails[6]); // X } @Test public void test_case_D() { RemountBytes rb = RB("AAAAAD"); assertEquals(0, rb.fails[0]); // A assertEquals(0, rb.fails[1]); // A assertEquals(1, rb.fails[2]); // A assertEquals(2, rb.fails[3]); // A assertEquals(3, rb.fails[4]); // A assertEquals(4, rb.fails[5]); // D } }