Operator Registers; bitwise math operators

A library of useful classes used to perform logical or bitwise
math on or between other registers. The classes implemented here
include NotRegister, LeftShiftRegister, RightShiftRegister,
AndRegister, OrRegister, and ConstantRegister.

Accompanied with other Register classes and the getBitString()
function, it is possible to perform operations like:

    AndRegister reg{<register1>,<register2>};
    result = reg.getBitString(<someChip>);

This example will return a BitString containing the result of the
bitwise AND operation applied to register1 and register2.

Signed-off-by: Paul Greenwood <Paul.Greenwood@ibm.com>
Change-Id: I660c540bde1c02520962524b9ffb5fa7faf1d86f
diff --git a/test/meson.build b/test/meson.build
index cdf8812..ce1e5da 100644
--- a/test/meson.build
+++ b/test/meson.build
@@ -7,7 +7,7 @@
 # build g-test framework unit tests
 gtests = [
     'bit_string_test',
-    'flyweight_test',
+    'flyweight_test'
 ]
 
 gtest = dependency('gtest', main : true, required : false, method : 'system')
@@ -19,3 +19,11 @@
                             include_directories : incdir))
   endforeach
 endif
+
+# build unit-test framework
+tests = ['hei_operator_register_testcase']
+
+foreach t : tests
+        test(t, executable(t.underscorify(), t + '.cpp', test_src, \
+                            include_directories : incdir))
+endforeach