aboutsummaryrefslogtreecommitdiffstats
path: root/libparc/parc/algol/test/test_parc_BufferComposer.c
diff options
context:
space:
mode:
Diffstat (limited to 'libparc/parc/algol/test/test_parc_BufferComposer.c')
-rw-r--r--libparc/parc/algol/test/test_parc_BufferComposer.c448
1 files changed, 0 insertions, 448 deletions
diff --git a/libparc/parc/algol/test/test_parc_BufferComposer.c b/libparc/parc/algol/test/test_parc_BufferComposer.c
deleted file mode 100644
index fad9857c..00000000
--- a/libparc/parc/algol/test/test_parc_BufferComposer.c
+++ /dev/null
@@ -1,448 +0,0 @@
-/*
- * Copyright (c) 2017 Cisco and/or its affiliates.
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-// Include the file(s) containing the functions to be tested.
-// This permits internal static functions to be visible to this Test Framework.
-#include "../parc_BufferComposer.c"
-
-#include <inttypes.h>
-#include <LongBow/unit-test.h>
-#include <LongBow/debugging.h>
-
-#include <parc/algol/parc_SafeMemory.h>
-#include <parc/testing/parc_ObjectTesting.h>
-
-typedef struct {
- uint32_t setupAllocations;
- PARCBufferComposer *composer;
-} TestData;
-
-static TestData*
-commonSetup()
-{
- uint32_t outstanding = parcSafeMemory_Outstanding();
- TestData *data = parcMemory_AllocateAndClear(sizeof(TestData));
- assertNotNull(data, "parcMemory_AllocateAndClear of %zu bytes returned NULL.", sizeof(TestData));
- data->setupAllocations = outstanding;
- data->composer = parcBufferComposer_Create();
- return data;
-}
-
-static uint32_t
-commonTearDown(TestData *data)
-{
- uint32_t setupAllocations = data->setupAllocations;
-
- // NOTE: The `parcBufferComposer_AssertValid_IncrementSize` invalidates this object, so we must
- // restore it to a good state in order for all memory to be released correctly.
- (data->composer)->incrementHeuristic = sizeof(void *);
-
- parcBufferComposer_Release(&(data->composer));
- parcMemory_Deallocate((void **) &data);
- return parcSafeMemory_ReportAllocation(STDOUT_FILENO) - setupAllocations;
-}
-
-LONGBOW_TEST_RUNNER(parc_BufferComposer)
-{
- // The following Test Fixtures will run their corresponding Test Cases.
- // Test Fixtures are run in the order specified, but all tests should be idempotent.
- // Never rely on the execution order of tests or share state between them.
- LONGBOW_RUN_TEST_FIXTURE(Global);
-}
-
-// The Test Runner calls this function once before any Test Fixtures are run.
-LONGBOW_TEST_RUNNER_SETUP(parc_BufferComposer)
-{
- return LONGBOW_STATUS_SUCCEEDED;
-}
-
-// The Test Runner calls this function once after all the Test Fixtures are run.
-LONGBOW_TEST_RUNNER_TEARDOWN(parc_BufferComposer)
-{
- return LONGBOW_STATUS_SUCCEEDED;
-}
-
-LONGBOW_TEST_FIXTURE(Global)
-{
- LONGBOW_RUN_TEST_CASE(Global, parcBufferComposer_Acquire);
- LONGBOW_RUN_TEST_CASE(Global, parcBufferComposer_Allocate);
- LONGBOW_RUN_TEST_CASE(Global, parcBufferComposer_Allocate_SizeMax);
- LONGBOW_RUN_TEST_CASE(Global, parcBufferComposer_AssertValid);
- LONGBOW_RUN_TEST_CASE(Global, parcBufferComposer_AssertValid_NULL);
- LONGBOW_RUN_TEST_CASE(Global, parcBufferComposer_AssertValid_IncrementSize);
- LONGBOW_RUN_TEST_CASE(Global, parcBufferComposer_Create);
- LONGBOW_RUN_TEST_CASE(Global, parcBufferComposer_Equals);
- LONGBOW_RUN_TEST_CASE(Global, parcBufferComposer_PutArray);
- LONGBOW_RUN_TEST_CASE(Global, parcBufferComposer_PutBuffer);
- LONGBOW_RUN_TEST_CASE(Global, parcBufferComposer_PutUint16);
- LONGBOW_RUN_TEST_CASE(Global, parcBufferComposer_PutUint32);
- LONGBOW_RUN_TEST_CASE(Global, parcBufferComposer_PutUint64);
- LONGBOW_RUN_TEST_CASE(Global, parcBufferComposer_PutUint8);
- LONGBOW_RUN_TEST_CASE(Global, parcBufferComposer_PutString);
- LONGBOW_RUN_TEST_CASE(Global, parcBufferComposer_PutStrings);
- LONGBOW_RUN_TEST_CASE(Global, parcBufferComposer_Format);
- LONGBOW_RUN_TEST_CASE(Global, parcBufferComposer_PutChar);
- LONGBOW_RUN_TEST_CASE(Global, parcBufferComposer_GetBuffer);
- LONGBOW_RUN_TEST_CASE(Global, parcBufferComposer_CreateBuffer);
- LONGBOW_RUN_TEST_CASE(Global, parcBufferComposer_ProduceBuffer);
- LONGBOW_RUN_TEST_CASE(Global, parcBufferComposer_PutString_Extend);
- LONGBOW_RUN_TEST_CASE(Global, parcBufferComposer_ToString);
-}
-
-LONGBOW_TEST_FIXTURE_SETUP(Global)
-{
- TestData *data = commonSetup();
- longBowTestCase_SetClipBoardData(testCase, data);
- return LONGBOW_STATUS_SUCCEEDED;
-}
-
-LONGBOW_TEST_FIXTURE_TEARDOWN(Global)
-{
- TestData *data = longBowTestCase_GetClipBoardData(testCase);
-
- uint32_t outstandingAllocations = commonTearDown(data);
-
- if (outstandingAllocations != 0) {
- printf("%s leaks %d memory allocations\n", longBowTestCase_GetName(testCase), outstandingAllocations);
- return LONGBOW_STATUS_MEMORYLEAK;
- }
- return LONGBOW_STATUS_SUCCEEDED;
-}
-
-LONGBOW_TEST_CASE(Global, parcBufferComposer_Acquire)
-{
- PARCBufferComposer *composer = parcBufferComposer_Create();
-
- PARCBufferComposer *handle = parcBufferComposer_Acquire(composer);
-
- assertNotNull(handle, "Acquired PARCBufferComposer handle should be non-NULL.");
- assertTrue(parcBufferComposer_Equals(composer, handle), "PARCBufferComposer instances should be equal");
-
- parcBufferComposer_Release(&handle);
- parcBufferComposer_Release(&composer);
-}
-
-LONGBOW_TEST_CASE(Global, parcBufferComposer_Allocate)
-{
- size_t size = 10;
- PARCBufferComposer *composer = parcBufferComposer_Allocate(size);
- PARCBuffer *buffer = parcBufferComposer_GetBuffer(composer);
-
- assertNotNull(composer, "PARCBufferComposer instance should be non-NULL.");
- assertTrue(parcBuffer_Limit(buffer) == size,
- "PARCBufferComposer instance's internal PARCBuffer limit must be %zu: %zu", size, parcBuffer_Limit(buffer));
-
- parcBufferComposer_Release(&composer);
-}
-
-LONGBOW_TEST_CASE(Global, parcBufferComposer_Allocate_SizeMax)
-{
- size_t size = SIZE_MAX;
- PARCBufferComposer *composer = parcBufferComposer_Allocate(size);
-
- assertNull(composer, "PARCBufferComposer instance should be NULL.");
-}
-
-LONGBOW_TEST_CASE(Global, parcBufferComposer_AssertValid)
-{
- PARCBufferComposer *composer = parcBufferComposer_Create();
-
- assertNotNull(composer, "PARCBufferComposer instance should be non-NULL.");
- parcBufferComposer_AssertValid(composer);
-
- parcBufferComposer_Release(&composer);
-}
-
-LONGBOW_TEST_CASE_EXPECTS(Global, parcBufferComposer_AssertValid_NULL, .event = &LongBowTrapIllegalValue)
-{
- parcBufferComposer_AssertValid(NULL);
-}
-
-LONGBOW_TEST_CASE_EXPECTS(Global, parcBufferComposer_AssertValid_IncrementSize, .event = &LongBowTrapIllegalValue)
-{
- TestData *data = longBowTestCase_GetClipBoardData(testCase);
- (data->composer)->incrementHeuristic = 0; // must be >= sizeof(void *)
- parcBufferComposer_AssertValid(data->composer);
-}
-
-LONGBOW_TEST_CASE(Global, parcBufferComposer_Create)
-{
- PARCBufferComposer *composer = parcBufferComposer_Create();
-
- assertNotNull(composer, "PARCBufferComposer instance should be non-NULL.");
-
- parcBufferComposer_Release(&composer);
-}
-
-LONGBOW_TEST_CASE(Global, parcBufferComposer_Equals)
-{
- PARCBufferComposer *x = parcBufferComposer_Create();
- PARCBufferComposer *y = parcBufferComposer_Create();
- PARCBufferComposer *z = parcBufferComposer_Create();
- PARCBufferComposer *u = parcBufferComposer_Allocate(10);
-
- parcObjectTesting_AssertEqualsFunction(parcBufferComposer_Equals, x, y, z, u);
-
- u->incrementHeuristic = 0;
- assertFalse(parcBufferComposer_Equals(x, u), "PARCBufferComposer instances should be unequal due to size increments.");
- assertFalse(parcBufferComposer_Equals(x, NULL), "Equals should return false since the second parameter is NULL.");
- u->incrementHeuristic = sizeof(void *);
-
- parcBufferComposer_Release(&x);
- parcBufferComposer_Release(&y);
- parcBufferComposer_Release(&z);
- parcBufferComposer_Release(&u);
-}
-
-LONGBOW_TEST_CASE(Global, parcBufferComposer_ToString)
-{
- PARCBufferComposer *composer = parcBufferComposer_Create();
- parcBufferComposer_Format(composer, "hello %s", "world");
-
- char *string = parcBufferComposer_ToString(composer);
-
- assertNotNull(string, "Expected non-NULL result from parcBufferComposer_ToString");
-
- parcMemory_Deallocate((void **) &string);
-
- parcBufferComposer_Release(&composer);
-}
-
-LONGBOW_TEST_CASE(Global, parcBufferComposer_GetBuffer)
-{
- PARCBufferComposer *composer = parcBufferComposer_Create();
- PARCBuffer *buffer = parcBufferComposer_GetBuffer(composer);
-
- assertNotNull(composer, "PARCBufferComposer instance should be non-NULL.");
- assertNotNull(buffer, "PARCBufferComposer instance's internal PARCBuffer should not be NULL");
-
- parcBufferComposer_Release(&composer);
-}
-
-LONGBOW_TEST_CASE(Global, parcBufferComposer_PutArray)
-{
- PARCBufferComposer *composer = parcBufferComposer_Create();
-
- uint8_t string[6] = { 'h', 'e', 'l', 'l', 'o', '\0' };
- parcBufferComposer_PutArray(composer, string, 6);
-
- PARCBuffer *buffer = parcBufferComposer_ProduceBuffer(composer);
-
- char expected[5] = "hello";
- char *actual = parcBuffer_ToString(buffer);
- assertTrue(strncmp(expected, actual, 5) == 0, "Expected strings to match. Got %s, expected %s", actual, expected);
-
- parcMemory_Deallocate((void **) &actual);
- parcBuffer_Release(&buffer);
- parcBufferComposer_Release(&composer);
-}
-
-LONGBOW_TEST_CASE(Global, parcBufferComposer_PutBuffer)
-{
- PARCBufferComposer *composer = parcBufferComposer_Create();
-
- PARCBuffer *insertee = parcBuffer_WrapCString("hello world");
- parcBufferComposer_PutBuffer(composer, insertee);
- parcBuffer_Release(&insertee);
-
- PARCBuffer *buffer = parcBufferComposer_ProduceBuffer(composer);
-
- char expected[11] = "hello world";
- char *actual = parcBuffer_ToString(buffer);
- assertTrue(strncmp(expected, actual, 11) == 0, "Expected strings to match. Got %s, expected %s", actual, expected);
-
- parcMemory_Deallocate((void **) &actual);
- parcBuffer_Release(&buffer);
- parcBufferComposer_Release(&composer);
-}
-
-LONGBOW_TEST_CASE(Global, parcBufferComposer_PutUint16)
-{
- PARCBufferComposer *composer = parcBufferComposer_Create();
-
- uint16_t val = 0x0101;
- parcBufferComposer_PutUint16(composer, val);
-
- PARCBuffer *buffer = parcBufferComposer_ProduceBuffer(composer);
- assertTrue(parcBuffer_GetUint16(buffer) == val, "Expected inserted uint16_t to be equal to %x, got %x", val, parcBuffer_GetUint16(buffer));
-
- parcBuffer_Release(&buffer);
- parcBufferComposer_Release(&composer);
-}
-
-LONGBOW_TEST_CASE(Global, parcBufferComposer_PutUint32)
-{
- PARCBufferComposer *composer = parcBufferComposer_Create();
-
- uint32_t val = 0x0101FFFF;
- parcBufferComposer_PutUint32(composer, val);
-
- PARCBuffer *buffer = parcBufferComposer_ProduceBuffer(composer);
- assertTrue(parcBuffer_GetUint32(buffer) == val, "Expected inserted uint32_t to be equal to %x, got %x", val, parcBuffer_GetUint32(buffer));
-
- parcBuffer_Release(&buffer);
- parcBufferComposer_Release(&composer);
-}
-
-LONGBOW_TEST_CASE(Global, parcBufferComposer_PutUint64)
-{
- PARCBufferComposer *composer = parcBufferComposer_Create();
-
- uint64_t val = 0x0101FFFFABCD0123;
- parcBufferComposer_PutUint64(composer, val);
-
- PARCBuffer *buffer = parcBufferComposer_ProduceBuffer(composer);
- assertTrue(parcBuffer_GetUint64(buffer) == val,
- "Expected inserted uint64_t to be equal to %" PRIu64 ", got %" PRIu64 "", val, parcBuffer_GetUint64(buffer));
-
- parcBuffer_Release(&buffer);
- parcBufferComposer_Release(&composer);
-}
-
-LONGBOW_TEST_CASE(Global, parcBufferComposer_PutUint8)
-{
- PARCBufferComposer *composer = parcBufferComposer_Create();
-
- uint8_t byte = 0x01;
- parcBufferComposer_PutUint8(composer, byte);
-
- PARCBuffer *buffer = parcBufferComposer_ProduceBuffer(composer);
- assertTrue(parcBuffer_GetUint8(buffer) == byte, "Expected inserted byte to be equal to %x, got %x", byte, parcBuffer_GetUint8(buffer));
-
- parcBuffer_Release(&buffer);
- parcBufferComposer_Release(&composer);
-}
-
-LONGBOW_TEST_CASE(Global, parcBufferComposer_PutString)
-{
- PARCBufferComposer *composer = parcBufferComposer_Create();
-
- char string[14] = "Hello, World!";
- parcBufferComposer_PutString(composer, string);
-
- PARCBuffer *buffer = parcBufferComposer_ProduceBuffer(composer);
- char *actual = parcBuffer_ToString(buffer);
- assertTrue(strncmp(actual, string, strlen(string)) == 0,
- "Expected inserted string to be equal to %s, got %s", string, actual);
-
- parcMemory_Deallocate((void **) &actual);
- parcBuffer_Release(&buffer);
- parcBufferComposer_Release(&composer);
-}
-
-LONGBOW_TEST_CASE(Global, parcBufferComposer_PutStrings)
-{
- PARCBufferComposer *composer = parcBufferComposer_Create();
-
- char string[14] = "Hello, World!";
- parcBufferComposer_PutStrings(composer, "Hello", ", ", "World!", NULL);
-
- PARCBuffer *buffer = parcBufferComposer_ProduceBuffer(composer);
- char *actual = parcBuffer_ToString(buffer);
- assertTrue(strncmp(actual, string, strlen(string)) == 0, "Expected inserted string to be equal to %s, got %s", string, actual);
-
- parcMemory_Deallocate((void **) &actual);
- parcBuffer_Release(&buffer);
- parcBufferComposer_Release(&composer);
-}
-
-LONGBOW_TEST_CASE(Global, parcBufferComposer_Format)
-{
- PARCBufferComposer *composer = parcBufferComposer_Create();
- parcBufferComposer_Format(composer, "hello %s", "world");
-
- PARCBuffer *buffer = parcBufferComposer_ProduceBuffer(composer);
-
- char expected[11] = "hello world";
- char *actual = parcBuffer_ToString(buffer);
- assertTrue(strncmp(expected, actual, 11) == 0, "Expected strings to match. Got %s, expected %s", actual, expected);
-
- parcMemory_Deallocate((void **) &actual);
- parcBuffer_Release(&buffer);
- parcBufferComposer_Release(&composer);
-}
-
-LONGBOW_TEST_CASE(Global, parcBufferComposer_PutChar)
-{
- PARCBufferComposer *composer = parcBufferComposer_Create();
-
- char byte = 'a';
- parcBufferComposer_PutChar(composer, byte);
-
- PARCBuffer *buffer = parcBufferComposer_ProduceBuffer(composer);
- assertTrue(parcBuffer_GetUint8(buffer) == byte, "Expected inserted char to be equal to %c, got %c", byte, parcBuffer_GetUint8(buffer));
-
- parcBuffer_Release(&buffer);
- parcBufferComposer_Release(&composer);
-}
-
-LONGBOW_TEST_CASE(Global, parcBufferComposer_CreateBuffer)
-{
- PARCBufferComposer *composer = parcBufferComposer_Create();
- parcBufferComposer_PutString(composer, "hello world");
-
- PARCBuffer *buffer = parcBufferComposer_CreateBuffer(composer);
- parcBuffer_Flip(buffer); // flip the buffer since it was returned in write mode
-
- char expected[11] = "hello world";
- char *actual = parcBuffer_ToString(buffer);
- assertTrue(strncmp(expected, actual, 11) == 0, "Expected strings to match. Got %s, expected %s", actual, expected);
-
- parcMemory_Deallocate((void **) &actual);
- parcBuffer_Release(&buffer);
- parcBufferComposer_Release(&composer);
-}
-
-LONGBOW_TEST_CASE(Global, parcBufferComposer_ProduceBuffer)
-{
- PARCBufferComposer *composer = parcBufferComposer_Create();
- parcBufferComposer_PutString(composer, "hello world");
-
- PARCBuffer *buffer = parcBufferComposer_ProduceBuffer(composer);
-
- char expected[11] = "hello world";
- char *actual = parcBuffer_ToString(buffer);
- assertTrue(strncmp(expected, actual, 11) == 0, "Expected strings to match. Got %s, expected %s", actual, expected);
-
- parcMemory_Deallocate((void **) &actual);
- parcBuffer_Release(&buffer);
- parcBufferComposer_Release(&composer);
-}
-
-LONGBOW_TEST_CASE(Global, parcBufferComposer_PutString_Extend)
-{
- PARCBufferComposer *composer = parcBufferComposer_Allocate(4);
- parcBufferComposer_PutString(composer, "hello world");
-
- PARCBuffer *buffer = parcBufferComposer_ProduceBuffer(composer);
-
- char expected[11] = "hello world";
- char *actual = parcBuffer_ToString(buffer);
- assertTrue(strncmp(expected, actual, 11) == 0, "Expected strings to match. Got %s, expected %s", actual, expected);
-
- parcMemory_Deallocate((void **) &actual);
- parcBuffer_Release(&buffer);
- parcBufferComposer_Release(&composer);
-}
-
-int
-main(int argc, char *argv[argc])
-{
- LongBowRunner *testRunner = LONGBOW_TEST_RUNNER_CREATE(parc_BufferComposer);
- int exitStatus = LONGBOW_TEST_MAIN(argc, argv, testRunner, NULL);
- longBowTestRunner_Destroy(&testRunner);
- exit(exitStatus);
-}