~earboxer/bare-mess-php

4aac74bb0c8b69107500c61084972e4495f77462 — Zach DeCook 3 years ago f970915
* Primitives: Add example enum
2 files changed, 25 insertions(+), 0 deletions(-)

A example/Department.php
M tests/PrimitivesTest.php
A example/Department.php => example/Department.php +14 -0
@@ 0,0 1,14 @@
<?php

namespace BareMess\Example;

use BareMess\UInt;

class Department extends UInt
{
    public const ACCOUNTING = 0;
    public const ADMINISTRATION = 1;
    public const CUSTOMER_SERVICE = 2;
    public const DEVELOPMENT = 3;
    public const JSMITH = 99;
}

M tests/PrimitivesTest.php => tests/PrimitivesTest.php +11 -0
@@ 3,6 3,7 @@
namespace BareMess\Tests;

use BareMess\Bare;
use BareMess\Example\Department;
use BareMess\Example\PublicKey;
use BareMess\{I8,I16,I32,I64};
use BareMess\{U8,U16,U32,U64};


@@ 48,6 49,16 @@ class PrimitivesTest extends TestCase
        $this->assertEquals($value, $pk3->get());
    }

    public function testEnum()
    {
        $dept = new Department();
        $dept->set(Department::ACCOUNTING);
        $this->assertEquals(Department::ACCOUNTING, $dept->get());
        $dept->set(Department::DEVELOPMENT);
        // This is just a UInt, so testing doesn't need to be extensive here.
        $this->assertEquals("\x03", $dept->mess());
    }

    public function testIs()
    {
        $i8 = new I8();