public void WhenDisposingChangesAreSavedToTarget()
        {
            const string testKey = "WhenDisposingChangesAreSavedToTarget_Key";
            const string testValue = "Value that is to be saved to the target upon dispose.";

            using (var sutOne = new ResourceFileHelper(_sourceFilePath, _targetFilePath))
            {
                Assert.DoesNotThrow(() => sutOne.WriteNameValuePairToTarget(testKey, testValue, false));
                Assert.DoesNotThrow(() => sut.SaveChangeToTarget());
            }

            var sutTwo = new ResourceFileHelper(_sourceFilePath, _targetFilePath);
            Assert.That(sutTwo.GetValueFromTargetUsingKey(testKey), Is.EqualTo(testValue));
        }
        public void WhenOverwritingExistingValuesToTarget()
        {
            Assert.DoesNotThrow(() => sut.WriteNameValuePairToTarget("Key1", "Key1Value", false));
            Assert.DoesNotThrow(() => sut.WriteNameValuePairToTarget("Key2", "Key2Value", false));
            Assert.DoesNotThrow(() => sut.WriteNameValuePairToTarget("Key3", "Key3Value", false));
            Assert.DoesNotThrow(() => sut.WriteNameValuePairToTarget("Key4", "Key4Value", false));
            Assert.DoesNotThrow(() => sut.SaveChangeToTarget());

            using (var rfhOne = new ResourceFileHelper(_sourceFilePath, _targetFilePath))
            {
                Assert.That(rfhOne.GetNameValuesFromTargetUsingValue("Key1Value").Count, Is.EqualTo(1));
                Assert.That(rfhOne.GetNameValuesFromTargetUsingValue("Key2Value").Count, Is.EqualTo(1));
                Assert.That(rfhOne.GetNameValuesFromTargetUsingValue("Key3Value").Count, Is.EqualTo(1));
                Assert.That(rfhOne.GetNameValuesFromTargetUsingValue("Key4Value").Count, Is.EqualTo(1));

                Assert.DoesNotThrow(() => rfhOne.WriteNameValuePairToTarget("Key1", "NewKey1Value", true));
                Assert.DoesNotThrow(() => rfhOne.SaveChangeToTarget());
            }

            using (var rfhTwo = new ResourceFileHelper(_sourceFilePath, _targetFilePath))
            {
                Assert.That(rfhTwo.GetNameValuesFromTargetUsingValue("NewKey1Value").Count, Is.EqualTo(1));
            }
        }
        protected override void Given()
        {
            _sourceFilePath = (Environment.CurrentDirectory + "\\SampleResourceFiles\\EnglishSample.resx");
            _targetFilePath = String.Format("{0}\\SampleResourceFiles\\target_{1}.resx", Environment.CurrentDirectory, Guid.NewGuid());
            File.Copy((Environment.CurrentDirectory + "\\SampleResourceFiles\\TargetTemplate.resx"), _targetFilePath);

            sut = new ResourceFileHelper(_sourceFilePath, _targetFilePath);
        }