public void CanAddDimensionValueToDimension()
        {
            var adapter    = new EndecaDimensionAdapter(_mockEndecaDimensionFileAdapter.Object, new[] { "1", "2" });
            var newDimNode =
                MockEndecaDimensionGenerator.GetMockEndecaDimensionNode(new EndecaDimensionProps
            {
                Id         = 79,
                Name       = "New Dim Node",
                NameFrench = "New Dim Node Fr"
            });

            adapter.AddDimensionNodeToDimension(newDimNode, 1, 38);
            var actual =
                adapter.GetAllEndecaDimensions()
                .FirstOrDefault(d => d.DimId.Id == 1)
                .DimNode.DimNodes.FirstOrDefault(n => n.DimVal.DimValId.Id == 38)
                .DimNodes;

            Assert.IsTrue(actual.Length == 1);

            var insertedNode = actual.FirstOrDefault(n => n.DimVal.DimValId.Id == 79);

            Assert.IsNotNull(insertedNode);
            Assert.AreEqual(insertedNode, newDimNode);
        }
        public void CanRemoveDimensionValueFromDimension()
        {
            var adapter = new EndecaDimensionAdapter(_mockEndecaDimensionFileAdapter.Object, new[] { "1", "2" });

            adapter.RemoveDimensionNodeFromDimension(1, 40);

            var actual = adapter.GetAllEndecaDimensions().FirstOrDefault(d => d.DimId.Id == 1);

            Assert.IsTrue(actual.DimNode.DimNodes.Length == 1);
            Assert.IsTrue(actual.DimNode.DimNodes[0].DimVal.DimValId.Id == 38);
        }
        public void CanGetEndecaDimensionIdsUsed()
        {
            var expected = new List <int> {
                1, 7, 4, 31, 40, 38
            };
            var actual = new EndecaDimensionAdapter(_mockEndecaDimensionFileAdapter.Object, new[] { "1", "2" }).GetAllDimensionIdsUsed();

            Assert.AreEqual(expected.Count, actual.Count);

            foreach (var id in expected)
            {
                Assert.IsTrue(actual.Contains(id));
            }
        }
        public void CanSaveDimensionsToFiles()
        {
            var adapter    = new EndecaDimensionAdapter(_mockEndecaDimensionFileAdapter.Object, new[] { "1", "2" });
            var newDimNode =
                MockEndecaDimensionGenerator.GetMockEndecaDimensionNode(new EndecaDimensionProps
            {
                Id         = 79,
                Name       = "New Dim Node",
                NameFrench = "New Dim Node Fr"
            });

            adapter.AddDimensionNodeToDimension(newDimNode, 1, 38);
            adapter.SaveAllDimensionFiles();
            var actual = adapter.GetAllEndecaDimensionXmls();

            Assert.AreEqual(_mockSavedFiles.Count(), actual.Count);
            Assert.IsTrue(actual.ScrambledEquals(_mockSavedFiles.Values));
        }
        public void CanGetEndecaDimensions()
        {
            var expected = _mockEndecaDimensions;
            var actual   = new EndecaDimensionAdapter(_mockEndecaDimensionFileAdapter.Object, new[] { "1", "2" }).GetAllEndecaDimensions();

            Assert.AreEqual(expected.Count, actual.Count);

            for (var i = 0; i < expected.Count; i++)
            {
                Assert.AreEqual(expected[i].DimId.Id, actual[i].DimId.Id);
                Assert.AreEqual(expected[i].DimNode.DimVal.Properties[0].Pval, actual[i].DimNode.DimVal.Properties[0].Pval);
                Assert.AreEqual(expected[i].DimNode.DimVal.Synonyms[0].Value, actual[i].DimNode.DimVal.Synonyms[0].Value);
                Assert.AreEqual(expected[i].DimNode.DimNodes == null, actual[i].DimNode.DimNodes == null);

                if (expected[i].DimNode.DimNodes == null)
                {
                    continue;
                }

                Assert.AreEqual(expected[i].DimNode.DimNodes.Length, actual[i].DimNode.DimNodes.Length);
            }
        }
 public void IfFileListIsEmptyAnExceptionIsThrown()
 {
     var adapter = new EndecaDimensionAdapter(_mockEndecaDimensionFileAdapter.Object, new List <string>());
 }
 public void IfFileListIsNullAnExceptionIsThrown()
 {
     var adapter = new EndecaDimensionAdapter(_mockEndecaDimensionFileAdapter.Object, null);
 }