public void SubTranslationDataFactory_GetSubData_Test()
            {
                //Arrange
                var conditionList         = mockConditionList;
                var expectedReferenceList = new List <int>();

                for (int i = 0; i < conditionList.Count; i++)
                {
                    var line = conditionList[i];
                    if (line == true)
                    {
                        expectedReferenceList.Add(i);
                    }
                }

                var expected = new SubTranslationData
                {
                    IndexReference = expectedReferenceList
                };

                //Act
                var actual = subTranslationDataFactory.GetSubData(conditionList);
                var actualReferenceList = actual.IndexReference;

                //Assert
                Assert.IsType <SubTranslationData>(actual);
                Assert.IsAssignableFrom <ISubTranslationData>(actual);
                Assert.NotStrictEqual(expected, actual);
                Assert.IsType <List <int> >(actualReferenceList);
                Assert.Equal(expectedReferenceList, actualReferenceList);
            }
            public void SubTranslationDataFactory_GivenEmptyConditionListRaiseException()
            {
                //Arrange
                var conditionList = new List <bool>();

                var expectedMessage = "Passed Condition List is Empty.";
                var expected        = new InvalidConditionListException(expectedMessage);

                //Act
                var actual        = Record.Exception(() => subTranslationDataFactory.GetSubData(conditionList));
                var actualMessage = actual.Message;

                //Assert
                Assert.IsType <InvalidConditionListException>(actual);
                Assert.NotStrictEqual(expected, actual);
                Assert.Equal(expectedMessage, actualMessage);
            }