Browse Source

slim libraries

master
noerw 1 year ago
parent
commit
aa97b4cdae
100 changed files with 0 additions and 9362 deletions
  1. 0
    7
      libraries/Lora_Serialization/test/.eslintrc.js
  2. 0
    37
      libraries/Lora_Serialization/test/LoraMessage.js
  3. 0
    18
      libraries/Lora_Serialization/test/Makefile
  4. 0
    39
      libraries/Lora_Serialization/test/base.js
  5. 0
    20
      libraries/Lora_Serialization/test/decoder/bitmap.js
  6. 0
    52
      libraries/Lora_Serialization/test/decoder/decode.js
  7. 0
    18
      libraries/Lora_Serialization/test/decoder/humidity.js
  8. 0
    18
      libraries/Lora_Serialization/test/decoder/latLng.js
  9. 0
    23
      libraries/Lora_Serialization/test/decoder/temperature.js
  10. 0
    18
      libraries/Lora_Serialization/test/decoder/uint16.js
  11. 0
    18
      libraries/Lora_Serialization/test/decoder/uint8.js
  12. 0
    18
      libraries/Lora_Serialization/test/decoder/unixtime.js
  13. 0
    19
      libraries/Lora_Serialization/test/encoder/bitmap.js
  14. 0
    48
      libraries/Lora_Serialization/test/encoder/encode.js
  15. 0
    17
      libraries/Lora_Serialization/test/encoder/humidity.js
  16. 0
    22
      libraries/Lora_Serialization/test/encoder/latLng.js
  17. 0
    24
      libraries/Lora_Serialization/test/encoder/temperature.js
  18. 0
    19
      libraries/Lora_Serialization/test/encoder/uint16.js
  19. 0
    19
      libraries/Lora_Serialization/test/encoder/uint8.js
  20. 0
    18
      libraries/Lora_Serialization/test/encoder/unixtime.js
  21. 0
    12
      libraries/Lora_Serialization/test/helpers.cpp
  22. 0
    11
      libraries/Lora_Serialization/test/lib/Catch/.gitattributes
  23. 0
    29
      libraries/Lora_Serialization/test/lib/Catch/.github/issue_template.md
  24. 0
    25
      libraries/Lora_Serialization/test/lib/Catch/.github/pull_request_template.md
  25. 0
    29
      libraries/Lora_Serialization/test/lib/Catch/.gitignore
  26. 0
    232
      libraries/Lora_Serialization/test/lib/Catch/.travis.yml
  27. 0
    271
      libraries/Lora_Serialization/test/lib/Catch/CMakeLists.txt
  28. 0
    23
      libraries/Lora_Serialization/test/lib/Catch/LICENSE_1_0.txt
  29. 0
    23
      libraries/Lora_Serialization/test/lib/Catch/README.md
  30. 0
    45
      libraries/Lora_Serialization/test/lib/Catch/appveyor.yml
  31. BIN
      libraries/Lora_Serialization/test/lib/Catch/catch-hand-icon.png
  32. BIN
      libraries/Lora_Serialization/test/lib/Catch/catch-icon-tiny.png
  33. BIN
      libraries/Lora_Serialization/test/lib/Catch/catch-logo-small.png
  34. 0
    23
      libraries/Lora_Serialization/test/lib/Catch/docs/Readme.md
  35. 0
    136
      libraries/Lora_Serialization/test/lib/Catch/docs/assertions.md
  36. 0
    95
      libraries/Lora_Serialization/test/lib/Catch/docs/build-systems.md
  37. 0
    277
      libraries/Lora_Serialization/test/lib/Catch/docs/command-line.md
  38. 0
    12
      libraries/Lora_Serialization/test/lib/Catch/docs/commercial-users.md
  39. 0
    100
      libraries/Lora_Serialization/test/lib/Catch/docs/configuration.md
  40. 0
    41
      libraries/Lora_Serialization/test/lib/Catch/docs/contributing.md
  41. 0
    99
      libraries/Lora_Serialization/test/lib/Catch/docs/limitations.md
  42. 0
    52
      libraries/Lora_Serialization/test/lib/Catch/docs/logging.md
  43. 0
    103
      libraries/Lora_Serialization/test/lib/Catch/docs/matchers.md
  44. 0
    59
      libraries/Lora_Serialization/test/lib/Catch/docs/opensource-users.md
  45. 0
    72
      libraries/Lora_Serialization/test/lib/Catch/docs/own-main.md
  46. 0
    150
      libraries/Lora_Serialization/test/lib/Catch/docs/release-notes.md
  47. 0
    64
      libraries/Lora_Serialization/test/lib/Catch/docs/slow-compiles.md
  48. 0
    88
      libraries/Lora_Serialization/test/lib/Catch/docs/test-cases-and-sections.md
  49. 0
    32
      libraries/Lora_Serialization/test/lib/Catch/docs/test-fixtures.md
  50. 0
    70
      libraries/Lora_Serialization/test/lib/Catch/docs/tostring.md
  51. 0
    249
      libraries/Lora_Serialization/test/lib/Catch/docs/tutorial.md
  52. 0
    46
      libraries/Lora_Serialization/test/lib/Catch/docs/why-catch.md
  53. 0
    237
      libraries/Lora_Serialization/test/lib/Catch/include/catch.hpp
  54. 0
    219
      libraries/Lora_Serialization/test/lib/Catch/include/catch_session.hpp
  55. 0
    14
      libraries/Lora_Serialization/test/lib/Catch/include/catch_with_main.hpp
  56. 0
    1051
      libraries/Lora_Serialization/test/lib/Catch/include/external/clara.h
  57. 0
    168
      libraries/Lora_Serialization/test/lib/Catch/include/external/tbc_text_format.h
  58. 0
    180
      libraries/Lora_Serialization/test/lib/Catch/include/internal/catch_approx.hpp
  59. 0
    127
      libraries/Lora_Serialization/test/lib/Catch/include/internal/catch_assertionresult.h
  60. 0
    99
      libraries/Lora_Serialization/test/lib/Catch/include/internal/catch_assertionresult.hpp
  61. 0
    154
      libraries/Lora_Serialization/test/lib/Catch/include/internal/catch_capture.hpp
  62. 0
    32
      libraries/Lora_Serialization/test/lib/Catch/include/internal/catch_clara.h
  63. 0
    215
      libraries/Lora_Serialization/test/lib/Catch/include/internal/catch_commandline.hpp
  64. 0
    146
      libraries/Lora_Serialization/test/lib/Catch/include/internal/catch_common.h
  65. 0
    119
      libraries/Lora_Serialization/test/lib/Catch/include/internal/catch_common.hpp
  66. 0
    313
      libraries/Lora_Serialization/test/lib/Catch/include/internal/catch_compiler_capabilities.h
  67. 0
    158
      libraries/Lora_Serialization/test/lib/Catch/include/internal/catch_config.hpp
  68. 0
    67
      libraries/Lora_Serialization/test/lib/Catch/include/internal/catch_console_colour.hpp
  69. 0
    190
      libraries/Lora_Serialization/test/lib/Catch/include/internal/catch_console_colour_impl.hpp
  70. 0
    50
      libraries/Lora_Serialization/test/lib/Catch/include/internal/catch_context.h
  71. 0
    110
      libraries/Lora_Serialization/test/lib/Catch/include/internal/catch_context_impl.hpp
  72. 0
    58
      libraries/Lora_Serialization/test/lib/Catch/include/internal/catch_debugger.h
  73. 0
    127
      libraries/Lora_Serialization/test/lib/Catch/include/internal/catch_debugger.hpp
  74. 0
    39
      libraries/Lora_Serialization/test/lib/Catch/include/internal/catch_default_main.hpp
  75. 0
    219
      libraries/Lora_Serialization/test/lib/Catch/include/internal/catch_evaluate.hpp
  76. 0
    73
      libraries/Lora_Serialization/test/lib/Catch/include/internal/catch_exception_translator_registry.hpp
  77. 0
    174
      libraries/Lora_Serialization/test/lib/Catch/include/internal/catch_expression_lhs.hpp
  78. 0
    200
      libraries/Lora_Serialization/test/lib/Catch/include/internal/catch_fatal_condition.hpp
  79. 0
    190
      libraries/Lora_Serialization/test/lib/Catch/include/internal/catch_generators.hpp
  80. 0
    86
      libraries/Lora_Serialization/test/lib/Catch/include/internal/catch_generators_impl.hpp
  81. 0
    109
      libraries/Lora_Serialization/test/lib/Catch/include/internal/catch_impl.hpp
  82. 0
    47
      libraries/Lora_Serialization/test/lib/Catch/include/internal/catch_interfaces_capture.h
  83. 0
    70
      libraries/Lora_Serialization/test/lib/Catch/include/internal/catch_interfaces_config.h
  84. 0
    76
      libraries/Lora_Serialization/test/lib/Catch/include/internal/catch_interfaces_exception.h
  85. 0
    32
      libraries/Lora_Serialization/test/lib/Catch/include/internal/catch_interfaces_generators.h
  86. 0
    47
      libraries/Lora_Serialization/test/lib/Catch/include/internal/catch_interfaces_registry_hub.h
  87. 0
    275
      libraries/Lora_Serialization/test/lib/Catch/include/internal/catch_interfaces_reporter.h
  88. 0
    20
      libraries/Lora_Serialization/test/lib/Catch/include/internal/catch_interfaces_runner.h
  89. 0
    26
      libraries/Lora_Serialization/test/lib/Catch/include/internal/catch_interfaces_tag_alias_registry.h
  90. 0
    40
      libraries/Lora_Serialization/test/lib/Catch/include/internal/catch_interfaces_testcase.h
  91. 0
    60
      libraries/Lora_Serialization/test/lib/Catch/include/internal/catch_legacy_reporter_adapter.h
  92. 0
    84
      libraries/Lora_Serialization/test/lib/Catch/include/internal/catch_legacy_reporter_adapter.hpp
  93. 0
    179
      libraries/Lora_Serialization/test/lib/Catch/include/internal/catch_list.hpp
  94. 0
    168
      libraries/Lora_Serialization/test/lib/Catch/include/internal/catch_matchers.hpp
  95. 0
    67
      libraries/Lora_Serialization/test/lib/Catch/include/internal/catch_matchers_string.h
  96. 0
    93
      libraries/Lora_Serialization/test/lib/Catch/include/internal/catch_matchers_string.hpp
  97. 0
    101
      libraries/Lora_Serialization/test/lib/Catch/include/internal/catch_matchers_vector.h
  98. 0
    66
      libraries/Lora_Serialization/test/lib/Catch/include/internal/catch_message.h
  99. 0
    47
      libraries/Lora_Serialization/test/lib/Catch/include/internal/catch_message.hpp
  100. 0
    0
      libraries/Lora_Serialization/test/lib/Catch/include/internal/catch_notimplemented_exception.h

+ 0
- 7
libraries/Lora_Serialization/test/.eslintrc.js View File

@@ -1,7 +0,0 @@
1
-module.exports = {
2
-  "extends": "../.eslintrc.js",
3
-  "parserOptions": {
4
-      "ecmaVersion": 6,
5
-      "sourceType": 'module',
6
-  }
7
-}

+ 0
- 37
libraries/Lora_Serialization/test/LoraMessage.js View File

@@ -1,37 +0,0 @@
1
-import test from 'ava';
2
-import { encoder, LoraMessage } from '../src';
3
-import base from './base';
4
-
5
-test('should be possible to construct a simple message', t => {
6
-  const m = new LoraMessage(encoder);
7
-  m.addUnixtime(base.unixtime);
8
-  t.is(m.getLength(), 4);
9
-  t.deepEqual(m.getBytes(), base.unixtimeBytes);
10
-  t.pass();
11
-});
12
-
13
-test('should be possible to chain message parts', t => {
14
-  const loraMessage = new LoraMessage(encoder);
15
-  t.deepEqual(
16
-    loraMessage
17
-      .addLatLng.apply(loraMessage, base.latLng)
18
-      .addUnixtime(base.unixtime)
19
-      .addUint16(base.uint16)
20
-      .addTemperature(base.temp)
21
-      .addUint8(base.uint8)
22
-      .addHumidity(base.humidity)
23
-      .addBitmap.apply(loraMessage, base.bitmapArgs)
24
-      .getBytes()
25
-    ,
26
-    Buffer.concat([
27
-      base.latLngBytes,
28
-      base.unixtimeBytes,
29
-      base.uint16Bytes,
30
-      base.tempBytes,
31
-      base.uint8Bytes,
32
-      base.humidityBytes,
33
-      base.bitmapBytes,
34
-    ])
35
-  );
36
-  t.pass();
37
-});

+ 0
- 18
libraries/Lora_Serialization/test/Makefile View File

@@ -1,18 +0,0 @@
1
-CC = g++
2
-
3
-#  -g    adds debugging information to the executable file
4
-#  -Wall turns on most, but not all, compiler warnings
5
-CFLAGS  = -g -Wall --coverage
6
-
7
-TARGET = main
8
-
9
-all: $(TARGET)
10
-
11
-$(TARGET): $(TARGET).cpp
12
-	$(CC) $(CFLAGS) -o $(TARGET) $(TARGET).cpp
13
-
14
-test:
15
-	./main
16
-
17
-clean:
18
-	$(RM) $(TARGET) $(TARGET).gcda $(TARGET).gcno

+ 0
- 39
libraries/Lora_Serialization/test/base.js View File

@@ -1,39 +0,0 @@
1
-module.exports = {
2
-  unixtimeBytes: new Buffer([0x1d, 0x4b, 0x7a, 0x57]),
3
-  unixtime: 1467632413,
4
-  uint8Bytes: new Buffer([0xFF]),
5
-  uint8: 255,
6
-  uint16Bytes: new Buffer([0x9d, 0x5b]),
7
-  uint16: 23453,
8
-  tempBytes: new Buffer([0x1f, 0x4c]),
9
-  temp: 80.12,
10
-  negativeTempBytes: new Buffer([0xcf, 0xc7]),
11
-  negativeTemp: -123.45,
12
-  humidityBytes: new Buffer([0x0f, 0x27]),
13
-  humidity: 99.99,
14
-  latLngBytes: new Buffer([0x64, 0xa6, 0xfa, 0xfd, 0x6a, 0x24, 0x04, 0x09]),
15
-  latLng: [-33.905052, 151.26641],
16
-  bitmapArgs: [true, true, true, true, true, true, false, true],
17
-  bitmap: {
18
-    a: true,
19
-    b: true,
20
-    c: true,
21
-    d: true,
22
-    e: true,
23
-    f: true,
24
-    g: false,
25
-    h: true
26
-  },
27
-  bitmapBytes: new Buffer([253]),
28
-  bitmap2: {
29
-    a: false,
30
-    b: true,
31
-    c: false,
32
-    d: false,
33
-    e: false,
34
-    f: false,
35
-    g: false,
36
-    h: false
37
-  },
38
-  bitmap2Bytes: new Buffer([64]),
39
-};

+ 0
- 20
libraries/Lora_Serialization/test/decoder/bitmap.js View File

@@ -1,20 +0,0 @@
1
-import test from 'ava';
2
-import { decoder } from '../../src';
3
-import base from '../base';
4
-
5
-test('should yell at you if the buffer is omitted', t => {
6
-  t.throws(() => decoder.bitmap(), /undefined/);
7
-  t.pass();
8
-});
9
-test('should yell at you if the buffer size is incorrect', t => {
10
-  t.throws(() => decoder.bitmap(new Buffer([1, 2])), /must have/);
11
-  t.pass();
12
-});
13
-test('should be possible to decode a bitmap', t => {
14
-  t.deepEqual(decoder.bitmap(base.bitmapBytes), base.bitmap);
15
-  t.pass();
16
-});
17
-test('should be possible to decode a bitmap with leading false', t => {
18
-  t.deepEqual(decoder.bitmap(base.bitmap2Bytes), base.bitmap2);
19
-  t.pass();
20
-});

+ 0
- 52
libraries/Lora_Serialization/test/decoder/decode.js View File

@@ -1,52 +0,0 @@
1
-import test from 'ava';
2
-import { decoder } from '../../src';
3
-import base from '../base';
4
-
5
-test('should be able to compose decoder functions', t => {
6
-  t.deepEqual(
7
-    decoder.decode(
8
-      Buffer.concat([
9
-        base.latLngBytes,
10
-        base.unixtimeBytes,
11
-        base.uint16Bytes,
12
-        base.tempBytes,
13
-        base.uint8Bytes,
14
-        base.humidityBytes,
15
-        base.bitmapBytes,
16
-      ]), [
17
-        decoder.latLng,
18
-        decoder.unixtime,
19
-        decoder.uint16,
20
-        decoder.temperature,
21
-        decoder.uint8,
22
-        decoder.humidity,
23
-        decoder.bitmap,
24
-      ]
25
-    ),
26
-    {
27
-      0: base.latLng,
28
-      1: base.unixtime,
29
-      2: base.uint16,
30
-      3: base.temp,
31
-      4: base.uint8,
32
-      5: base.humidity,
33
-      6: base.bitmap,
34
-    }
35
-  );
36
-  t.pass();
37
-});
38
-
39
-test('should yell at you if mask is longer than input', t => {
40
-  t.throws(() => decoder.decode(new Buffer(7), [decoder.latLng]), /Mask/i);
41
-  t.pass();
42
-});
43
-
44
-test('should be able to take names', t => {
45
-  t.deepEqual(
46
-    decoder.decode(base.unixtimeBytes, [decoder.unixtime], ['time']),
47
-    {
48
-      time: base.unixtime
49
-    }
50
-  );
51
-  t.pass();
52
-});

+ 0
- 18
libraries/Lora_Serialization/test/decoder/humidity.js View File

@@ -1,18 +0,0 @@
1
-import test from 'ava';
2
-import { decoder } from '../../src';
3
-import base from '../base';
4
-
5
-test('should yell at you if the buffer is omitted', t => {
6
-  t.throws(() => decoder.humidity(), /undefined/);
7
-  t.pass();
8
-});
9
-
10
-test('should yell at you if the buffer size is incorrect', t => {
11
-  t.throws(() => decoder.humidity(new Buffer([1])), /must have/);
12
-  t.pass();
13
-});
14
-
15
-test('should be possible to decode a humidity', t => {
16
-  t.is(decoder.humidity(base.humidityBytes), base.humidity);
17
-  t.pass();
18
-});

+ 0
- 18
libraries/Lora_Serialization/test/decoder/latLng.js View File

@@ -1,18 +0,0 @@
1
-import test from 'ava';
2
-import { decoder } from '../../src';
3
-import base from '../base';
4
-
5
-test('should yell at you if the buffer is omitted', t => {
6
-  t.throws(() => decoder.latLng(), /undefined/);
7
-  t.pass();
8
-});
9
-
10
-test('should yell at you if the buffer size is incorrect', t => {
11
-  t.throws(() => decoder.latLng(new Buffer([1, 2, 3, 4, 5, 6, 7, 8, 9])), /must have/);
12
-  t.pass();
13
-});
14
-
15
-test('should be possible to decode a coordinate', t => {
16
-  t.deepEqual(decoder.latLng(base.latLngBytes), base.latLng);
17
-  t.pass();
18
-});

+ 0
- 23
libraries/Lora_Serialization/test/decoder/temperature.js View File

@@ -1,23 +0,0 @@
1
-import test from 'ava';
2
-import { decoder } from '../../src';
3
-import base from '../base';
4
-
5
-test('should yell at you if the buffer is omitted', t => {
6
-  t.throws(() => decoder.temperature(), /undefined/);
7
-  t.pass();
8
-});
9
-
10
-test('should yell at you if the buffer size is incorrect', t => {
11
-  t.throws(() => decoder.temperature(new Buffer([1])), /must have/);
12
-  t.pass();
13
-});
14
-
15
-test('should be possible to decode a temperature', t => {
16
-  t.is(decoder.temperature(base.tempBytes), base.temp);
17
-  t.pass();
18
-});
19
-
20
-test('should be possible to decode a negative temperature', t => {
21
-  t.is(decoder.temperature(base.negativeTempBytes), base.negativeTemp);
22
-  t.pass();
23
-});

+ 0
- 18
libraries/Lora_Serialization/test/decoder/uint16.js View File

@@ -1,18 +0,0 @@
1
-import test from 'ava';
2
-import { decoder } from '../../src';
3
-import base from '../base';
4
-
5
-test('should yell at you if the buffer is omitted', t => {
6
-  t.throws(() => decoder.uint16(), /undefined/);
7
-  t.pass();
8
-});
9
-
10
-test('should yell at you if the buffer size is incorrect', t => {
11
-  t.throws(() => decoder.uint16(new Buffer([1])), /must have/);
12
-  t.pass();
13
-});
14
-
15
-test('should be possible to decode an int', t => {
16
-  t.is(decoder.uint16(base.uint16Bytes), base.uint16);
17
-  t.pass();
18
-});

+ 0
- 18
libraries/Lora_Serialization/test/decoder/uint8.js View File

@@ -1,18 +0,0 @@
1
-import test from 'ava';
2
-import { decoder } from '../../src';
3
-import base from '../base';
4
-
5
-test('should yell at you if the buffer is omitted', t => {
6
-  t.throws(() => decoder.uint8(), /undefined/);
7
-  t.pass();
8
-});
9
-
10
-test('should yell at you if the buffer size is incorrect', t => {
11
-  t.throws(() => decoder.uint8(new Buffer([1, 2])), /must have/);
12
-  t.pass();
13
-});
14
-
15
-test('should be possible to decode an int', t => {
16
-  t.is(decoder.uint8(base.uint8Bytes), base.uint8);
17
-  t.pass();
18
-});

+ 0
- 18
libraries/Lora_Serialization/test/decoder/unixtime.js View File

@@ -1,18 +0,0 @@
1
-import test from 'ava';
2
-import { decoder } from '../../src';
3
-import base from '../base';
4
-
5
-test('should yell at you if the buffer is omitted', t => {
6
-  t.throws(() => decoder.unixtime(), /undefined/);
7
-  t.pass();
8
-});
9
-
10
-test('should yell at you if the buffer size is incorrect', t => {
11
-  t.throws(() => decoder.unixtime(new Buffer([1, 2])), /must have/);
12
-  t.pass();
13
-});
14
-
15
-test('should be possible to decode a unixtime', t => {
16
-  t.is(decoder.unixtime(base.unixtimeBytes), base.unixtime);
17
-  t.pass();
18
-});

+ 0
- 19
libraries/Lora_Serialization/test/encoder/bitmap.js View File

@@ -1,19 +0,0 @@
1
-import test from 'ava';
2
-import { encoder } from '../../src';
3
-import base from '../base';
4
-
5
-test('should yell at you if the bitmap is incorrect', t => {
6
-  t.throws(() => encoder.bitmap(1), TypeError);
7
-  t.throws(() => encoder.bitmap('a'), TypeError);
8
-  t.pass();
9
-});
10
-
11
-test('should be possible to encode a bitmap', t => {
12
-  t.deepEqual(encoder.bitmap.apply(encoder, base.bitmapArgs), base.bitmapBytes);
13
-  t.pass();
14
-});
15
-
16
-test('should be possible to encode a short bitmap', t => {
17
-  t.deepEqual(encoder.bitmap(true), new Buffer([0x80]));
18
-  t.pass();
19
-});

+ 0
- 48
libraries/Lora_Serialization/test/encoder/encode.js View File

@@ -1,48 +0,0 @@
1
-import test from 'ava';
2
-import { encoder } from '../../src';
3
-import base from '../base';
4
-
5
-test('should yell at you if input is incorrect', t => {
6
-  t.throws(() => encoder.encode(), /values/i);
7
-  t.throws(() => encoder.encode([]), /mask/i);
8
-  t.pass();
9
-});
10
-
11
-test('should yell at you if input is longer than mask', t => {
12
-  t.throws(() => encoder.encode([1,2,3], [encoder.latLng]), /Mask/i);
13
-  t.pass();
14
-});
15
-
16
-test('should be able to compose encoder functions', t => {
17
-  t.deepEqual(encoder
18
-    .encode(
19
-    [
20
-      base.latLng,
21
-      base.unixtime,
22
-      base.uint16,
23
-      base.temp,
24
-      base.uint8,
25
-      base.humidity,
26
-      base.bitmapArgs,
27
-    ],
28
-    [
29
-      encoder.latLng,
30
-      encoder.unixtime,
31
-      encoder.uint16,
32
-      encoder.temperature,
33
-      encoder.uint8,
34
-      encoder.humidity,
35
-      encoder.bitmap,
36
-    ]),
37
-      Buffer.concat([
38
-        base.latLngBytes,
39
-        base.unixtimeBytes,
40
-        base.uint16Bytes,
41
-        base.tempBytes,
42
-        base.uint8Bytes,
43
-        base.humidityBytes,
44
-        base.bitmapBytes,
45
-      ])
46
-  );
47
-  t.pass();
48
-});

+ 0
- 17
libraries/Lora_Serialization/test/encoder/humidity.js View File

@@ -1,17 +0,0 @@
1
-import test from 'ava';
2
-import { encoder } from '../../src';
3
-import base from '../base';
4
-
5
-test('should yell at you if the humidity is omitted', t => {
6
-  t.throws(() => encoder.humidity());
7
-  t.pass();
8
-});
9
-test('should yell at you if the humidity is incorrect', t => {
10
-  t.throws(() => encoder.humidity(-0.01), /range/);
11
-  t.throws(() => encoder.humidity(100.01), /range/);
12
-  t.pass();
13
-});
14
-test('should be possible to encode a humidity', t => {
15
-  t.deepEqual(encoder.humidity(base.humidity), base.humidityBytes);
16
-  t.pass();
17
-});

+ 0
- 22
libraries/Lora_Serialization/test/encoder/latLng.js View File

@@ -1,22 +0,0 @@
1
-import test from 'ava';
2
-import { encoder } from '../../src';
3
-import base from '../base';
4
-
5
-test('should yell at you if the coordinates are omitted', t => {
6
-  t.throws(() => encoder.latLng(), /latitude/i);
7
-  t.throws(() => encoder.latLng(0), /longitude/i);
8
-  t.pass();
9
-});
10
-
11
-test('should yell at you if the coordinates are incorrect', t => {
12
-  t.throws(() => encoder.latLng(-90.000001, 0), /latitude/i);
13
-  t.throws(() => encoder.latLng(90.000001, 0), /latitude/i);
14
-  t.throws(() => encoder.latLng(0, -180.000001), /longitude/i);
15
-  t.throws(() => encoder.latLng(0, 180.000001), /longitude/i);
16
-  t.pass();
17
-});
18
-
19
-test('should be possible to decode a coordinate', t => {
20
-  t.deepEqual(encoder.latLng(...base.latLng), base.latLngBytes);
21
-  t.pass();
22
-});

+ 0
- 24
libraries/Lora_Serialization/test/encoder/temperature.js View File

@@ -1,24 +0,0 @@
1
-import test from 'ava';
2
-import { encoder } from '../../src';
3
-import base from '../base';
4
-
5
-test('should yell at you if the temperature is omitted', t => {
6
-  t.throws(() => encoder.temperature());
7
-  t.pass();
8
-});
9
-
10
-test('should yell at you if the temperature is incorrect', t => {
11
-  t.throws(() => encoder.temperature(-327.69), /range/);
12
-  t.throws(() => encoder.temperature(327.68), /range/);
13
-  t.pass();
14
-});
15
-
16
-test('should be possible to encode a temperature', t => {
17
-  t.deepEqual(encoder.temperature(base.temp), base.tempBytes);
18
-  t.pass();
19
-});
20
-
21
-test('should be possible to encode a negative temperature', t => {
22
-  t.deepEqual(encoder.temperature(base.negativeTemp), base.negativeTempBytes);
23
-  t.pass();
24
-});

+ 0
- 19
libraries/Lora_Serialization/test/encoder/uint16.js View File

@@ -1,19 +0,0 @@
1
-import test from 'ava';
2
-import { encoder } from '../../src';
3
-import base from '../base';
4
-
5
-test('should yell at you if the uint is omitted', t => {
6
-  t.throws(() => encoder.uint16());
7
-  t.pass();
8
-});
9
-
10
-test('should yell at you if the uint size is incorrect', t => {
11
-  t.throws(() => encoder.uint16(-1), /range/);
12
-  t.throws(() => encoder.uint16(65536), /range/);
13
-  t.pass();
14
-});
15
-
16
-test('should be possible to encode an int', t => {
17
-  t.deepEqual(encoder.uint16(base.uint16), base.uint16Bytes);
18
-  t.pass();
19
-});

+ 0
- 19
libraries/Lora_Serialization/test/encoder/uint8.js View File

@@ -1,19 +0,0 @@
1
-import test from 'ava';
2
-import { encoder } from '../../src';
3
-import base from '../base';
4
-
5
-test('should yell at you if the uint is omitted', t => {
6
-  t.throws(() => encoder.uint8());
7
-  t.pass();
8
-});
9
-
10
-test('should yell at you if the uint is incorrect', t => {
11
-  t.throws(() => encoder.uint8(-1), /range/);
12
-  t.throws(() => encoder.uint8(256), /range/);
13
-  t.pass();
14
-});
15
-
16
-test('should be possible to encode an int', t => {
17
-  t.deepEqual(encoder.uint8(base.uint8), base.uint8Bytes);
18
-  t.pass();
19
-});

+ 0
- 18
libraries/Lora_Serialization/test/encoder/unixtime.js View File

@@ -1,18 +0,0 @@
1
-import test from 'ava';
2
-import { encoder } from '../../src';
3
-import base from '../base';
4
-
5
-test('should yell at you if the unixtime is omitted', t => {
6
-  t.throws(() => encoder.unixtime());
7
-  t.pass();
8
-});
9
-
10
-test('should yell at you if the unixtime is incorrect', t => {
11
-  t.throws(() => encoder.unixtime(-1), /positive/);
12
-  t.pass();
13
-});
14
-
15
-test('should be possible to encode a unixtime', t => {
16
-  t.deepEqual(encoder.unixtime(base.unixtime), base.unixtimeBytes);
17
-  t.pass();
18
-});

+ 0
- 12
libraries/Lora_Serialization/test/helpers.cpp View File

@@ -1,12 +0,0 @@
1
-void printByteArrayToHex(byte *arr) {
2
-    for(int i = 0; i < sizeof(arr); i++) {
3
-        printf("%02x", arr[i]);
4
-    }
5
-    printf("\n");
6
-}
7
-
8
-void compare_array(byte *arr1, byte *arr2, int start, int len) {
9
-    for(int i = start; i < start + len; i++) {
10
-        REQUIRE(arr1[i] == arr2[i]);
11
-    }
12
-}

+ 0
- 11
libraries/Lora_Serialization/test/lib/Catch/.gitattributes View File

@@ -1,11 +0,0 @@
1
-# This sets the default behaviour, overriding core.autocrlf
2
-* text=auto
3
-
4
-# All source files should have unix line-endings in the repository,
5
-# but convert to native line-endings on checkout
6
-*.cpp text
7
-*.h text
8
-*.hpp text
9
-
10
-# Windows specific files should retain windows line-endings
11
-*.sln text eol=crlf

+ 0
- 29
libraries/Lora_Serialization/test/lib/Catch/.github/issue_template.md View File

@@ -1,29 +0,0 @@
1
-## Description
2
-<!--
3
-If your issue is a bugreport, this means describing what you did,
4
-what did you want to happen and what actually did happen.
5
-
6
-If your issue is a feature request, describe the feature and why do you
7
-want it.
8
--->
9
-
10
-
11
-### Steps to reproduce
12
-<!--
13
-This is only relevant for bug reports, but if you do have one,
14
-please provide a minimal set of steps to reproduce the problem.
15
-
16
-Usually this means providing a small and self-contained code using Catch
17
-and specifying compiler flags/tools used if relevant.
18
--->
19
-
20
-
21
-### Extra information
22
-<!--
23
-Fill in any extra information that might be important for your issue.
24
-
25
-If your issue is a bugreport, definitely fill out at least the following.
26
--->
27
-* Catch version: **v42.42.42**
28
-* Operating System: **Joe's discount operating system**
29
-* Compiler+version: **Hidden Dragon v1.2.3**

+ 0
- 25
libraries/Lora_Serialization/test/lib/Catch/.github/pull_request_template.md View File

@@ -1,25 +0,0 @@
1
-<!--
2
-Please do not submit pull requests changing the `version.hpp`
3
-or the single-include `catch.hpp` file, these are changed
4
-only when a new release is made.
5
--->
6
-
7
-
8
-## Description
9
-<!--
10
-Describe the what and the why of your pull request. Remember that these two
11
-are usually a bit different. As an example, if you have made various changes
12
-to decrease the number of new strings allocated, thats what. The why probably
13
-was that you have a large set of tests and found that this speeds them up.
14
--->
15
-
16
-## GitHub Issues
17
-<!-- 
18
-If this PR was motivated by some existing issues, reference them here.
19
-
20
-If it is a simple bug-fix, please also add a line like 'Closes #123'
21
-to your commit message, so that it is automatically closed.
22
-If it is not, don't, as it might take several iterations for a feature
23
-to be done properly. If in doubt, leave it open and reference it in the
24
-PR itself, so that maintainers can decide.
25
--->

+ 0
- 29
libraries/Lora_Serialization/test/lib/Catch/.gitignore View File

@@ -1,29 +0,0 @@
1
-*.build
2
-*.pbxuser
3
-*.mode1v3
4
-*.ncb
5
-*.suo
6
-Debug
7
-Release
8
-*.user
9
-*.xcuserstate
10
-.DS_Store
11
-xcuserdata
12
-CatchSelfTest.xcscheme
13
-Breakpoints.xcbkptlist
14
-projects/VS2010/TestCatch/_UpgradeReport_Files/
15
-projects/VS2010/TestCatch/TestCatch/TestCatch.vcxproj.filters
16
-projects/VisualStudio/TestCatch/UpgradeLog.XML
17
-projects/CMake/.idea
18
-projects/CMake/cmake-build-debug
19
-UpgradeLog.XML
20
-Resources/DWARF
21
-projects/Generated
22
-*.pyc
23
-DerivedData
24
-*.xccheckout
25
-Build
26
-.idea
27
-cmake-build-debug
28
-cmake-build-release
29
-.vs

+ 0
- 232
libraries/Lora_Serialization/test/lib/Catch/.travis.yml View File

@@ -1,232 +0,0 @@
1
-language: cpp
2
-sudo: false
3
-
4
-matrix:
5
-  include:
6
-
7
-    # 1/ Linux Clang Builds
8
-    - os: linux
9
-      compiler: clang
10
-      addons: &clang34
11
-        apt:
12
-          sources: ['llvm-toolchain-precise', 'ubuntu-toolchain-r-test']
13
-          packages: ['clang']
14
-      env: COMPILER='clang++' BUILD_TYPE='Release' CPP11=0
15
-
16
-    - os: linux
17
-      compiler: clang
18
-      addons: *clang34
19
-      env: COMPILER='clang++' BUILD_TYPE='Debug' CPP11=0
20
-      
21
-    - os: linux
22
-      compiler: clang
23
-      addons: &clang35
24
-        apt:
25
-          sources: ['llvm-toolchain-precise-3.5', 'ubuntu-toolchain-r-test']
26
-          packages: ['clang-3.5']
27
-      env: COMPILER='clang++-3.5' BUILD_TYPE='Release' CPP11=0
28
-
29
-    - os: linux
30
-      compiler: clang
31
-      addons: *clang35
32
-      env: COMPILER='clang++-3.5' BUILD_TYPE='Debug' CPP11=0
33
-
34
-
35
-    - os: linux
36
-      compiler: clang
37
-      addons: &clang36
38
-        apt:
39
-          sources: ['llvm-toolchain-precise-3.6', 'ubuntu-toolchain-r-test']
40
-          packages: ['clang-3.6']
41
-      env: COMPILER='clang++-3.6' BUILD_TYPE='Release' CPP11=0
42
-
43
-    - os: linux
44
-      compiler: clang
45
-      addons: *clang36
46
-      env: COMPILER='clang++-3.6' BUILD_TYPE='Debug' CPP11=0
47
-
48
-
49
-    - os: linux
50
-      compiler: clang
51
-      addons: &clang37
52
-        apt:
53
-          sources: ['llvm-toolchain-precise-3.7', 'ubuntu-toolchain-r-test']
54
-          packages: ['clang-3.7']
55
-      env: COMPILER='clang++-3.7' BUILD_TYPE='Release' CPP11=0
56
-
57
-    - os: linux
58
-      compiler: clang
59
-      addons: *clang37
60
-      env: COMPILER='clang++-3.7' BUILD_TYPE='Debug' CPP11=0
61
-
62
-
63
-    - os: linux
64
-      compiler: clang
65
-      addons: &clang38
66
-        apt:
67
-          sources: ['llvm-toolchain-precise-3.8', 'ubuntu-toolchain-r-test']
68
-          packages: ['clang-3.8']
69
-      env: COMPILER='clang++-3.8' BUILD_TYPE='Release' CPP11=0
70
-
71
-    - os: linux
72
-      compiler: clang
73
-      addons: *clang38
74
-      env: COMPILER='clang++-3.8' BUILD_TYPE='Debug' CPP11=0
75
-
76
-
77
-    # 2/ Linux GCC Builds
78
-    - os: linux
79
-      compiler: gcc
80
-      addons: &gcc44
81
-        apt:
82
-         sources: ['ubuntu-toolchain-r-test']
83
-         packages: ['g++-4.4']
84
-      env: COMPILER='g++-4.4' BUILD_TYPE='Release' CPP11=0
85
-
86
-    - os: linux
87
-      compiler: gcc
88
-      addons: *gcc44
89
-      env: COMPILER='g++-4.4' BUILD_TYPE='Debug' CPP11=0
90
-
91
-
92
-    - os: linux
93
-      compiler: gcc
94
-      addons: &gcc47
95
-        apt:
96
-         sources: ['ubuntu-toolchain-r-test']
97
-         packages: ['g++-4.7']
98
-      env: COMPILER='g++-4.7' BUILD_TYPE='Release' CPP11=0
99
-
100
-    - os: linux
101
-      compiler: gcc
102
-      addons: *gcc47
103
-      env: COMPILER='g++-4.7' BUILD_TYPE='Debug' CPP11=0
104
-
105
-
106
-    - os: linux
107
-      compiler: gcc
108
-      addons: &gcc48
109
-        apt:
110
-         sources: ['ubuntu-toolchain-r-test']
111
-         packages: ['g++-4.8']
112
-      env: COMPILER='g++-4.8' BUILD_TYPE='Release' CPP11=0
113
-
114
-    - os: linux
115
-      compiler: gcc
116
-      addons: *gcc48
117
-      env: COMPILER='g++-4.8' BUILD_TYPE='Debug' CPP11=0
118
-
119
-
120
-    - os: linux
121
-      compiler: gcc
122
-      addons: &gcc49
123
-        apt:
124
-          sources: ['ubuntu-toolchain-r-test']
125
-          packages: ['g++-4.9']
126
-      env: COMPILER='g++-4.9' BUILD_TYPE='Release' CPP11=0
127
-
128
-    - os: linux
129
-      compiler: gcc
130
-      addons: *gcc49
131
-      env: COMPILER='g++-4.9' BUILD_TYPE='Debug' CPP11=0
132
-
133
-
134
-    - os: linux
135
-      compiler: gcc
136
-      addons: &gcc5
137
-        apt:
138
-          sources: ['ubuntu-toolchain-r-test']
139
-          packages: ['g++-5']
140
-      env: COMPILER='g++-5' BUILD_TYPE='Release' CPP11=0
141
-
142
-    - os: linux
143
-      compiler: gcc
144
-      addons: *gcc5
145
-      env: COMPILER='g++-5' BUILD_TYPE='Debug' CPP11=0
146
-
147
-
148
-    - os: linux
149
-      compiler: gcc
150
-      addons: &gcc6
151
-        apt:
152
-          sources: ['ubuntu-toolchain-r-test']
153
-          packages: ['g++-6']
154
-      env: COMPILER='g++-6' BUILD_TYPE='Release' CPP11=0
155
-
156
-    - os: linux
157
-      compiler: gcc
158
-      addons: *gcc6
159
-      env: COMPILER='g++-6' BUILD_TYPE='Debug' CPP11=0
160
-
161
-    # 3a/ Linux C++11 GCC builds
162
-    - os: linux
163
-      compiler: gcc
164
-      addons: &gcc48
165
-        apt:
166
-         sources: ['ubuntu-toolchain-r-test']
167
-         packages: ['g++-4.8']
168
-      env: COMPILER='g++-4.8' BUILD_TYPE='Release' CPP11=1
169
-
170
-    - os: linux
171
-      compiler: gcc
172
-      addons: *gcc48
173
-      env: COMPILER='g++-4.8' BUILD_TYPE='Debug' CPP11=1
174
-
175
-    # 3b/ Linux C++11 Clang builds
176
-    - os: linux
177
-      compiler: clang
178
-      addons: &clang38
179
-        apt:
180
-          sources: ['llvm-toolchain-precise-3.8', 'ubuntu-toolchain-r-test']
181
-          packages: ['clang-3.8']
182
-      env: COMPILER='clang++-3.8' BUILD_TYPE='Release' CPP11=1
183
-
184
-    - os: linux
185
-      compiler: clang
186
-      addons: *clang38
187
-      env: COMPILER='clang++-3.8' BUILD_TYPE='Debug' CPP11=1
188
-
189
-
190
-    # 4/ OSX Clang Builds
191
-    - os: osx
192
-      osx_image: xcode7.3
193
-      compiler: clang
194
-      env: COMPILER='clang++' BUILD_TYPE='Debug' CPP11=0
195
-
196
-    - os: osx
197
-      osx_image: xcode7.3
198
-      compiler: clang
199
-      env: COMPILER='clang++' BUILD_TYPE='Release' CPP11=0
200
-
201
-    - os: osx
202
-      osx_image: xcode8
203
-      compiler: clang
204
-      env: COMPILER='clang++' BUILD_TYPE='Debug' CPP11=0
205
-
206
-    - os: osx
207
-      osx_image: xcode8
208
-      compiler: clang
209
-      env: COMPILER='clang++' BUILD_TYPE='Release' CPP11=0
210
-
211
-
212
-install:
213
-  - DEPS_DIR="${TRAVIS_BUILD_DIR}/deps"
214
-  - mkdir -p ${DEPS_DIR} && cd ${DEPS_DIR}
215
-  - |
216
-    if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then
217
-      CMAKE_URL="http://www.cmake.org/files/v3.3/cmake-3.3.2-Linux-x86_64.tar.gz"
218
-      mkdir cmake && travis_retry wget --no-check-certificate --quiet -O - ${CMAKE_URL} | tar --strip-components=1 -xz -C cmake
219
-      export PATH=${DEPS_DIR}/cmake/bin:${PATH}
220
-    elif [[ "${TRAVIS_OS_NAME}" == "osx" ]]; then
221
-      which cmake || brew install cmake 
222
-    fi
223
-
224
-before_script:
225
-  - export CXX=${COMPILER}
226
-  - cd ${TRAVIS_BUILD_DIR}
227
-  - cmake -H. -BBuild -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -Wdev -DUSE_CPP11=${CPP11}
228
-  - cd Build
229
-
230
-script:
231
-  - make -j 2
232
-  - ctest -V -j 2

+ 0
- 271
libraries/Lora_Serialization/test/lib/Catch/CMakeLists.txt View File

@@ -1,271 +0,0 @@
1
-cmake_minimum_required(VERSION 3.0)
2
-
3
-project(CatchSelfTest)
4
-
5
-set_property(GLOBAL PROPERTY USE_FOLDERS ON)
6
-
7
-# define some folders
8
-set(CATCH_DIR ${CMAKE_CURRENT_SOURCE_DIR})
9
-set(SELF_TEST_DIR ${CATCH_DIR}/projects/SelfTest)
10
-set(BENCHMARK_DIR ${CATCH_DIR}/projects/Benchmark)
11
-set(HEADER_DIR ${CATCH_DIR}/include)
12
-
13
-if(USE_CPP11)
14
-    ## We can't turn this on by default, since it breaks on travis
15
-    message(STATUS "Enabling C++11")
16
-    set(CMAKE_CXX_FLAGS "-std=c++11 ${CMAKE_CXX_FLAGS}")
17
-elseif(USE_CPP14)
18
-    message(STATUS "Enabling C++14")
19
-    set(CMAKE_CXX_FLAGS "-std=c++14 ${CMAKE_CXX_FLAGS}")
20
-endif()
21
-
22
-#checks that the given hard-coded list contains all headers + sources in the given folder
23
-function(CheckFileList LIST_VAR FOLDER)
24
-  set(MESSAGE " should be added to the variable ${LIST_VAR}")
25
-  set(MESSAGE "${MESSAGE} in ${CMAKE_CURRENT_LIST_FILE}\n")
26
-  file(GLOB GLOBBED_LIST "${FOLDER}/*.cpp"
27
-                         "${FOLDER}/*.hpp"
28
-                         "${FOLDER}/*.h")
29
-  list(REMOVE_ITEM GLOBBED_LIST ${${LIST_VAR}})
30
-  foreach(EXTRA_ITEM ${GLOBBED_LIST})
31
-    string(REPLACE "${CATCH_DIR}/" "" RELATIVE_FILE_NAME "${EXTRA_ITEM}")
32
-    message(AUTHOR_WARNING "The file \"${RELATIVE_FILE_NAME}\"${MESSAGE}")
33
-  endforeach()
34
-endfunction()
35
-
36
-function(CheckFileListRec LIST_VAR FOLDER)
37
-  set(MESSAGE " should be added to the variable ${LIST_VAR}")
38
-  set(MESSAGE "${MESSAGE} in ${CMAKE_CURRENT_LIST_FILE}\n")
39
-  file(GLOB_RECURSE GLOBBED_LIST "${FOLDER}/*.cpp"
40
-                                 "${FOLDER}/*.hpp"
41
-                                 "${FOLDER}/*.h")
42
-  list(REMOVE_ITEM GLOBBED_LIST ${${LIST_VAR}})
43
-  foreach(EXTRA_ITEM ${GLOBBED_LIST})
44
-    string(REPLACE "${CATCH_DIR}/" "" RELATIVE_FILE_NAME "${EXTRA_ITEM}")
45
-    message(AUTHOR_WARNING "The file \"${RELATIVE_FILE_NAME}\"${MESSAGE}")
46
-  endforeach()
47
-endfunction()
48
-
49
-# define the sources of the self test
50
-# Please keep these ordered alphabetically
51
-set(TEST_SOURCES
52
-        ${SELF_TEST_DIR}/ApproxTests.cpp
53
-        ${SELF_TEST_DIR}/BDDTests.cpp
54
-        ${SELF_TEST_DIR}/ClassTests.cpp
55
-        ${SELF_TEST_DIR}/CmdLineTests.cpp
56
-        ${SELF_TEST_DIR}/CompilationTests.cpp
57
-        ${SELF_TEST_DIR}/ConditionTests.cpp
58
-        ${SELF_TEST_DIR}/EnumToString.cpp
59
-        ${SELF_TEST_DIR}/ExceptionTests.cpp
60
-        ${SELF_TEST_DIR}/GeneratorTests.cpp
61
-        ${SELF_TEST_DIR}/MessageTests.cpp
62
-        ${SELF_TEST_DIR}/MiscTests.cpp
63
-        ${SELF_TEST_DIR}/PartTrackerTests.cpp
64
-        ${SELF_TEST_DIR}/TagAliasTests.cpp
65
-        ${SELF_TEST_DIR}/TestMain.cpp
66
-        ${SELF_TEST_DIR}/ToStringGeneralTests.cpp
67
-        ${SELF_TEST_DIR}/ToStringPair.cpp
68
-        ${SELF_TEST_DIR}/ToStringTuple.cpp
69
-        ${SELF_TEST_DIR}/ToStringVector.cpp
70
-        ${SELF_TEST_DIR}/ToStringWhich.cpp
71
-        ${SELF_TEST_DIR}/TrickyTests.cpp
72
-        ${SELF_TEST_DIR}/VariadicMacrosTests.cpp
73
-        ${SELF_TEST_DIR}/MatchersTests.cpp
74
-        )
75
-CheckFileList(TEST_SOURCES ${SELF_TEST_DIR})
76
-
77
-# A set of impl files that just #include a single header
78
-# Please keep these ordered alphabetically
79
-set(IMPL_SOURCES
80
-        ${SELF_TEST_DIR}/SurrogateCpps/catch_common.cpp
81
-        ${SELF_TEST_DIR}/SurrogateCpps/catch_console_colour.cpp
82
-        ${SELF_TEST_DIR}/SurrogateCpps/catch_debugger.cpp
83
-        ${SELF_TEST_DIR}/SurrogateCpps/catch_interfaces_capture.cpp
84
-        ${SELF_TEST_DIR}/SurrogateCpps/catch_interfaces_config.cpp
85
-        ${SELF_TEST_DIR}/SurrogateCpps/catch_interfaces_exception.cpp
86
-        ${SELF_TEST_DIR}/SurrogateCpps/catch_interfaces_generators.cpp
87
-        ${SELF_TEST_DIR}/SurrogateCpps/catch_interfaces_registry_hub.cpp
88
-        ${SELF_TEST_DIR}/SurrogateCpps/catch_interfaces_reporter.cpp
89
-        ${SELF_TEST_DIR}/SurrogateCpps/catch_interfaces_runner.cpp
90
-        ${SELF_TEST_DIR}/SurrogateCpps/catch_interfaces_testcase.cpp
91
-        ${SELF_TEST_DIR}/SurrogateCpps/catch_message.cpp
92
-        ${SELF_TEST_DIR}/SurrogateCpps/catch_option.cpp
93
-        ${SELF_TEST_DIR}/SurrogateCpps/catch_ptr.cpp
94
-        ${SELF_TEST_DIR}/SurrogateCpps/catch_stream.cpp
95
-        ${SELF_TEST_DIR}/SurrogateCpps/catch_streambuf.cpp
96
-        ${SELF_TEST_DIR}/SurrogateCpps/catch_test_spec.cpp
97
-        ${SELF_TEST_DIR}/SurrogateCpps/catch_xmlwriter.cpp
98
-        ${SELF_TEST_DIR}/SurrogateCpps/catch_test_case_tracker.cpp
99
-        )
100
-CheckFileList(IMPL_SOURCES ${SELF_TEST_DIR}/SurrogateCpps)
101
-
102
-
103
-# Please keep these ordered alphabetically
104
-set(TOP_LEVEL_HEADERS
105
-        ${HEADER_DIR}/catch.hpp
106
-        ${HEADER_DIR}/catch_session.hpp
107
-        ${HEADER_DIR}/catch_with_main.hpp
108
-        )
109
-CheckFileList(TOP_LEVEL_HEADERS ${HEADER_DIR})
110
-
111
-# Please keep these ordered alphabetically
112
-set(EXTERNAL_HEADERS
113
-        ${HEADER_DIR}/external/clara.h
114
-        ${HEADER_DIR}/external/tbc_text_format.h
115
-        )
116
-CheckFileList(EXTERNAL_HEADERS ${HEADER_DIR}/external)
117
-
118
-
119
-# Please keep these ordered alphabetically
120
-set(INTERNAL_HEADERS
121
-        ${HEADER_DIR}/internal/catch_approx.hpp
122
-        ${HEADER_DIR}/internal/catch_assertionresult.h
123
-        ${HEADER_DIR}/internal/catch_assertionresult.hpp
124
-        ${HEADER_DIR}/internal/catch_capture.hpp
125
-        ${HEADER_DIR}/internal/catch_clara.h
126
-        ${HEADER_DIR}/internal/catch_commandline.hpp
127
-        ${HEADER_DIR}/internal/catch_common.h
128
-        ${HEADER_DIR}/internal/catch_common.hpp
129
-        ${HEADER_DIR}/internal/catch_compiler_capabilities.h
130
-        ${HEADER_DIR}/internal/catch_config.hpp
131
-        ${HEADER_DIR}/internal/catch_console_colour.hpp
132
-        ${HEADER_DIR}/internal/catch_console_colour_impl.hpp
133
-        ${HEADER_DIR}/internal/catch_context.h
134
-        ${HEADER_DIR}/internal/catch_context_impl.hpp
135
-        ${HEADER_DIR}/internal/catch_debugger.h
136
-        ${HEADER_DIR}/internal/catch_debugger.hpp
137
-        ${HEADER_DIR}/internal/catch_default_main.hpp
138
-        ${HEADER_DIR}/internal/catch_evaluate.hpp
139
-        ${HEADER_DIR}/internal/catch_exception_translator_registry.hpp
140
-        ${HEADER_DIR}/internal/catch_expression_lhs.hpp
141
-        ${HEADER_DIR}/internal/catch_fatal_condition.hpp
142
-        ${HEADER_DIR}/internal/catch_generators.hpp
143
-        ${HEADER_DIR}/internal/catch_generators_impl.hpp
144
-        ${HEADER_DIR}/internal/catch_impl.hpp
145
-        ${HEADER_DIR}/internal/catch_interfaces_capture.h
146
-        ${HEADER_DIR}/internal/catch_interfaces_config.h
147
-        ${HEADER_DIR}/internal/catch_interfaces_exception.h
148
-        ${HEADER_DIR}/internal/catch_interfaces_generators.h
149
-        ${HEADER_DIR}/internal/catch_interfaces_registry_hub.h
150
-        ${HEADER_DIR}/internal/catch_interfaces_reporter.h
151
-        ${HEADER_DIR}/internal/catch_interfaces_runner.h
152
-        ${HEADER_DIR}/internal/catch_interfaces_tag_alias_registry.h
153
-        ${HEADER_DIR}/internal/catch_interfaces_testcase.h
154
-        ${HEADER_DIR}/internal/catch_legacy_reporter_adapter.h
155
-        ${HEADER_DIR}/internal/catch_legacy_reporter_adapter.hpp
156
-        ${HEADER_DIR}/internal/catch_list.hpp
157
-        ${HEADER_DIR}/internal/catch_matchers.hpp
158
-        ${HEADER_DIR}/internal/catch_matchers_string.h
159
-        ${HEADER_DIR}/internal/catch_matchers_string.hpp
160
-        ${HEADER_DIR}/internal/catch_matchers_vector.h
161
-        ${HEADER_DIR}/internal/catch_message.h
162
-        ${HEADER_DIR}/internal/catch_message.hpp
163
-        ${HEADER_DIR}/internal/catch_notimplemented_exception.h
164
-        ${HEADER_DIR}/internal/catch_notimplemented_exception.hpp
165
-        ${HEADER_DIR}/internal/catch_objc.hpp
166
-        ${HEADER_DIR}/internal/catch_objc_arc.hpp
167
-        ${HEADER_DIR}/internal/catch_option.hpp
168
-        ${HEADER_DIR}/internal/catch_platform.h
169
-        ${HEADER_DIR}/internal/catch_ptr.hpp
170
-        ${HEADER_DIR}/internal/catch_reenable_warnings.h
171
-        ${HEADER_DIR}/internal/catch_registry_hub.hpp
172
-        ${HEADER_DIR}/internal/catch_reporter_registrars.hpp
173
-        ${HEADER_DIR}/internal/catch_reporter_registry.hpp
174
-        ${HEADER_DIR}/internal/catch_result_builder.h
175
-        ${HEADER_DIR}/internal/catch_result_builder.hpp
176
-        ${HEADER_DIR}/internal/catch_result_type.h
177
-        ${HEADER_DIR}/internal/catch_run_context.hpp
178
-        ${HEADER_DIR}/internal/catch_section.h
179
-        ${HEADER_DIR}/internal/catch_section.hpp
180
-        ${HEADER_DIR}/internal/catch_section_info.h
181
-        ${HEADER_DIR}/internal/catch_section_info.hpp
182
-        ${HEADER_DIR}/internal/catch_stream.h
183
-        ${HEADER_DIR}/internal/catch_stream.hpp
184
-        ${HEADER_DIR}/internal/catch_streambuf.h
185
-        ${HEADER_DIR}/internal/catch_suppress_warnings.h
186
-        ${HEADER_DIR}/internal/catch_tag_alias.h
187
-        ${HEADER_DIR}/internal/catch_tag_alias_registry.h
188
-        ${HEADER_DIR}/internal/catch_tag_alias_registry.hpp
189
-        ${HEADER_DIR}/internal/catch_test_case_info.h
190
-        ${HEADER_DIR}/internal/catch_test_case_info.hpp
191
-        ${HEADER_DIR}/internal/catch_test_case_registry_impl.hpp
192
-        ${HEADER_DIR}/internal/catch_test_case_tracker.hpp
193
-        ${HEADER_DIR}/internal/catch_test_registry.hpp
194
-        ${HEADER_DIR}/internal/catch_test_spec.hpp
195
-        ${HEADER_DIR}/internal/catch_test_spec_parser.hpp
196
-        ${HEADER_DIR}/internal/catch_text.h
197
-        ${HEADER_DIR}/internal/catch_timer.h
198
-        ${HEADER_DIR}/internal/catch_timer.hpp
199
-        ${HEADER_DIR}/internal/catch_tostring.h
200
-        ${HEADER_DIR}/internal/catch_tostring.hpp
201
-        ${HEADER_DIR}/internal/catch_totals.hpp
202
-        ${HEADER_DIR}/internal/catch_type_traits.hpp
203
-        ${HEADER_DIR}/internal/catch_version.h
204
-        ${HEADER_DIR}/internal/catch_version.hpp
205
-        ${HEADER_DIR}/internal/catch_wildcard_pattern.hpp
206
-        ${HEADER_DIR}/internal/catch_windows_h_proxy.h
207
-        ${HEADER_DIR}/internal/catch_xmlwriter.hpp
208
-        )
209
-CheckFileList(INTERNAL_HEADERS ${HEADER_DIR}/internal)
210
-
211
-# Please keep these ordered alphabetically
212
-set(REPORTER_HEADERS
213
-        ${HEADER_DIR}/reporters/catch_reporter_automake.hpp
214
-        ${HEADER_DIR}/reporters/catch_reporter_bases.hpp
215
-        ${HEADER_DIR}/reporters/catch_reporter_compact.hpp
216
-        ${HEADER_DIR}/reporters/catch_reporter_console.hpp
217
-        ${HEADER_DIR}/reporters/catch_reporter_junit.hpp
218
-        ${HEADER_DIR}/reporters/catch_reporter_multi.hpp
219
-        ${HEADER_DIR}/reporters/catch_reporter_tap.hpp
220
-        ${HEADER_DIR}/reporters/catch_reporter_teamcity.hpp
221
-        ${HEADER_DIR}/reporters/catch_reporter_xml.hpp
222
-        )
223
-CheckFileList(REPORTER_HEADERS ${HEADER_DIR}/reporters)
224
-
225
-# Specify the headers, too, so CLion recognises them as project files
226
-set(HEADERS
227
-        ${TOP_LEVEL_HEADERS}
228
-        ${EXTERNAL_HEADERS}
229
-        ${INTERNAL_HEADERS}
230
-        ${REPORTER_HEADERS}
231
-        )
232
-
233
-
234
-set(BENCH_SOURCES
235
-        ${BENCHMARK_DIR}/BenchMain.cpp
236
-        ${BENCHMARK_DIR}/StringificationBench.cpp
237
-        )
238
-CheckFileList(BENCH_SOURCES ${BENCHMARK_DIR})
239
-
240
-# Provide some groupings for IDEs
241
-SOURCE_GROUP("Tests" FILES ${TEST_SOURCES})
242
-SOURCE_GROUP("Surrogates" FILES ${IMPL_SOURCES})
243
-SOURCE_GROUP("Benchmarks" FILES ${BENCH_SOURCES})
244
-
245
-# configure the executable
246
-include_directories(${HEADER_DIR})
247
-add_executable(SelfTest ${TEST_SOURCES} ${IMPL_SOURCES} ${HEADERS})
248
-add_executable(Benchmark ${BENCH_SOURCES} ${HEADERS})
249
-
250
-# Add desired warnings
251
-if ( CMAKE_CXX_COMPILER_ID MATCHES "Clang|AppleClang|GNU" )
252
-    target_compile_options( SelfTest PRIVATE -Wall -Wextra )
253
-    target_compile_options( Benchmark PRIVATE -Wall -Wextra )
254
-endif()
255
-if ( CMAKE_CXX_COMPILER_ID MATCHES "MSVC" )
256
-    target_compile_options( SelfTest PRIVATE /W4 )
257
-    target_compile_options( Benchmark PRIVATE /W4 )
258
-endif()
259
-
260
-
261
-# configure unit tests via CTest
262
-enable_testing()
263
-add_test(NAME RunTests COMMAND SelfTest)
264
-
265
-add_test(NAME ListTests COMMAND SelfTest --list-tests)
266
-set_tests_properties(ListTests PROPERTIES PASS_REGULAR_EXPRESSION "[0-9]+ test cases")
267
-
268
-add_test(NAME ListTags COMMAND SelfTest --list-tags)
269
-set_tests_properties(ListTags PROPERTIES PASS_REGULAR_EXPRESSION "[0-9]+ tags")
270
-
271
-install(DIRECTORY "single_include/" DESTINATION "include/catch/")

+ 0
- 23
libraries/Lora_Serialization/test/lib/Catch/LICENSE_1_0.txt View File

@@ -1,23 +0,0 @@
1
-Boost Software License - Version 1.0 - August 17th, 2003
2
-
3
-Permission is hereby granted, free of charge, to any person or organization
4
-obtaining a copy of the software and accompanying documentation covered by
5
-this license (the "Software") to use, reproduce, display, distribute,
6
-execute, and transmit the Software, and to prepare derivative works of the
7
-Software, and to permit third-parties to whom the Software is furnished to
8
-do so, all subject to the following:
9
-
10
-The copyright notices in the Software and this entire statement, including
11
-the above license grant, this restriction and the following disclaimer,
12
-must be included in all copies of the Software, in whole or in part, and
13
-all derivative works of the Software, unless such copies or derivative
14
-works are solely in the form of machine-executable object code generated by
15
-a source language processor.
16
-
17
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
-FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
20
-SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
21
-FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
22
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23
-DEALINGS IN THE SOFTWARE.

+ 0
- 23
libraries/Lora_Serialization/test/lib/Catch/README.md View File

@@ -1,23 +0,0 @@
1
-![catch logo](catch-logo-small.png)
2
-
3
-[![Github Releases](https://img.shields.io/github/release/philsquared/catch.svg)](https://github.com/philsquared/catch/releases)
4
-[![Build Status](https://travis-ci.org/philsquared/Catch.svg?branch=master)](https://travis-ci.org/philsquared/Catch)
5
-[![Build status](https://ci.appveyor.com/api/projects/status/hrtk60hv6tw6fght/branch/master?svg=true)](https://ci.appveyor.com/project/philsquared/catch/branch/master)
6
-
7
-<a href="https://github.com/philsquared/Catch/releases/download/v1.8.1/catch.hpp">The latest, single header, version can be downloaded directly using this link</a>
8
-
9
-## What's the Catch?
10
-
11
-Catch stands for C++ Automated Test Cases in Headers and is a multi-paradigm automated test framework for C++ and Objective-C (and, maybe, C). It is implemented entirely in a set of header files, but is packaged up as a single header for extra convenience.
12
-
13
-## How to use it
14
-This documentation comprises these three parts:
15
-
16
-* [Why do we need yet another C++ Test Framework?](docs/why-catch.md)
17
-* [Tutorial](docs/tutorial.md) - getting started
18
-* [Reference section](docs/Readme.md) - all the details
19
-
20
-## More
21
-* Issues and bugs can be raised on the [Issue tracker on GitHub](https://github.com/philsquared/Catch/issues)
22
-* For discussion or questions please use [the dedicated Google Groups forum](https://groups.google.com/forum/?fromgroups#!forum/catch-forum)
23
-* See [who else is using Catch](docs/opensource-users.md)

+ 0
- 45
libraries/Lora_Serialization/test/lib/Catch/appveyor.yml View File

@@ -1,45 +0,0 @@
1
-# version string format -- This will be overwritten later anyway
2
-version: "{build}"
3
-
4
-# Disable the dead branch for v2 development
5
-branches:
6
-    except:
7
-        - develop-v2
8
-
9
-os:
10
-  - Visual Studio 2013
11
-  - Visual Studio 2015
12
-
13
-init:
14
-  - git config --global core.autocrlf input
15
-  # Set build version to git commit-hash
16
-  - ps: Update-AppveyorBuild -Version "$($env:APPVEYOR_REPO_BRANCH) - $($env:APPVEYOR_REPO_COMMIT)"
17
-
18
-# fetch repository as zip archive
19
-shallow_clone: true
20
-
21
-# Win32 and x64 are CMake-compatible solution platform names.
22
-# This allows us to pass %PLATFORM% to CMake -A.
23
-platform:
24
-  - Win32
25
-  - x64
26
-
27
-# build Configurations, i.e. Debug, Release, etc.
28
-configuration:
29
-  - Debug
30
-  - Release
31
-
32
-#Cmake will autodetect the compiler, but we set the arch
33
-before_build:
34
-  - echo Running cmake...
35
-  - cmake -H. -BBuild -A%PLATFORM%
36
-
37
-# build with MSBuild
38
-build:
39
-  project: Build\CatchSelfTest.sln      # path to Visual Studio solution or project
40
-  parallel: true                        # enable MSBuild parallel builds
41
-  verbosity: normal                     # MSBuild verbosity level {quiet|minimal|normal|detailed}
42
-
43
-test_script:
44
-  - cd Build
45
-  - ctest -V -j 2 -C %CONFIGURATION%

BIN
libraries/Lora_Serialization/test/lib/Catch/catch-hand-icon.png View File


BIN
libraries/Lora_Serialization/test/lib/Catch/catch-icon-tiny.png View File


BIN
libraries/Lora_Serialization/test/lib/Catch/catch-logo-small.png View File


+ 0
- 23
libraries/Lora_Serialization/test/lib/Catch/docs/Readme.md View File

@@ -1,23 +0,0 @@
1
-These are the currently documented areas of the framework. There is more to come.
2
-
3
-Before looking at this material be sure to read the [tutorial](tutorial.md)
4
-
5
-* [Assertion macros](assertions.md)
6
-* [Matchers](matchers.md)
7
-* [Logging macros](logging.md)
8
-* [Test cases and sections](test-cases-and-sections.md)
9
-* [Test fixtures](test-fixtures.md)
10
-* [Command line](command-line.md)
11
-* [Build systems](build-systems.md)
12
-* [Supplying your own main()](own-main.md)
13
-* [Configuration](configuration.md)
14
-* [String Conversions](tostring.md)
15
-* [Why are my tests slow to compile?](slow-compiles.md)
16
-* [Known limitations](limitations.md)
17
- 
18
-Other
19
-
20
-* [Why Catch?](why-catch.md)
21
-* [Open Source Projects using Catch](opensource-users.md)
22
-* [Contributing](contributing.md)
23
-* [Release Notes](release-notes.md)

+ 0
- 136
libraries/Lora_Serialization/test/lib/Catch/docs/assertions.md View File

@@ -1,136 +0,0 @@
1
-# Assertion Macros
2
-
3
-Most test frameworks have a large collection of assertion macros to capture all possible conditional forms (```_EQUALS```, ```_NOTEQUALS```, ```_GREATER_THAN``` etc).
4
-
5
-Catch is different. Because it decomposes natural C-style conditional expressions most of these forms are reduced to one or two that you will use all the time. That said there are a rich set of auxilliary macros as well. We'll describe all of these here.
6
-
7
-Most of these macros come in two forms:
8
-
9
-## Natural Expressions
10
-
11
-The ```REQUIRE``` family of macros tests an expression and aborts the test case if it fails.
12
-The ```CHECK``` family are equivalent but execution continues in the same test case even if the assertion fails. This is useful if you have a series of essentially orthogonal assertions and it is useful to see all the results rather than stopping at the first failure.
13
-
14
-* **REQUIRE(** _expression_ **)** and  
15
-* **CHECK(** _expression_ **)**
16
-
17
-Evaluates the expression and records the result. If an exception is thrown it is caught, reported, and counted as a failure. These are the macros you will use most of  the time
18
-
19
-Examples:
20
-```
21
-CHECK( str == "string value" );
22
-CHECK( thisReturnsTrue() );
23
-REQUIRE( i == 42 );
24
-```
25
-
26
-* **REQUIRE_FALSE(** _expression_ **)** and  
27
-* **CHECK_FALSE(** _expression_ **)**
28
-
29
-Evaluates the expression and records the _logical NOT_ of the result. If an exception is thrown it is caught, reported, and counted as a failure.
30
-(these forms exist as a workaround for the fact that ! prefixed expressions cannot be decomposed).
31
-
32
-Example:
33
-```
34
-REQUIRE_FALSE( thisReturnsFalse() );
35
-```
36
-
37
-Do note that "overly complex" expressions cannot be decomposed and thus will not compile. This is done partly for practical reasons (to keep the underlying expression template machinery to minimum) and partly for philosophical reasons (assertions should be simple and deterministic).
38
-
39
-Examples:
40
-* `CHECK(a == 1 && b == 2);`
41
-This expression is too complex because of the `&&` operator. If you want to check that 2 or more properties hold, you can either put the expression into parenthesis, which stops decomposition from working, or you need to decompose the expression into two assertions: `CHECK( a == 1 ); CHECK( b == 2);`
42
-* `CHECK( a == 2 || b == 1 );`
43
-This expression is too complex because of the `||` operator. If you want to check that one of several properties hold, you can put the expression into parenthesis (unlike with `&&`, expression decomposition into several `CHECK`s is not possible).
44
-
45
-
46
-### Floating point comparisons
47
-
48
-When comparing floating point numbers - especially if at least one of them has been computed - great care must be taken to allow for rounding errors and inexact representations.
49
-
50
-Catch provides a way to perform tolerant comparisons of floating point values through use of a wrapper class called ```Approx```. ```Approx``` can be used on either side of a comparison expression. It overloads the comparisons operators to take a tolerance into account. Here's a simple example:
51
-
52
-```
53
-REQUIRE( performComputation() == Approx( 2.1 ) );
54
-```
55
-
56
-This way `Approx` is constructed with reasonable defaults, covering most simple cases of rounding errors. If these are insufficient, each `Approx` instance has 3 tuning knobs, that can be used to customize it for your computation.
57
-
58
-* __epsilon__ - epsilon serves to set the percentage by which a result can be erroneous, before it is rejected. By default set to `std::numeric_limits<float>::epsilon()*100`.
59
-* __margin__ - margin serves to set the the absolute value by which a result can be erroneous before it is rejected. By default set to `0.0`.
60
-* __scale__ - scale serves to adjust the base for comparison used by epsilon, can be used when  By default set to `1.0`.
61
-
62
-#### epsilon example
63
-```cpp
64
-Approx target = Approx(100).epsilon(0.01);
65
-100.0 == target; // Obviously true
66
-200.0 == target; // Obviously still false
67
-100.5 == target; // True, because we set target to allow up to 1% error
68
-```
69
-
70
-#### margin example
71
-_Margin check is used only if the relative (epsilon and scale based) check fails._
72
-```cpp
73
-Approx target = Approx(100).margin(5);
74
-100.0 == target; // Obviously true
75
-200.0 == target; // Obviously still false
76
-104.0 == target; // True, because we set target to allow absolute error up to 5
77
-```
78
-
79
-#### scale
80
-Scale can be useful if the computation leading to the result worked on different scale, than is used by the results (and thus expected errors are on a different scale than would be expected based on the results alone).
81
-
82
-
83
-## Exceptions
84
-
85
-* **REQUIRE_NOTHROW(** _expression_ **)** and  
86
-* **CHECK_NOTHROW(** _expression_ **)**
87
-
88
-Expects that no exception is thrown during evaluation of the expression.
89
-
90
-* **REQUIRE_THROWS(** _expression_ **)** and  
91
-* **CHECK_THROWS(** _expression_ **)**
92
-
93
-Expects that an exception (of any type) is be thrown during evaluation of the expression.
94
-
95
-* **REQUIRE_THROWS_AS(** _expression_, _exception type_ **)** and  
96
-* **CHECK_THROWS_AS(** _expression_, _exception type_ **)**
97
-
98
-Expects that an exception of the _specified type_ is thrown during evaluation of the expression.
99
-
100
-* **REQUIRE_THROWS_WITH(** _expression_, _string or string matcher_ **)** and  
101
-* **CHECK_THROWS_WITH(** _expression_, _string or string matcher_ **)**
102
-
103
-Expects that an exception is thrown that, when converted to a string, matches the _string_ or _string matcher_ provided (see next section for Matchers).
104
-
105
-e.g.
106
-```cpp
107
-REQUIRE_THROWS_WITH( openThePodBayDoors(), Contains( "afraid" ) && Contains( "can't do that" ) );
108
-REQUIRE_THROWS_WITH( dismantleHal(), "My mind is going" );
109
-```
110
-
111
-
112
-Please note that the `THROW` family of assertions expects to be passed a single expression, not a statement or series of statements. If you want to check a more complicated sequence of operations, you can use a C++11 lambda function.
113
-
114
-```cpp
115
-REQUIRE_NOTHROW([&](){
116
-    int i = 1;
117
-    int j = 2;
118
-    auto k = i + j;
119
-    if (k == 3) {
120
-        throw 1;
121
-    }
122
-}());
123
-```
124
-
125
-## Matcher expressions
126
-
127
-To support Matchers a slightly different form is used. Matchers have [their own documentation](matchers.md).
128
-
129
-* **REQUIRE_THAT(** _lhs_, _matcher expression_ **)** and  
130
-* **CHECK_THAT(** _lhs_, _matcher expression_ **)**  
131
-
132
-Matchers can be composed using `&&`, `||` and `!` operators.
133
-
134
----
135
-
136
-[Home](Readme.md)

+ 0
- 95
libraries/Lora_Serialization/test/lib/Catch/docs/build-systems.md View File

@@ -1,95 +0,0 @@
1
-# Integration with build systems
2
-
3
-Build Systems may refer to low-level tools, like CMake, or larger systems that run on servers, like Jenkins or TeamCity. This page will talk about both.
4
-
5
-# Continuous Integration systems
6
-
7
-Probably the most important aspect to using Catch with a build server is the use of different reporters. Catch comes bundled with three reporters that should cover the majority of build servers out there - although adding more for better integration with some is always a possibility (currently we also offer TeamCity, TAP and Automake reporters).
8
-
9
-Two of these reporters are built in (XML and JUnit) and the third (TeamCity) is included as a separate header. It's possible that the other two may be split out in the future too - as that would make the core of Catch smaller for those that don't need them.
10
-
11
-## XML Reporter
12
-```-r xml``` 
13
-
14
-The XML Reporter writes in an XML format that is specific to Catch. 
15
-
16
-The advantage of this format is that it corresponds well to the way Catch works (especially the more unusual features, such as nested sections) and is a fully streaming format - that is it writes output as it goes, without having to store up all its results before it can start writing.
17
-
18
-The disadvantage is that, being specific to Catch, no existing build servers understand the format natively. It can be used as input to an XSLT transformation that could covert it to, say, HTML - although this loses the streaming advantage, of course.
19
-
20
-## JUnit Reporter
21
-```-r junit```
22
-
23
-The JUnit Reporter writes in an XML format that mimics the JUnit ANT schema.
24
-
25
-The advantage of this format is that the JUnit Ant schema is widely understood by most build servers and so can usually be consumed with no additional work.
26
-
27
-The disadvantage is that this schema was designed to correspond to how JUnit works - and there is a significant mismatch with how Catch works. Additionally the format is not streamable (because opening elements hold counts of failed and passing tests as attributes) - so the whole test run must complete before it can be written.
28
-
29
-## Other reporters
30
-Other reporters are not part of the single-header distribution and need to be downloaded and included separately. All reporters are stored in `include/reporters` directory in the git repository, and are named `catch_reporter_*.hpp`. For example, to use the TeamCity reporter you need to download `include/reporters/catch_reporter_teamcity.hpp` and include it after Catch itself.
31
-
32
-```
33
-#define CATCH_CONFIG_MAIN
34
-#include "catch.hpp"
35
-#include "catch_reporter_teamcity.hpp"
36
-```
37
-
38
-### TeamCity Reporter
39
-```-r teamcity```
40
-
41
-The TeamCity Reporter writes TeamCity service messages to stdout. In order to be able to use this reporter an additional header must also be included.
42
-
43
-Being specific to TeamCity this is the best reporter to use with it - but it is completely unsuitable for any other purpose. It is a streaming format (it writes as it goes) - although test results don't appear in the TeamCity interface until the completion of a suite (usually the whole test run).
44
-
45
-### Automake Reporter
46
-```-r automake```
47
-
48
-The Automake Reporter writes out the [meta tags](https://www.gnu.org/software/automake/manual/html_node/Log-files-generation-and-test-results-recording.html#Log-files-generation-and-test-results-recording) expected by automake via `make check`.
49
-
50
-### TAP (Test Anything Protocol) Reporter
51
-```-r tap```
52
-
53
-Because of the incremental nature of Catch's test suites and ability to run specific tests, our implementation of TAP reporter writes out the number of tests in a suite last.
54
-
55
-# Low-level tools
56
-
57
-## CMake
58
-
59
-You can use the following CMake script to automatically fetch Catch from github and configure it as an external project:
60
-
61
-```CMake
62
-cmake_minimum_required(VERSION 2.8.8)
63
-project(catch_builder CXX)
64
-include(ExternalProject)
65
-find_package(Git REQUIRED)
66
-
67
-ExternalProject_Add(
68
-    catch
69
-    PREFIX ${CMAKE_BINARY_DIR}/catch
70
-    GIT_REPOSITORY https://github.com/philsquared/Catch.git
71
-    TIMEOUT 10
72
-    UPDATE_COMMAND ${GIT_EXECUTABLE} pull
73
-    CONFIGURE_COMMAND ""
74
-    BUILD_COMMAND ""
75
-    INSTALL_COMMAND ""
76
-    LOG_DOWNLOAD ON
77
-   )
78
-
79
-# Expose required variable (CATCH_INCLUDE_DIR) to parent scope
80
-ExternalProject_Get_Property(catch source_dir)
81
-set(CATCH_INCLUDE_DIR ${source_dir}/single_include CACHE INTERNAL "Path to include folder for Catch")
82
-```
83
-
84
-If you put it in, e.g., `${PROJECT_SRC_DIR}/${EXT_PROJECTS_DIR}/catch/`, you can use it in your project by adding the following to your root CMake file:
85
-
86
-```CMake
87
-# Includes Catch in the project:
88
-add_subdirectory(${EXT_PROJECTS_DIR}/catch)
89
-include_directories(${CATCH_INCLUDE_DIR} ${COMMON_INCLUDES})
90
-enable_testing(true)  # Enables unit-testing.
91
-```
92
-
93
----
94
-
95
-[Home](Readme.md)

+ 0
- 277
libraries/Lora_Serialization/test/lib/Catch/docs/command-line.md View File

@@ -1,277 +0,0 @@
1
-Catch works quite nicely without any command line options at all - but for those times when you want greater control the following options are available.
2
-Click one of the followings links to take you straight to that option - or scroll on to browse the available options.
3
-
4
-<a href="#specifying-which-tests-to-run">               `    <test-spec> ...`</a><br />
5
-<a href="#usage">                                       `    -h, -?, --help`</a><br />
6
-<a href="#listing-available-tests-tags-or-reporters">   `    -l, --list-tests`</a><br />
7
-<a href="#listing-available-tests-tags-or-reporters">   `    -t, --list-tags`</a><br />
8
-<a href="#showing-results-for-successful-tests">        `    -s, --success`</a><br />
9
-<a href="#breaking-into-the-debugger">                  `    -b, --break`</a><br />
10
-<a href="#eliding-assertions-expected-to-throw">        `    -e, --nothrow`</a><br />
11
-<a href="#invisibles">                                  `    -i, --invisibles`</a><br />
12
-<a href="#sending-output-to-a-file">                    `    -o, --out`</a><br />
13
-<a href="#choosing-a-reporter-to-use">                  `    -r, --reporter`</a><br />
14
-<a href="#naming-a-test-run">                           `    -n, --name`</a><br />
15
-<a href="#aborting-after-a-certain-number-of-failures"> `    -a, --abort`</a><br />
16
-<a href="#aborting-after-a-certain-number-of-failures"> `    -x, --abortx`</a><br />
17
-<a href="#warnings">                                    `    -w, --warn`</a><br />
18
-<a href="#reporting-timings">                           `    -d, --durations`</a><br />
19
-<a href="#input-file">                                  `    -f, --input-file`</a><br />
20
-<a href="#run-section">                                 `    -c, --section`</a><br />
21
-<a href="#filenames-as-tags">                           `    -#, --filenames-as-tags`</a><br />
22
-
23
-
24
-</br>
25
-
26
-<a href="#list-test-names-only">                        `    --list-test-names-only`</a><br />
27
-<a href="#listing-available-tests-tags-or-reporters">   `    --list-reporters`</a><br />
28
-<a href="#order">                                       `    --order`</a><br />
29
-<a href="#rng-seed">                                    `    --rng-seed`</a><br />
30
-
31
-</br>
32
-
33
-
34
-
35
-<a id="specifying-which-tests-to-run"></a>
36
-## Specifying which tests to run
37
-
38
-<pre>&lt;test-spec> ...</pre>
39
-
40
-Test cases, wildcarded test cases, tags and tag expressions are all passed directly as arguments. Tags are distinguished by being enclosed in square brackets.
41
-
42
-If no test specs are supplied then all test cases, except "hidden" tests, are run.
43
-A test is hidden by giving it any tag starting with (or just) a period (```.```) - or, in the deprecated case, tagged ```[hide]``` or given name starting with `'./'`. To specify hidden tests from the command line ```[.]``` or ```[hide]``` can be used *regardless of how they were declared*.
44
-
45
-Specs must be enclosed in quotes if they contain spaces. If they do not contain spaces the quotes are optional.
46
-
47
-Wildcards consist of the `*` character at the beginning and/or end of test case names and can substitute for any number of any characters (including none).
48
-
49
-Test specs are case insensitive.
50
-
51
-If a spec is prefixed with `exclude:` or the `~` character then the pattern matches an exclusion. This means that tests matching the pattern are excluded from the set - even if a prior inclusion spec included them. Subsequent inclusion specs will take precendence, however.
52
-Inclusions and exclusions are evaluated in left-to-right order.
53
-
54
-Test case examples:
55
-
56
-<pre>thisTestOnly            Matches the test case called, 'thisTestOnly'
57
-"this test only"        Matches the test case called, 'this test only'
58
-these*                  Matches all cases starting with 'these'
59
-exclude:notThis         Matches all tests except, 'notThis'
60
-~notThis                Matches all tests except, 'notThis'
61
-~*private*              Matches all tests except those that contain 'private'
62
-a* ~ab* abc             Matches all tests that start with 'a', except those that
63
-                        start with 'ab', except 'abc', which is included
64
-</pre>
65
-
66
-Names within square brackets are interpreted as tags.
67
-A series of tags form an AND expression wheras a comma-separated sequence forms an OR expression. e.g.:
68
-
69
-<pre>[one][two],[three]</pre>
70
-This matches all tests tagged `[one]` and `[two]`, as well as all tests tagged `[three]`
71
-
72
-Test names containing special characters, such as `,` or `[` can specify them on the command line using `\`.
73
-`\` also escapes itself.
74
-
75
-<a id="choosing-a-reporter-to-use"></a>
76
-## Choosing a reporter to use
77
-
78
-<pre>-r, --reporter &lt;reporter></pre>
79
-
80
-A reporter is an object that formats and structures the output of running tests, and potentially summarises the results. By default a console reporter is used that writes, IDE friendly, textual output. Catch comes bundled with some alternative reporters, but more can be added in client code.<br />
81
-The bundled reporters are:
82
-
83
-<pre>-r console
84
--r compact
85
--r xml
86
--r junit
87
-</pre>
88
-
89
-The JUnit reporter is an xml format that follows the structure of the JUnit XML Report ANT task, as consumed by a number of third-party tools, including Continuous Integration servers such as Hudson. If not otherwise needed, the standard XML reporter is preferred as this is a streaming reporter, whereas the Junit reporter needs to hold all its results until the end so it can write the overall results into attributes of the root node.
90
-
91
-<a id="breaking-into-the-debugger"></a>
92
-## Breaking into the debugger
93
-<pre>-b, --break</pre>
94
-
95
-In some IDEs (currently XCode and Visual Studio) it is possible for Catch to break into the debugger on a test failure. This can be very helpful during debug sessions - especially when there is more than one path through a particular test.
96
-
97
-<a id="showing-results-for-successful-tests"></a>
98
-## Showing results for successful tests
99
-<pre>-s, --success</pre>
100
-
101
-Usually you only want to see reporting for failed tests. Sometimes it's useful to see *all* the output (especially when you don't trust that that test you just added worked first time!).
102
-To see successful, as well as failing, test results just pass this option. Note that each reporter may treat this option differently. The Junit reporter, for example, logs all results regardless.
103
-
104
-<a id="aborting-after-a-certain-number-of-failures"></a>
105
-## Aborting after a certain number of failures
106
-<pre>-a, --abort
107
--x, --abortx [&lt;failure threshold>]
108
-</pre>
109
-
110
-If a ```REQUIRE``` assertion fails the test case aborts, but subsequent test cases are still run.
111
-If a ```CHECK``` assertion fails even the current test case is not aborted.
112
-
113
-Sometimes this results in a flood of failure messages and you'd rather just see the first few. Specifying ```-a``` or ```--abort``` on its own will abort the whole test run on the first failed assertion of any kind. Use ```-x``` or ```--abortx``` followed by a number to abort after that number of assertion failures.
114
-
115
-<a id="listing-available-tests-tags-or-reporters"></a>
116
-## Listing available tests, tags or reporters
117
-<pre>-l, --list-tests
118
--t, --list-tags
119
---list-reporters
120
-</pre>
121
-
122
-```-l``` or ```--list-tests``` will list all registered tests, along with any tags.
123
-If one or more test-specs have been supplied too then only the matching tests will be listed.
124
-
125
-```-t``` or ```--list-tags``` lists all available tags, along with the number of test cases they match. Again, supplying test specs limits the tags that match.
126
-
127
-```--list-reporters``` lists the available reporters.
128
-
129
-<a id="sending-output-to-a-file"></a>
130
-## Sending output to a file
131
-<pre>-o, --out &lt;filename>
132
-</pre>
133
-
134
-Use this option to send all output to a file. By default output is sent to stdout (note that uses of stdout and stderr *from within test cases* are redirected and included in the report - so even stderr will effectively end up on stdout).
135
-
136
-<a id="naming-a-test-run"></a>
137
-## Naming a test run
138
-<pre>-n, --name &lt;name for test run></pre>
139
-
140
-If a name is supplied it will be used by the reporter to provide an overall name for the test run. This can be useful if you are sending to a file, for example, and need to distinguish different test runs - either from different Catch executables or runs of the same executable with different options. If not supplied the name is defaulted to the name of the executable.
141
-
142
-<a id="eliding-assertions-expected-to-throw"></a>
143
-## Eliding assertions expected to throw
144
-<pre>-e, --nothrow</pre>
145
-
146
-Skips all assertions that test that an exception is thrown, e.g. ```REQUIRE_THROWS```.
147
-
148
-These can be a nuisance in certain debugging environments that may break when exceptions are thrown (while this is usually optional for handled exceptions, it can be useful to have enabled if you are trying to track down something unexpected).
149
-
150
-Sometimes exceptions are expected outside of one of the assertions that tests for them (perhaps thrown and caught within the code-under-test). The whole test case can be skipped when using ```-e``` by marking it with the ```[!throws]``` tag.
151
-
152
-When running with this option any throw checking assertions are skipped so as not to contribute additional noise. Be careful if this affects the behaviour of subsequent tests.
153
-
154
-<a id="invisibles"></a>
155
-## Make whitespace visible
156
-<pre>-i, --invisibles</pre>
157
-
158
-If a string comparison fails due to differences in whitespace - especially leading or trailing whitespace - it can be hard to see what's going on.
159
-This option transforms tabs and newline characters into ```\t``` and ```\n``` respectively when printing.
160
-
161
-<a id="warnings"></a>
162
-## Warnings
163
-<pre>-w, --warn &lt;warning name></pre>
164
-
165
-Enables reporting of warnings (only one, at time of this writing). If a warning is issued it fails the test.
166
-
167
-The ony available warning, presently, is ```NoAssertions```. This warning fails a test case, or (leaf) section if no assertions (```REQUIRE```/ ```CHECK``` etc) are encountered.
168
-
169
-<a id="reporting-timings"></a>
170
-## Reporting timings
171
-<pre>-d, --durations &lt;yes/no></pre>
172
-
173
-When set to ```yes``` Catch will report the duration of each test case, in milliseconds. Note that it does this regardless of whether a test case passes or fails. Note, also, the certain reporters (e.g. Junit) always report test case durations regardless of this option being set or not.
174
-
175
-<a id="input-file"></a>
176
-## Load test names to run from a file
177
-<pre>-f, --input-file &lt;filename></pre>
178
-
179
-Provide the name of a file that contains a list of test case names - one per line. Blank lines are skipped and anything after the comment character, ```#```, is ignored.
180
-
181
-A useful way to generate an initial instance of this file is to use the <a href="#list-test-names-only">list-test-names-only</a> option. This can then be manually curated to specify a specific subset of tests - or in a specific order.
182
-
183
-<a id="list-test-names-only"></a>
184
-## Just test names
185
-<pre>--list-test-names-only</pre>
186
-
187
-This option lists all available tests in a non-indented form, one on each line. This makes it ideal for saving to a file and feeding back into the <a href="#input-file">```-f``` or ```--input-file```</a> option.
188
-
189
-
190
-<a id="order"></a>
191
-## Specify the order test cases are run
192
-<pre>--order &lt;decl|lex|rand&gt;</pre>
193
-
194
-Test cases are ordered one of three ways:
195
-
196
-
197
-### decl
198
-Declaration order. The order the tests were originally declared in. Note that ordering between files is not guaranteed and is implementation dependent.
199
-
200
-### lex
201
-Lexicographically sorted. Tests are sorted, alpha-numerically, by name.
202
-
203
-### rand
204
-Randomly sorted. Test names are sorted using ```std::random_shuffle()```. By default the random number generator is seeded with 0 - and so the order is repeatable. To control the random seed see <a href="#rng-seed">rng-seed</a>.
205
-
206
-<a id="rng-seed"></a>
207
-## Specify a seed for the Random Number Generator
208
-<pre>--rng-seed &lt;'time'|number&gt;</pre>
209
-
210
-Sets a seed for the random number generator using ```std::srand()```. 
211
-If a number is provided this is used directly as the seed so the random pattern is repeatable.
212
-Alternatively if the keyword ```time``` is provided then the result of calling ```std::time(0)``` is used and so the pattern becomes unpredictable.
213
-
214
-In either case the actual value for the seed is printed as part of Catch's output so if an issue is discovered that is sensitive to test ordering the ordering can be reproduced - even if it was originally seeded from ```std::time(0)```.
215
-
216
-<a id="usage"></a>
217
-## Usage
218
-<pre>-h, -?, --help</pre>
219
-
220
-Prints the command line arguments to stdout
221
-
222
-
223
-<a id="run-section"></a>
224
-## Specify the section to run
225
-<pre>-c, --section &lt;section name&gt;</pre>
226
-
227
-To limit execution to a specific section within a test case, use this option one or more times.
228
-To narrow to sub-sections use multiple instances, where each subsequent instance specifies a deeper nesting level.
229
-
230
-E.g. if you have:
231
-
232
-<pre>
233
-TEST_CASE( "Test" ) {
234
-  SECTION( "sa" ) {
235
-    SECTION( "sb" ) {
236
-      /*...*/
237
-    }
238
-    SECTION( "sc" ) {
239
-      /*...*/
240
-    }
241
-  }
242
-  SECTION( "sd" ) {
243
-    /*...*/
244
-  }
245
-}
246
-</pre>
247
-
248
-Then you can run `sb` with:
249
-<pre>./MyExe Test -c sa -c sb</pre>
250
-
251
-Or run just `sd` with:
252
-<pre>./MyExe Test -c sd</pre>
253
-
254
-To run all of `sa`, including `sb` and `sc` use:
255
-<pre>./MyExe Test -c sa</pre>
256
-
257
-There are some limitations of this feature to be aware of:
258
-- Code outside of sections being skipped will still be executed - e.g. any set-up code in the TEST_CASE before the
259
-start of the first section.</br>
260
-- At time of writing, wildcards are not supported in section names.
261
-- If you specify a section without narrowing to a test case first then all test cases will be executed 
262
-(but only matching sections within them).
263
-
264
-
265
-<a id="filenames-as-tags"></a>
266
-## Filenames as tags
267
-<pre>-#, --filenames-as-tags</pre>
268
-
269
-When this option is used then every test is given an additional tag which is formed of the unqualified 
270
-filename it is found in, with any extension stripped, prefixed with the `#` character.
271
-
272
-So, for example,  tests within the file `~\Dev\MyProject\Ferrets.cpp` would be tagged `[#Ferrets]`.
273
-
274
-
275
----
276
-
277
-[Home](Readme.md)

+ 0
- 12
libraries/Lora_Serialization/test/lib/Catch/docs/commercial-users.md View File

@@ -1,12 +0,0 @@
1
-# Commercial users of Catch
2
-
3
-As well as [Open Source](opensource-users.md) users Catch is widely used within proprietary code bases too. Many companies like to keep this
4
-information internal, and that's fine, but if you're more open it would be great if we could list the names of as
5
-many organisations as possible that use Catch somewhere in their codebase. Enterprise environments often tend to be
6
-far more conservative in their tool adoption - and being aware that other companies are using Catch can ease the
7
-path in.
8
-
9
-So if you are aware of Catch usage in your organisation, and are fairly confident there is no issue with sharing this
10
-fact then please let us know - either directly, via a PR or [issue](https://github.com/philsquared/Catch/issues), or on the [forums](https://groups.google.com/forum/?fromgroups#!forum/catch-forum).
11
- 
12
- - Bloomberg

+ 0
- 100
libraries/Lora_Serialization/test/lib/Catch/docs/configuration.md View File

@@ -1,100 +0,0 @@
1
-Catch is designed to "just work" as much as possible. For most people the only configuration needed is telling Catch which source file should host all the implementation code (```CATCH_CONFIG_MAIN```).
2
-
3
-Nonetheless there are still some occasions where finer control is needed. For these occasions Catch exposes a set of macros for configuring how it is built.
4
-
5
-#  main()/ implementation
6
-
7
-	CATCH_CONFIG_MAIN	// Designates this as implementation file and defines main()
8
-	CATCH_CONFIG_RUNNER	// Designates this as implementation file
9
-
10
-Although Catch is header only it still, internally, maintains a distinction between interface headers and headers that contain implementation. Only one source file in your test project should compile the implementation headers and this is controlled through the use of one of these macros - one of these identifiers should be defined before including Catch in *exactly one implementation file in your project*.
11
-
12
-#  Prefixing Catch macros
13
-
14
-	CATCH_CONFIG_PREFIX_ALL
15
-
16
-To keep test code clean and uncluttered Catch uses short macro names (e.g. ```TEST_CASE``` and ```REQUIRE```). Occasionally these may conflict with identifiers from platform headers or the system under test. In this case the above identifier can be defined. This will cause all the Catch user macros to be prefixed with ```CATCH_``` (e.g. ```CATCH_TEST_CASE``` and ```CATCH_REQUIRE```).
17
-
18
-
19
-#  Terminal colour
20
-
21
-	CATCH_CONFIG_COLOUR_NONE	// completely disables all text colouring
22
-	CATCH_CONFIG_COLOUR_WINDOWS	// forces the Win32 console API to be used
23
-	CATCH_CONFIG_COLOUR_ANSI	// forces ANSI colour codes to be used
24
-
25
-Yes, I am English, so I will continue to spell "colour" with a 'u'.
26
-
27
-When sending output to the terminal, if it detects that it can, Catch will use colourised text. On Windows the Win32 API, ```SetConsoleTextAttribute```, is used. On POSIX systems ANSI colour escape codes are inserted into the stream.
28
-
29
-For finer control you can define one of the above identifiers (these are mutually exclusive - but that is not checked so may behave unexpectedly if you mix them):
30
-
31
-Note that when ANSI colour codes are used "unistd.h" must be includable - along with a definition of ```isatty()```
32
-
33
-Typically you should place the ```#define``` before #including "catch.hpp" in your main source file - but if you prefer you can define it for your whole project by whatever your IDE or build system provides for you to do so.
34
-
35
-#  Console width
36
-
37
-	CATCH_CONFIG_CONSOLE_WIDTH = x // where x is a number
38
-
39
-Catch formats output intended for the console to fit within a fixed number of characters. This is especially important as indentation is used extensively and uncontrolled line wraps break this.
40
-By default a console width of 80 is assumed but this can be controlled by defining the above identifier to be a different value.
41
-
42
-#  stdout
43
-
44
-	CATCH_CONFIG_NOSTDOUT
45
-
46
-Catch does not use ```std::cout``` and ```std::cerr``` directly but gets them from ```Catch::cout()``` and ```Catch::cerr()``` respectively. If the above identifier is defined these functions are left unimplemented and you must implement them yourself. Their signatures are:
47
-
48
-    std::ostream& cout();
49
-    std::ostream& cerr();
50
-
51
-This can be useful on certain platforms that do not provide ```std::cout``` and ```std::cerr```, such as certain embedded systems.
52
-
53
-# C++ conformance toggles
54
-
55
-	CATCH_CONFIG_CPP11_NULLPTR 				// nullptr is supported?
56
-	CATCH_CONFIG_CPP11_NOEXCEPT				// noexcept is supported?
57
-	CATCH_CONFIG_CPP11_GENERATED_METHODS	// delete and default keywords for methods
58
-	CATCH_CONFIG_CPP11_IS_ENUM				// std::is_enum is supported?
59
-	CATCH_CONFIG_CPP11_TUPLE				// std::tuple is supported
60
-	CATCH_CONFIG_VARIADIC_MACROS 			// Usually pre-C++11 compiler extensions are sufficient
61
-	CATCH_CONFIG_CPP11_LONG_LONG			// generates overloads for the long long type
62
-	CATCH_CONFIG_CPP11_OVERRIDE				// CATCH_OVERRIDE expands to override (for virtual function implementations)
63
-	CATCH_CONFIG_CPP11_UNIQUE_PTR			// Use std::unique_ptr instead of std::auto_ptr
64
-    CATCH_CONFIG_CPP11_SHUFFLE              // Use std::shuffle instead of std::random_shuffle
65
-    CATCH_CONFIG_CPP11_TYPE_TRAITS          // Use std::enable_if and <type_traits>
66
-
67
-Catch has some basic compiler detection that will attempt to select the appropriate mix of these macros. However being incomplete - and often without access to the respective compilers - this detection tends to be conservative.
68
-So overriding control is given to the user. If a compiler supports a feature (and Catch does not already detect it) then one or more of these may be defined to enable it (or suppress it, in some cases). If you do do this please raise an issue, specifying your compiler version (ideally with an idea of how to detect it) and stating that it has such support.
69
-You may also suppress any of these features by using the `_NO_` form, e.g. `CATCH_CONFIG_CPP11_NO_NULLPTR`.
70
-
71
-All C++11 support can be disabled with `CATCH_CONFIG_NO_CPP11`
72
-
73
-# Other toggles
74
-
75
-    CATCH_CONFIG_COUNTER                    // Use __COUNTER__ to generate unique names for test cases
76
-    CATCH_CONFIG_WINDOWS_SEH                // Enable SEH handling on Windows
77
-    CATCH_CONFIG_FAST_COMPILE               // Sacrifices some (extremely minor) features for compilation speed
78
-    CATCH_CONFIG_POSIX_SIGNALS              // Enable handling POSIX signals
79
-    CATCH_CONFIG_WINDOWS_CRTDBG             // Enable leak checking using Windows's CRT Debug Heap
80
-
81
-Currently Catch enables `CATCH_CONFIG_WINDOWS_SEH` only when compiled with MSVC, because some versions of MinGW do not have the necessary Win32 API support.
82
-
83
-At this moment, `CATCH_CONFIG_FAST_COMPILE` changes only the behaviour of the `-b` (`--break`) flag, making it break into debugger in a stack frame *below* the actual test, unlike the default behaviour, where the break into debugger occurs in the same stack frame as the actual test. `CATCH_CONFIG_FAST_COMPILE` has to be either defined, or not defined, in all translation units that are linked into single test binary, or the behaviour of setting `-b` flag will be unpredictable.
84
-
85
-`CATCH_CONFIG_POSIX_SIGNALS` is on by default, except when Catch is compiled under `Cygwin`, where it is disabled by default (but can be force-enabled by defining `CATCH_CONFIG_POSIX_SIGNALS`).
86
-
87
-`CATCH_CONFIG_WINDOWS_CRTDBG` is off by default. If enabled, Windows's CRT is used to check for memory leaks, and displays them after the tests finish running.
88
-
89
-Just as with the C++11 conformance toggles, these toggles can be disabled by using `_NO_` form of the toggle, e.g. `CATCH_CONFIG_NO_WINDOWS_SEH`.
90
-
91
-# Windows header clutter
92
-
93
-On Windows Catch includes `windows.h`. To minimize global namespace clutter in the implementation file, it defines `NOMINMAX` and `WIN32_LEAN_AND_MEAN` before including it. You can control this behaviour via two macros:
94
-
95
-    CATCH_CONFIG_NO_NOMINMAX            // Stops Catch from using NOMINMAX macro 
96
-    CATCH_CONFIG_NO_WIN32_LEAN_AND_MEAN // Stops Catch from using WIN32_LEAN_AND_MEAN macro
97
-
98
----
99
-
100
-[Home](Readme.md)

+ 0
- 41
libraries/Lora_Serialization/test/lib/Catch/docs/contributing.md View File

@@ -1,41 +0,0 @@
1
-# Contributing to Catch
2
-
3
-So you want to contribute something to Catch? That's great! Whether it's a bug fix, a new feature, support for 
4
-additional compilers - or just a fix to the documentation - all contributions are very welcome and very much appreciated. 
5
-Of course so are bug reports and other comments and questions.
6
-
7
-If you are contributing to the code base there are a few simple guidelines to keep in mind. This also includes notes to
8
-help you find your way around. As this is liable to drift out of date please raise an issue or, better still, a pull
9
-request for this file, if you notice that.
10
-
11
-## Branches
12
-
13
-Ongoing development is currently on _master_. At some point an integration branch will be set-up and PRs should target
14
- that - but for now it's all against master. You may see feature branches come and go from time to time, too.
15
-
16
-## Directory structure
17
-
18
-_Users_ of Catch primarily use the single header version. _Maintainers_ should work with the full source (which is still, 
19
-primarily, in headers). This can be found in the `include` folder. There are a set of test files, currently under
20
-`projects/SelfTest`. The test app can be built via CMake from the `CMakeLists.txt` file in the root, or you can generate
21
-project files for Visual Studio, XCode, and others (instructions in the `projects` folder). If you have access to CLion
22
-that can work with the CMake file directly.
23
-
24
-As well as the runtime test files you'll also see a `SurrogateCpps` directory under `projects/SelfTest`.
25
-This contains a set of .cpp files that each `#include` a single header.
26
-While these files are not essential to compilation they help to keep the implementation headers self-contained.
27
-At time of writing this set is not complete but has reasonable coverage.
28
-If you add additional headers please try to remember to add a surrogate cpp for it.
29
-
30
-The other directories are `scripts` which contains a set of python scripts to help in testing Catch as well as
31
-generating the single include, and `docs`, which contains the documentation as a set of markdown files.
32
-
33
-__When submitting a pull request please do not include changes to the single include, or to the version number file
34
-as these are managed by the scripts!__
35
-
36
-
37
- *this document is still in-progress...*
38
-
39
----
40
-
41
-[Home](Readme.md)

+ 0
- 99
libraries/Lora_Serialization/test/lib/Catch/docs/limitations.md View File

@@ -1,99 +0,0 @@
1
-# Known limitations
2
-
3
-Catch has some known limitations, that we are not planning to change. Some of these are caused by our desire to support C++98 compilers, some of these are caused by our desire to keep Catch crossplatform, some exist because their priority is seen as low compared to the development effort they would need and some other yet are compiler/runtime bugs.
4
-
5
-## Features
6
-This section outlines some missing features, what is their status and their possible workarounds.
7
-
8
-### Thread safe assertions
9
-Because threading support in standard C++98 is limited (well, non-existent), assertion macros in Catch are not thread safe. This does not mean that you cannot use threads inside Catch's test, but that only single thread can interact with Catch's assertions and other macros.
10
-
11
-This means that this is ok
12
-```cpp
13
-    std::vector<std::thread> threads;
14
-    std::atomic<int> cnt{ 0 };
15
-    for (int i = 0; i < 4; ++i) {
16
-        threads.emplace_back([&]() {
17
-            ++cnt; ++cnt; ++cnt; ++cnt;
18
-        });
19
-    }
20
-    for (auto& t : threads) { t.join(); }
21
-    REQUIRE(cnt == 16);
22
-```
23
-because only one thread passes the `REQUIRE` macro and this is not
24
-```cpp
25
-    std::vector<std::thread> threads;
26
-    std::atomic<int> cnt{ 0 };
27
-    for (int i = 0; i < 4; ++i) {
28
-        threads.emplace_back([&]() {
29
-            ++cnt; ++cnt; ++cnt; ++cnt;
30
-            CHECK(cnt == 16);
31
-        });
32
-    }
33
-    for (auto& t : threads) { t.join(); }
34
-    REQUIRE(cnt == 16);
35
-```
36
-
37
-
38
-_This limitation is highly unlikely to be lifted before Catch 2 is released._
39
-
40
-### Process isolation in a test
41
-Catch does not support running tests in isolated (forked) processes. While this might in the future, the fact that Windows does not support forking and only allows full-on process creation and the desire to keep code as similar as possible across platforms, mean that this is likely to take significant development time, that is not currently available.
42
-
43
-### Running multiple tests in parallel
44
-Catch's test execution is strictly serial. If you find yourself with a test suite that takes too long to run and you want to make it parallel, there are 2 feasible solutions
45
- * You can split your tests into multiple binaries and then run these binaries in parallel.
46
- * You can have Catch list contained test cases and then run the same test binary multiple times in parallel, passing each instance list of test cases it should run.
47
-
48
-Both of these solutions have their problems, but should let you wring parallelism out of your test suite.
49
-
50
-## 3rd party bugs
51
-This section outlines known bugs in 3rd party components (this means compilers, standard libraries, standard runtimes).
52
-
53
-### Visual Studio 2013 -- do-while loop withing range based for fails to compile (C2059)
54
-There is a known bug in Visual Studio 2013 (VC 12), that causes compilation error if range based for is followed by an assertion macro, without enclosing the block in braces. This snippet is sufficient to trigger the error
55
-```cpp
56
-#define CATCH_CONFIG_MAIN
57
-#include "catch.hpp"
58
-
59
-TEST_CASE("Syntax error with VC12") {
60
-    for ( auto x : { 1 , 2, 3 } )
61
-        REQUIRE( x < 3.14 );
62
-}
63
-```
64
-An easy workaround is possible, use braces:
65
-```cpp
66
-#define CATCH_CONFIG_MAIN
67
-#include "catch.hpp"
68
-
69
-TEST_CASE("No longer a syntax error with VC12") {
70
-    for ( auto x : { 1 , 2, 3 } ) {
71
-        REQUIRE( x < 3.14 );
72
-    }
73
-}
74
-```
75
-
76
-### Visual Studio 2003 -- Syntax error caused by improperly expanded `__LINE__` macro
77
-Older version of Visual Studio can have trouble compiling Catch, not expanding the `__LINE__` macro properly when recompiling the test binary. This is caused by Edit and Continue being on.
78
-
79
-A workaround is to turn off Edit and Continue when compiling the test binary.
80
-
81
-### Clang/G++ -- skipping leaf sections after an exception
82
-Some versions of `libc++` and `libstdc++` (or their runtimes) have a bug with `std::uncaught_exception()` getting stuck returning `true` after rethrow, even if there are no active exceptions. One such case is this snippet, which skipped the sections "a" and "b", when compiled against `libcxxrt` from master
83
-```cpp
84
-#define CATCH_CONFIG_MAIN
85
-#include <catch.hpp>
86
-
87
-TEST_CASE("a") {
88
-    CHECK_THROWS(throw 3);
89
-}
90
-
91
-TEST_CASE("b") {
92
-    int i = 0;
93
-    SECTION("a") { i = 1; }
94
-    SECTION("b") { i = 2; }
95
-    CHECK(i > 0);
96
-}
97
-```
98
-
99
-If you are seeing a problem like this, i.e. a weird test paths that trigger only under Clang with `libc++`, or only under very specific version of `libstdc++`, it is very likely you are seeing this. The only known workaround is to use a fixed version of your standard library.

+ 0
- 52
libraries/Lora_Serialization/test/lib/Catch/docs/logging.md View File

@@ -1,52 +0,0 @@
1
-# Logging macros
2
-
3
-Additional messages can be logged during a test case.
4
-
5
-## Streaming macros
6
-
7
-All these macros allow heterogenous sequences of values to be streaming using the insertion operator (```<<```) in the same way that std::ostream, std::cout, etc support it.
8
-
9
-E.g.:
10
-```c++
11
-INFO( "The number is " << i );
12
-```
13
-
14
-(Note that there is no initial ```<<``` - instead the insertion sequence is placed in parentheses.)
15
-These macros come in three forms:
16
-
17
-**INFO(** _message expression_ **)**
18
-
19
-The message is logged to a buffer, but only reported with the next assertion that is logged. This allows you to log contextual information in case of failures which is not shown during a successful test run (for the console reporter, without -s). Messages are removed from the buffer at the end of their scope, so may be used, for example, in loops.
20
-
21
-**WARN(** _message expression_ **)**
22
-
23
-The message is always reported but does not fail the test.
24
-
25
-**FAIL(** _message expression_ **)**
26
-
27
-The message is reported and the test case fails.
28
-
29
-## Quickly capture a variable value
30
-
31
-**CAPTURE(** _expression_ **)**
32
-
33
-Sometimes you just want to log the name and value of a variable. While you can easily do this with the INFO macro, above, as a convenience the CAPTURE macro handles the stringising of the variable name for you (actually it works with any expression, not just variables).
34
-
35
-E.g.
36
-```c++
37
-CAPTURE( theAnswer );
38
-```
39
-
40
-This would log something like:
41
-
42
-<pre>"theAnswer := 42"</pre>
43
-
44
-## Deprecated macros
45
-
46
-**SCOPED_INFO and SCOPED_CAPTURE**
47
-
48
-These macros are now deprecated and are just aliases for INFO and CAPTURE (which were not previously scoped).
49
-
50
----
51
-
52
-[Home](Readme.md)

+ 0
- 103
libraries/Lora_Serialization/test/lib/Catch/docs/matchers.md View File

@@ -1,103 +0,0 @@
1
-# Matchers
2
-
3
-Matchers are an alternative way to do assertions which are easily extensible and composable.
4
-This makes them well suited to use with more complex types (such as collections) or your own custom types.
5
-Matchers were first popularised by the [Hamcrest](https://en.wikipedia.org/wiki/Hamcrest) family of frameworks.
6
-
7
-## In use
8
-
9
-Matchers are introduced with the `REQUIRE_THAT` or `CHECK_THAT` macros, which take two arguments.
10
-The first argument is the thing (object or value) under test. The second part is a match _expression_,
11
-which consists of either a single matcher or one or more matchers combined using `&&`, `||` or `!` operators.
12
-
13
-For example, to assert that a string ends with a certain substring:
14
- 
15
- ```c++
16
-std::string str = getStringFromSomewhere();
17
-REQUIRE_THAT( str, EndsWith( "as a service" ) ); 
18
- ```
19
-
20
-The matcher objects can take multiple arguments, allowing more fine tuning.
21
-The built-in string matchers, for example, take a second argument specifying whether the comparison is
22
-case sensitive or not:
23
-
24
-```c++
25
-REQUIRE_THAT( str, EndsWith( "as a service", Catch::CaseSensitive::No ) ); 
26
- ```
27
-
28
-And matchers can be combined:
29
-
30
-```c++
31
-REQUIRE_THAT( str, 
32
-    EndsWith( "as a service" ) || 
33
-    (StartsWith( "Big data" ) && !Contains( "web scale" ) ) ); 
34
-```
35
-
36
-## Built in matchers
37
-Currently Catch has some string matchers and some vector matchers.
38
-The string matchers are `StartsWith`, `EndsWith`, `Contains` and `Equals`. Each of them also takes an optional second argument, that decides case sensitivity (by-default, they are case sensitive).
39
-The vector matchers are `Contains`, `VectorContains` and `Equals`. `VectorContains` looks for a single element in the matched vector, `Contains` looks for a set (vector) of elements inside the matched vector.
40
-
41
-
42
-## Custom matchers
43
-It's easy to provide your own matchers to extend Catch or just to work with your own types.
44
-
45
-You need to provide two things: 
46
-1. A matcher class, derived from `Catch::MatcherBase<T>` - where `T` is the type being tested.
47
-The constructor takes and stores any arguments needed (e.g. something to compare against) and you must
48
-override two methods: `match()` and `describe()`. 
49
-2. A simple builder function. This is what is actually called from the test code and allows overloading.
50
-
51
-Here's an example for asserting that an integer falls within a given range
52
-(note that it is all inline for the sake of keeping the example short):
53
-
54
-```c++
55
-// The matcher class
56
-class IntRange : public Catch::MatcherBase<int> {
57
-    int m_begin, m_end;
58
-public:
59
-    IntRange( int begin, int end ) : m_begin( begin ), m_end( end ) {}
60
-
61
-    // Performs the test for this matcher
62
-    virtual bool match( int const& i ) const override {
63
-        return i >= m_begin && i <= m_end;
64
-    }
65
-
66
-    // Produces a string describing what this matcher does. It should
67
-    // include any provided data (the begin/ end in this case) and
68
-    // be written as if it were stating a fact (in the output it will be
69
-    // preceded by the value under test).
70
-    virtual std::string describe() const {
71
-        std::ostringstream ss;
72
-        ss << "is between " << m_begin << " and " << m_end;
73
-        return ss.str();
74
-    }
75
-};
76
-
77
-// The builder function
78
-inline IntRange IsBetween( int begin, int end ) {
79
-    return IntRange( begin, end );
80
-}
81
-
82
-// ...
83
-
84
-// Usage
85
-TEST_CASE("Integers are within a range")
86
-{
87
-    CHECK_THAT( 3, IsBetween( 1, 10 ) );
88
-    CHECK_THAT( 100, IsBetween( 1, 10 ) );
89
-}
90
-```
91
-
92
-Running this test gives the following in the console:
93
- 
94
-```
95
-/**/TestFile.cpp:123: FAILED:
96
-  CHECK_THAT( 100, IsBetween( 1, 10 ) )
97
-with expansion:
98
-  100 is between 1 and 10
99
-```
100
-
101
----
102
-
103
-[Home](Readme.md)

+ 0
- 59
libraries/Lora_Serialization/test/lib/Catch/docs/opensource-users.md View File

@@ -1,59 +0,0 @@
1
-# Open Source projects using Catch
2
-
3
-Catch is great for open source. With it's [liberal license](../LICENSE_1_0.txt) and single-header, dependency-free, distribution 
4
-it's easy to just drop the header into your project and start writing tests - what's not to like?
5
-
6
-As a result Catch is now being used in many Open Source projects, including some quite well known ones.
7
-This page is an attempt to track those projects. Obviously it can never be complete.
8
-This effort largely relies on the maintainers of the projects themselves updating this page and submitting a PR
9
-(or, if you prefer contact one of the maintainers of Catch directly, use the 
10
-[forums](https://groups.google.com/forum/?fromgroups#!forum/catch-forum)), or raise an [issue](https://github.com/philsquared/Catch/issues) to let us know).
11
-Of course users of those projects might want to update this page too. That's fine - as long you're confident the project maintainers won't mind.
12
-If you're an Open Source project maintainer and see your project listed here but would rather it wasn't - 
13
-just let us know via any of the previously mentioned means - although I'm sure there won't be many who feel that way.
14
- 
15
-Listing a project here does not imply endorsement and the plan is to keep these ordered alphabetically to avoid an implication of relative importance.
16
-
17
-## Libraries & Frameworks
18
-
19
-### [Azmq](https://github.com/zeromq/azmq)
20
-Boost Asio style bindings for ZeroMQ
21
-
22
-### [ChakraCore](https://github.com/Microsoft/ChakraCore)
23
-The core part of the Chakra Javascript engine that powers Microsoft Edge
24
-
25
-### [ChaiScript](https://github.com/ChaiScript/ChaiScript)
26
-A, header-only, embedded scripting language designed from the ground up to directly target C++ and take advantage of modern C++ development techniques
27
-
28
-### [Couchbase-lite-core](https://github.com/couchbase/couchbase-lite-core)
29
-The next-generation core storage and query engine for Couchbase Lite/
30
-
31
-### [JSON for Modern C++](https://github.com/nlohmann/json)
32
-A, single-header, JSON parsing library that takes advantage of what C++ has to offer.
33
-
34
-### [MNMLSTC Core](https://github.com/mnmlstc/core)
35
-a small and easy to use C++11 library that adds a functionality set that will be available in C++14 and later, as well as some useful additions
36
-
37
-### [SOCI](https://github.com/SOCI/soci)
38
-The C++ Database Access Library
39
-
40
-### [Ppconsul](https://github.com/oliora/ppconsul)
41
-A C++ client library for Consul. Consul is a distributed tool for discovering and configuring services in your infrastructure
42
-
43
-### [Reactive-Extensions/ RxCpp](https://github.com/Reactive-Extensions/RxCpp)
44
-A library of algorithms for values-distributed-in-time
45
-
46
-### [Trompeloeil](https://github.com/rollbear/trompeloeil)
47
-A thread safe header only mocking framework for C++14
48
-
49
-## Applications & Tools
50
-
51
-### [MAME](https://github.com/mamedev/mame)
52
-MAME originally stood for Multiple Arcade Machine Emulator
53
-
54
-### [Standardese](https://github.com/foonathan/standardese)
55
-Standardese aims to be a nextgen Doxygen
56
-
57
----
58
-
59
-[Home](Readme.md)

+ 0
- 72
libraries/Lora_Serialization/test/lib/Catch/docs/own-main.md View File

@@ -1,72 +0,0 @@
1
-# Supplying main() yourself
2
-
3
-The easiest way to use Catch is to let it supply ```main()``` for you and handle configuring itself from the command line.
4
-
5
-This is achieved by writing ```#define CATCH_CONFIG_MAIN``` before the ```#include "catch.hpp"``` in *exactly one* source file.
6
-
7
-Sometimes, though, you need to write your own version of main(). You can do this by writing ```#define CATCH_CONFIG_RUNNER``` instead. Now you are free to write ```main()``` as normal and call into Catch yourself manually.
8
-
9
-You now have a lot of flexibility - but here are three recipes to get your started:
10
-
11
-## Let Catch take full control of args and config
12
-
13
-If you just need to have code that executes before and/ or after Catch this is the simplest option.
14
-
15
-```c++
16
-#define CATCH_CONFIG_RUNNER
17
-#include "catch.hpp"
18
-
19
-int main( int argc, char* argv[] )
20
-{
21
-  // global setup...
22
-
23
-  int result = Catch::Session().run( argc, argv );
24
-
25
-  // global clean-up...
26
-
27
-  return ( result < 0xff ? result : 0xff );
28
-}
29
-```
30
-
31
-## Amending the config
32
-
33
-If you still want Catch to process the command line, but you want to programatically tweak the config, you can do so in one of two ways:
34
-
35
-```c++
36
-#define CATCH_CONFIG_RUNNER
37
-#include "catch.hpp"
38
-
39
-int main( int argc, char* argv[] )
40
-{
41
-  Catch::Session session; // There must be exactly one instance
42
-
43
-  // writing to session.configData() here sets defaults
44
-  // this is the preferred way to set them
45
-
46
-  int returnCode = session.applyCommandLine( argc, argv );
47
-  if( returnCode != 0 ) // Indicates a command line error
48
-  	return returnCode;
49
-
50
-  // writing to session.configData() or session.Config() here 
51
-  // overrides command line args
52
-  // only do this if you know you need to
53
-
54
-  int numFailed = session.run();
55
-  // Note that on unices only the lower 8 bits are usually used, clamping
56
-  // the return value to 255 prevents false negative when some multiple
57
-  // of 256 tests has failed
58
-  return ( numFailed < 0xff ? numFailed : 0xff );
59
-}
60
-```
61
-
62
-Take a look at the definitions of Config and ConfigData to see what you can do with them.
63
-
64
-To take full control of the config simply omit the call to ```applyCommandLine()```.
65
-
66
-## Adding your own command line options
67
-
68
-Catch embeds a powerful command line parser which you can also use to parse your own options out. This capability is still in active development but will be documented here when it is ready.
69
-
70
----
71
-
72
-[Home](Readme.md)

+ 0
- 150
libraries/Lora_Serialization/test/lib/Catch/docs/release-notes.md View File

@@ -1,150 +0,0 @@
1
-# 1.8.1
2
-
3
-### Fixes
4
-
5
-Cygwin issue with `gettimeofday` - `#define` was not early enough
6
-
7
-# 1.8.0
8
-
9
-### New features/ minor changes
10
-
11
-* Matchers have new, simpler (and documented) interface.
12
-  * Catch provides string and vector matchers.
13
-  * For details see [Matchers documentation](matchers.md).
14
-* Changed console reporter test duration reporting format (#322)
15
-  * Old format: `Some simple comparisons between doubles completed in 0.000123s`
16
-  * New format: `xxx.123s: Some simple comparisons between doubles` _(There will always be exactly 3 decimal places)_
17
-* Added opt-in leak detection under MSVC + Windows (#439)
18
-  * Enable it by compiling Catch's main with `CATCH_CONFIG_WINDOWS_CRTDBG`
19
-* Introduced new compile-time flag, `CATCH_CONFIG_FAST_COMPILE`, trading features for compilation speed.
20
-  * Moves debug breaks out of tests and into implementation, speeding up compilation time
21
-  * _More changes are coming_
22