2016-03-04 17:48:59 +01:00
/ *
* The MIT License ( MIT )
*
* Copyright ( c ) 2015 Ziver Koc
*
* Permission is hereby granted , free of charge , to any person obtaining a copy
* of this software and associated documentation files ( the " Software " ) , to deal
* in the Software without restriction , including without limitation the rights
* to use , copy , modify , merge , publish , distribute , sublicense , and / or sell
* copies of the Software , and to permit persons to whom the Software is
* furnished to do so , subject to the following conditions :
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software .
*
* THE SOFTWARE IS PROVIDED " AS IS " , WITHOUT WARRANTY OF ANY KIND , EXPRESS OR
* IMPLIED , INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY ,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT . IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM , DAMAGES OR OTHER
* LIABILITY , WHETHER IN AN ACTION OF CONTRACT , TORT OR OTHERWISE , ARISING FROM ,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE .
* /
package zutil.parser ;
import org.junit.Test ;
import java.util.Base64 ;
import static org.junit.Assert.assertEquals ;
public class Base64Test {
@Test
public void decode ( ) {
assertEquals ( " Man is distinguished, not only by his reason, but by this singular passion from other animals, which is a lust of the mind, that by a perseverance of delight in the continued and indefatigable generation of knowledge, exceeds the short vehemence of any carnal pleasure. " ,
Base64Decoder . decode ( " TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0aGlzIHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGljaCBpcyBhIGx1c3Qgb2YgdGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGVsaWdodCBpbiB0aGUgY29udGludWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYXRpb24gb2Yga25vd2xlZGdlLCBleGNlZWRzIHRoZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCBwbGVhc3VyZS4= " )
) ;
Base64Decoder decoder = new Base64Decoder ( ) ;
decoder . clear ( ) ;
decoder . read ( " YW55IGNhcm5hbCBwbGVhc3VyZQ== " ) ;
assertEquals ( " any carnal pleasure " , decoder . toString ( ) ) ;
decoder . clear ( ) ;
decoder . read ( " bGVhc3VyZS4= " ) ;
assertEquals ( " leasure. " , decoder . toString ( ) ) ;
decoder . clear ( ) ;
decoder . read ( " YW55IGNhcm5hbCBwbGVhc3Vy " ) ;
assertEquals ( " any carnal pleasur " , decoder . toString ( ) ) ;
decoder . clear ( ) ;
}
@Test
public void encode ( ) {
assertEquals ( " TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0aGlzIHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGljaCBpcyBhIGx1c3Qgb2YgdGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGVsaWdodCBpbiB0aGUgY29udGludWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYXRpb24gb2Yga25vd2xlZGdlLCBleGNlZWRzIHRoZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCBwbGVhc3VyZS4= " ,
Base64Encoder . encode ( " Man is distinguished, not only by his reason, but by this singular passion from other animals, which is a lust of the mind, that by a perseverance of delight in the continued and indefatigable generation of knowledge, exceeds the short vehemence of any carnal pleasure. " )
) ;
assertEquals ( " YW55IGNhcm5hbCBwbGVhc3VyZQ== " , Base64Encoder . encode ( " any carnal pleasure " ) ) ;
assertEquals ( " bGVhc3VyZS4= " , Base64Encoder . encode ( " leasure. " ) ) ;
assertEquals ( " YW55IGNhcm5hbCBwbGVhc3Vy " , Base64Encoder . encode ( " any carnal pleasur " ) ) ;
}
@Test
public void encodeJavaUtil ( ) {
assertEquals ( " TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0aGlzIHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGljaCBpcyBhIGx1c3Qgb2YgdGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGVsaWdodCBpbiB0aGUgY29udGludWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYXRpb24gb2Yga25vd2xlZGdlLCBleGNlZWRzIHRoZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCBwbGVhc3VyZS4= " ,
Base64 . getEncoder ( ) . encodeToString ( " Man is distinguished, not only by his reason, but by this singular passion from other animals, which is a lust of the mind, that by a perseverance of delight in the continued and indefatigable generation of knowledge, exceeds the short vehemence of any carnal pleasure. " . getBytes ( ) )
) ;
assertEquals ( " YW55IGNhcm5hbCBwbGVhc3VyZQ== " , Base64 . getEncoder ( ) . encodeToString ( " any carnal pleasure " . getBytes ( ) ) ) ;
assertEquals ( " bGVhc3VyZS4= " , Base64 . getEncoder ( ) . encodeToString ( " leasure. " . getBytes ( ) ) ) ;
assertEquals ( " YW55IGNhcm5hbCBwbGVhc3Vy " , Base64 . getEncoder ( ) . encodeToString ( " any carnal pleasur " . getBytes ( ) ) ) ;
}
}