|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- /**
- * @filedescription Merge Strategy Tests
- */
- /* global it, describe, beforeEach */
-
- "use strict";
-
- //-----------------------------------------------------------------------------
- // Requirements
- //-----------------------------------------------------------------------------
-
- const assert = require("chai").assert;
- const { MergeStrategy } = require("../src/");
-
- //-----------------------------------------------------------------------------
- // Class
- //-----------------------------------------------------------------------------
-
- describe("MergeStrategy", () => {
-
-
- describe("overwrite()", () => {
-
- it("should overwrite the first value with the second when the second is defined", () => {
- const result = MergeStrategy.overwrite(1, 2);
- assert.strictEqual(result, 2);
- });
-
- it("should overwrite the first value with the second when the second is undefined", () => {
- const result = MergeStrategy.overwrite(1, undefined);
- assert.strictEqual(result, undefined);
- });
-
- });
-
- describe("replace()", () => {
-
- it("should overwrite the first value with the second when the second is defined", () => {
- const result = MergeStrategy.replace(1, 2);
- assert.strictEqual(result, 2);
- });
-
- it("should return the first value when the second is undefined", () => {
- const result = MergeStrategy.replace(1, undefined);
- assert.strictEqual(result, 1);
- });
-
- });
-
- describe("assign()", () => {
-
- it("should merge properties from two objects when called", () => {
-
- const object1 = { foo: 1, bar: 3 };
- const object2 = { foo: 2 };
-
- const result = MergeStrategy.assign(object1, object2);
- assert.deepStrictEqual(result, {
- foo: 2,
- bar: 3
- });
- });
-
- });
-
- });
|