From 4e99ea643591c6f6f7dc153a4117560a1ddb1b58 Mon Sep 17 00:00:00 2001 From: Samuel Georges Date: Tue, 4 Aug 2015 21:03:42 +1000 Subject: [PATCH] Add tests for Import/Export models --- tests/unit/backend/models/ExportModelTest.php | 51 ++++++++++++++++++ tests/unit/backend/models/ImportModelTest.php | 53 +++++++++++++++++++ 2 files changed, 104 insertions(+) create mode 100644 tests/unit/backend/models/ExportModelTest.php create mode 100644 tests/unit/backend/models/ImportModelTest.php diff --git a/tests/unit/backend/models/ExportModelTest.php b/tests/unit/backend/models/ExportModelTest.php new file mode 100644 index 000000000..7ad3f4e12 --- /dev/null +++ b/tests/unit/backend/models/ExportModelTest.php @@ -0,0 +1,51 @@ +getMethod($name); + $method->setAccessible(true); + return $method->invokeArgs($object, $params); + } + + // + // Tests + // + + public function testEncodeArrayValue() + { + $model = new ExampleExportModel; + $data = ['foo', 'bar']; + $result = self::callProtectedMethod($model, 'encodeArrayValue', [$data]); + $this->assertEquals('foo|bar', $result); + + $data = ['dps | heals | tank', 'paladin', 'berserker', 'gunner']; + $result = self::callProtectedMethod($model, 'encodeArrayValue', [$data]); + $this->assertEquals('dps \| heals \| tank|paladin|berserker|gunner', $result); + + $data = ['art direction', 'roman empire', 'sci-fi']; + $result = self::callProtectedMethod($model, 'encodeArrayValue', [$data, '-']); + $this->assertEquals('art direction-roman empire-sci\-fi', $result); + } + +} diff --git a/tests/unit/backend/models/ImportModelTest.php b/tests/unit/backend/models/ImportModelTest.php new file mode 100644 index 000000000..555f98abf --- /dev/null +++ b/tests/unit/backend/models/ImportModelTest.php @@ -0,0 +1,53 @@ +getMethod($name); + $method->setAccessible(true); + return $method->invokeArgs($object, $params); + } + + // + // Tests + // + + public function testDecodeArrayValue() + { + $model = new ExampleImportModel; + $data = 'foo|bar'; + $result = self::callProtectedMethod($model, 'decodeArrayValue', [$data]); + $this->assertEquals(['foo', 'bar'], $result); + + $data = 'dps \| heals \| tank|paladin|berserker|gunner'; + $result = self::callProtectedMethod($model, 'decodeArrayValue', [$data]); + $this->assertEquals(['dps | heals | tank', 'paladin', 'berserker', 'gunner'], $result); + + $data = 'art direction-roman empire-sci\-fi'; + $result = self::callProtectedMethod($model, 'decodeArrayValue', [$data, '-']); + $this->assertEquals(['art direction', 'roman empire', 'sci-fi'], $result); + } + +} \ No newline at end of file