Changeset 1395 for trunk/test/unit


Ignore:
Timestamp:
May 15, 2012, 2:24:16 PM (10 years ago)
Author:
sam
Message:

test: add a few unit tests for datatype sanity.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/test/unit/build.cpp

    r1041 r1395  
    22// Lol Engine
    33//
    4 // Copyright: (c) 2010-2011 Sam Hocevar <sam@hocevar.net>
     4// Copyright: (c) 2010-2012 Sam Hocevar <sam@hocevar.net>
    55//   This program is free software; you can redistribute it and/or
    66//   modify it under the terms of the Do What The Fuck You Want To
     
    2121LOLUNIT_FIXTURE(BuildTest)
    2222{
    23     LOLUNIT_TEST(TypeSize)
     23    LOLUNIT_TEST(TypeSizeHalf)
    2424    {
    2525        LOLUNIT_ASSERT_EQUAL(sizeof(half), 2);
    26         //LOLUNIT_ASSERT_EQUAL(sizeof(f16vec2), 4);
    27         //LOLUNIT_ASSERT_EQUAL(sizeof(f16vec3), 6);
    28         //LOLUNIT_ASSERT_EQUAL(sizeof(f16vec4), 8);
    29         //LOLUNIT_ASSERT_EQUAL(sizeof(f16mat4), 32);
    3026
     27        LOLUNIT_ASSERT_EQUAL(sizeof(f16vec2), 4);
     28        LOLUNIT_ASSERT_EQUAL(sizeof(f16vec3), 6);
     29        LOLUNIT_ASSERT_EQUAL(sizeof(f16vec4), 8);
     30
     31        LOLUNIT_ASSERT_EQUAL(sizeof(f16mat2), 8);
     32        LOLUNIT_ASSERT_EQUAL(sizeof(f16mat3), 18);
     33        LOLUNIT_ASSERT_EQUAL(sizeof(f16mat4), 32);
     34    }
     35
     36    LOLUNIT_TEST(TypeSizeFloat)
     37    {
    3138        LOLUNIT_ASSERT_EQUAL(sizeof(float), 4);
     39
    3240        LOLUNIT_ASSERT_EQUAL(sizeof(vec2), 8);
    3341        LOLUNIT_ASSERT_EQUAL(sizeof(vec3), 12);
    3442        LOLUNIT_ASSERT_EQUAL(sizeof(vec4), 16);
    3543
     44        LOLUNIT_ASSERT_EQUAL(sizeof(mat2), 16);
     45        LOLUNIT_ASSERT_EQUAL(sizeof(mat3), 36);
     46        LOLUNIT_ASSERT_EQUAL(sizeof(mat4), 64);
     47    }
     48
     49    LOLUNIT_TEST(TypeSizeDouble)
     50    {
     51        LOLUNIT_ASSERT_EQUAL(sizeof(double), 8);
     52
     53        LOLUNIT_ASSERT_EQUAL(sizeof(f64vec2), 16);
     54        LOLUNIT_ASSERT_EQUAL(sizeof(f64vec3), 24);
     55        LOLUNIT_ASSERT_EQUAL(sizeof(f64vec4), 32);
     56
     57        LOLUNIT_ASSERT_EQUAL(sizeof(f64mat2), 32);
     58        LOLUNIT_ASSERT_EQUAL(sizeof(f64mat3), 72);
     59        LOLUNIT_ASSERT_EQUAL(sizeof(f64mat4), 128);
     60    }
     61
     62    LOLUNIT_TEST(TypeSizeInt8)
     63    {
    3664        LOLUNIT_ASSERT_EQUAL(sizeof(i8vec2), 2);
    3765        LOLUNIT_ASSERT_EQUAL(sizeof(u8vec2), 2);
     66        LOLUNIT_ASSERT_EQUAL(sizeof(i8vec3), 3);
     67        LOLUNIT_ASSERT_EQUAL(sizeof(u8vec3), 3);
     68        LOLUNIT_ASSERT_EQUAL(sizeof(i8vec4), 4);
     69        LOLUNIT_ASSERT_EQUAL(sizeof(u8vec4), 4);
     70
     71        LOLUNIT_ASSERT_EQUAL(sizeof(i8mat2), 4);
     72        LOLUNIT_ASSERT_EQUAL(sizeof(u8mat2), 4);
     73        LOLUNIT_ASSERT_EQUAL(sizeof(i8mat3), 9);
     74        LOLUNIT_ASSERT_EQUAL(sizeof(u8mat3), 9);
     75        LOLUNIT_ASSERT_EQUAL(sizeof(i8mat4), 16);
     76        LOLUNIT_ASSERT_EQUAL(sizeof(u8mat4), 16);
     77    }
     78
     79    LOLUNIT_TEST(TypeSizeInt16)
     80    {
    3881        LOLUNIT_ASSERT_EQUAL(sizeof(i16vec2), 4);
    3982        LOLUNIT_ASSERT_EQUAL(sizeof(u16vec2), 4);
     83        LOLUNIT_ASSERT_EQUAL(sizeof(i16vec3), 6);
     84        LOLUNIT_ASSERT_EQUAL(sizeof(u16vec3), 6);
     85        LOLUNIT_ASSERT_EQUAL(sizeof(i16vec4), 8);
     86        LOLUNIT_ASSERT_EQUAL(sizeof(u16vec4), 8);
     87
     88        LOLUNIT_ASSERT_EQUAL(sizeof(i16mat2), 8);
     89        LOLUNIT_ASSERT_EQUAL(sizeof(u16mat2), 8);
     90        LOLUNIT_ASSERT_EQUAL(sizeof(i16mat3), 18);
     91        LOLUNIT_ASSERT_EQUAL(sizeof(u16mat3), 18);
     92        LOLUNIT_ASSERT_EQUAL(sizeof(i16mat4), 32);
     93        LOLUNIT_ASSERT_EQUAL(sizeof(u16mat4), 32);
     94    }
     95
     96    LOLUNIT_TEST(TypeSizeInt32)
     97    {
    4098        LOLUNIT_ASSERT_EQUAL(sizeof(ivec2), 8);
    4199        LOLUNIT_ASSERT_EQUAL(sizeof(uvec2), 8);
     100        LOLUNIT_ASSERT_EQUAL(sizeof(ivec3), 12);
     101        LOLUNIT_ASSERT_EQUAL(sizeof(uvec3), 12);
     102        LOLUNIT_ASSERT_EQUAL(sizeof(ivec4), 16);
     103        LOLUNIT_ASSERT_EQUAL(sizeof(uvec4), 16);
     104
     105        LOLUNIT_ASSERT_EQUAL(sizeof(imat2), 16);
     106        LOLUNIT_ASSERT_EQUAL(sizeof(umat2), 16);
     107        LOLUNIT_ASSERT_EQUAL(sizeof(imat3), 36);
     108        LOLUNIT_ASSERT_EQUAL(sizeof(umat3), 36);
     109        LOLUNIT_ASSERT_EQUAL(sizeof(imat4), 64);
     110        LOLUNIT_ASSERT_EQUAL(sizeof(umat4), 64);
     111    }
     112
     113    LOLUNIT_TEST(TypeSizeInt64)
     114    {
    42115        LOLUNIT_ASSERT_EQUAL(sizeof(i64vec2), 16);
    43116        LOLUNIT_ASSERT_EQUAL(sizeof(u64vec2), 16);
    44 
    45         LOLUNIT_ASSERT_EQUAL(sizeof(i8vec3), 3);
    46         LOLUNIT_ASSERT_EQUAL(sizeof(u8vec3), 3);
    47         LOLUNIT_ASSERT_EQUAL(sizeof(i16vec3), 6);
    48         LOLUNIT_ASSERT_EQUAL(sizeof(u16vec3), 6);
    49         LOLUNIT_ASSERT_EQUAL(sizeof(ivec3), 12);
    50         LOLUNIT_ASSERT_EQUAL(sizeof(uvec3), 12);
    51117        LOLUNIT_ASSERT_EQUAL(sizeof(i64vec3), 24);
    52118        LOLUNIT_ASSERT_EQUAL(sizeof(u64vec3), 24);
    53 
    54         LOLUNIT_ASSERT_EQUAL(sizeof(i8vec4), 4);
    55         LOLUNIT_ASSERT_EQUAL(sizeof(u8vec4), 4);
    56         LOLUNIT_ASSERT_EQUAL(sizeof(i16vec4), 8);
    57         LOLUNIT_ASSERT_EQUAL(sizeof(u16vec4), 8);
    58         LOLUNIT_ASSERT_EQUAL(sizeof(ivec4), 16);
    59         LOLUNIT_ASSERT_EQUAL(sizeof(uvec4), 16);
    60119        LOLUNIT_ASSERT_EQUAL(sizeof(i64vec4), 32);
    61120        LOLUNIT_ASSERT_EQUAL(sizeof(u64vec4), 32);
    62121
    63         LOLUNIT_ASSERT_EQUAL(sizeof(i8mat4), 16);
    64         LOLUNIT_ASSERT_EQUAL(sizeof(u8mat4), 16);
    65         LOLUNIT_ASSERT_EQUAL(sizeof(i16mat4), 32);
    66         LOLUNIT_ASSERT_EQUAL(sizeof(u16mat4), 32);
    67         LOLUNIT_ASSERT_EQUAL(sizeof(imat4), 64);
    68         LOLUNIT_ASSERT_EQUAL(sizeof(umat4), 64);
     122        LOLUNIT_ASSERT_EQUAL(sizeof(i64mat2), 32);
     123        LOLUNIT_ASSERT_EQUAL(sizeof(u64mat2), 32);
     124        LOLUNIT_ASSERT_EQUAL(sizeof(i64mat3), 72);
     125        LOLUNIT_ASSERT_EQUAL(sizeof(u64mat3), 72);
    69126        LOLUNIT_ASSERT_EQUAL(sizeof(i64mat4), 128);
    70127        LOLUNIT_ASSERT_EQUAL(sizeof(u64mat4), 128);
Note: See TracChangeset for help on using the changeset viewer.