package com.constellio.model.utils; import static org.assertj.core.api.Assertions.assertThat; import org.junit.Test; public class MaskUtilsTest { @Test public void whenValidatingValidValueThenTrue() throws Exception { assertThat(MaskUtils.isValid("***-***-**A9", "123-666-42A2")).isTrue(); assertThat(MaskUtils.isValid("***-***-**A9", "123-666-42B2")).isTrue(); assertThat(MaskUtils.isValid("***-***-**A9", "123-666-4242")).isFalse(); assertThat(MaskUtils.isValid("***-***-**A9", "A23-666-42A2")).isTrue(); assertThat(MaskUtils.isValid("***-***-**A9", "A23-666-42B2")).isTrue(); assertThat(MaskUtils.isValid("***-***-**A9", "A23-666-42CC")).isFalse(); assertThat(MaskUtils.isValid("999-999-9999", "123-666-4242")).isTrue(); assertThat(MaskUtils.isValid("999-999-9999", "123-666-424")).isFalse(); assertThat(MaskUtils.isValid("999-999-9999", "123-666-42424")).isFalse(); assertThat(MaskUtils.isValid("(999) 999-9999", "(123) 666-4242")).isTrue(); assertThat(MaskUtils.isValid("(999) 999-9999", "123-666-4242")).isFalse(); assertThat(MaskUtils.isValid("(999) 999-9999 p#\\A\\9999\\*", "(123) 666-4242 p#A9977*")).isTrue(); assertThat(MaskUtils.isValid("(999) 999-9999 p#\\A\\9999\\*", "(123) 666-4242")).isFalse(); assertThat(MaskUtils.isValid("(999) 999-9999 p#\\A\\9999\\*", "(123) 666-4242 P#A1998*")).isFalse(); assertThat(MaskUtils.isValid("(999) 999-9999 p#\\A\\9999\\*", "(123) 666-4242 P#A99989")).isFalse(); assertThat(MaskUtils.isValid("(999) 999-9999 p#\\A\\9999\\*", "(123) 666-4242 P#B9998*")).isFalse(); assertThat(MaskUtils.isValid("A9A 9A9", "G1N 2C9")).isTrue(); assertThat(MaskUtils.isValid("A9A 9A9", "G1N2C9")).isFalse(); assertThat(MaskUtils.isValid("A9A 9A9", "G1N 2C9 ")).isFalse(); assertThat(MaskUtils.isValid("A9A 9A9", " G1N 2C9")).isFalse(); assertThat(MaskUtils.isValid("A9A 9A9", "G1N 209")).isFalse(); assertThat(MaskUtils.isValid("A9A 9A9", "G1N 2c9")).isTrue(); assertThat(MaskUtils.isValid("A9A 9A9", "G1N 2CY")).isFalse(); } @Test public void whenStrictValidateValidValueThenTrue() { assertThat(MaskUtils.strictValidate("A9A 9A9", "G1N2C9")); assertThat(MaskUtils.strictValidate("999-999-9999", "1236664242")).isTrue(); assertThat(MaskUtils.strictValidate("999-999-9999", "123666424")).isFalse(); assertThat(MaskUtils.strictValidate("999-999-9999", "12366642424")).isFalse(); assertThat(MaskUtils.strictValidate("(999) 999-9999", "1236664242")).isTrue(); assertThat(MaskUtils.strictValidate("(999) 999-9999", "123666424A")).isFalse(); assertThat(MaskUtils.strictValidate("(AAA) 999-9999", "BCD6664240")).isTrue(); assertThat(MaskUtils.strictValidate("(AAA) 999-9999", "123666424A")).isFalse(); assertThat(MaskUtils.strictValidate("(AAA) AAA-AAAA", "BCDHGFEDCB")).isTrue(); assertThat(MaskUtils.strictValidate("(AAA) AAA-AAAA", "BCDHG9EDCB")).isFalse(); } @Test public void whenStrictFormatValidValueThenTrue() throws MaskUtilsException { assertThat(MaskUtils.strictFormat("999-999-9999", "1236664242")).isEqualTo("123-666-4242"); assertThat(MaskUtils.strictFormat("(999) 999-9999", "1236664242")).isEqualTo("(123) 666-4242"); assertThat(MaskUtils.strictFormat("(AAA) 999-9999", "BCD6664240")).isEqualTo("(BCD) 666-4240"); assertThat(MaskUtils.strictFormat("(AAA) AAA-AAAA", "BCDEFGHILH")).isEqualTo("(BCD) EFG-HILH"); } @Test(expected = MaskUtilsException.MaskUtilsException_InvalidValue.class) public void whenStrictFormatInvalidValueThenException() throws MaskUtilsException { assertThat(MaskUtils.strictFormat("999-999-9999", "1")); } @Test public void whenFormattingStringToDecimalThenOk() throws Exception { assertThat(MaskUtils.format("99999", "1")).isEqualTo("00001"); assertThat(MaskUtils.format("99999", "42")).isEqualTo("00042"); } @Test public void whenNoMaskThenValid() throws Exception { assertThat(MaskUtils.isValid("", "zeString")).isTrue(); assertThat(MaskUtils.isValid(null, "zeOtherString")).isTrue(); } // @Test // public void whenFormatCompatibleValueThenFormatted() // throws Exception { // // assertThat(MaskUtils.format("###-###-####", "1236664242")).isEqualTo("123-666-4242"); // assertThat(MaskUtils.format("(###) ###-####", "1236664242")).isEqualTo("(123) 666-4242"); // assertThat(MaskUtils.format("(###) ###-#### p'####", "1236664242777")).isEqualTo("(123) 666-4242 p#777"); // // } // // @Test // public void whenFormatAFormattedValueThenReturnSameValue() // throws Exception { // // assertThat(MaskUtils.format("###-###-####", "123-666-4242")).isEqualTo("123-666-4242"); // assertThat(MaskUtils.format("(###) ###-####", "(123) 666-4242")).isEqualTo("(123) 666-4242"); // assertThat(MaskUtils.format("(###) ###-#### p'####", "(123) 666-4242 p#777")).isEqualTo("(123) 666-4242 p#777"); // } // @Test(expected = MaskUtilsException.MaskUtilsException_InvalidValue.class) // public void whenFormatValueWithMissingCharactersThenException() // throws Exception { // // String phoneMask = "###-###-####"; // String phoneNumber = "123666424"; // // MaskUtils.format(phoneMask, phoneNumber); // // } // @Test(expected = MaskUtilsException.MaskUtilsException_InvalidValue.class) // public void whenFormatValueWithInvalidCharactersThenException() // throws Exception { // // String phoneMask = "###-###-####"; // String phoneNumber = "123-666-4242p"; // // MaskUtils.format(phoneMask, phoneNumber); // // } }