blob: 922e6ea087a68b847561a86b232c90e9262802a5 [file] [log] [blame]
package org.eclipse.basyx.testsuite.regression.submodel.metamodel.map.submodelelement.dataelement;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import java.nio.charset.StandardCharsets;
import java.util.Base64;
import org.eclipse.basyx.submodel.metamodel.map.submodelelement.dataelement.Blob;
import org.junit.Before;
import org.junit.Test;
/**
* Tests if a Blob stores its data correctly
*
* @author espen
*
*/
public class TestBlob {
public final String BLOB_CONTENT = "BLOB_VALUE";
protected Blob blob;
protected String testString = "NEW!";
protected byte[] testBytes = testString.getBytes(StandardCharsets.UTF_8);
protected String testBase64 = Base64.getEncoder().encodeToString(testBytes);
@Before
public void build() {
blob = new Blob("testIdShort", "mimeType");
}
/**
* Tests if getMimeType() returns the correct value
*/
@Test
public void testGetMimeType() {
assertEquals("mimeType", blob.getMimeType());
}
/**
* Tests if getValue() returns the correct value if it hasn't been set before
*/
@Test
public void testGetEmptyValue() {
assertNull(blob.getValue());
}
/**
* Tests if setValue sets the correct values
*/
@Test
public void testSetValue() {
blob.setValue(testBase64);
assertEquals(testString, blob.getUTF8String());
assertArrayEquals(testBytes, blob.getByteArrayValue());
assertEquals(testBase64, blob.getValue());
}
/**
* Tests if setUTF8 sets the correct value
*/
@Test
public void testSetUTF8() {
blob.setUTF8String(testString);
assertEquals(testString, blob.getUTF8String());
assertArrayEquals(testBytes, blob.getByteArrayValue());
assertEquals(testBase64, blob.getValue());
}
/**
* Tests if SetByteArrayValue() sets the correct value
*/
@Test
public void testSetByteArray() {
blob.setByteArrayValue(testBytes);
assertEquals(testString, blob.getUTF8String());
assertArrayEquals(testBytes, blob.getByteArrayValue());
assertEquals(testBase64, blob.getValue());
}
}