public void Add_NonEmptyStringTwice_AddedAtReturnedIndexNoDuplicates()
        {
            SafeExecuteTest(
                RandomDataSheetSpath,
                (spreadsheet) =>
                {
                    var target = new SharedStringTableIndexer(spreadsheet.WorkbookPart.SharedStringTablePart);
                    var item = Guid.NewGuid().ToString();
                    var oldCount = target.UniqueCount;

                    // add it twice
                    var index1 = target.Add(item);
                    var index2 = target.Add(item);

                    Assert.AreEqual(index1, index2);
                    Assert.AreEqual(oldCount + 1, target.UniqueCount); // should only increment once.
                });
        }
 public void Add_NullString_ThrowsException()
 {
     SafeExecuteTest(
         RandomDataSheetSpath,
         (spreadsheet) =>
         {
             var target = new SharedStringTableIndexer(spreadsheet.WorkbookPart.SharedStringTablePart);
             target.Add(null);
         });
 }
        public void Contains_ExistingStringAndIndex_ReturnsFalse()
        {
            SafeExecuteTest(
                RandomDataSheetSpath,
                (spreadsheet) =>
                {
                    var target = new SharedStringTableIndexer(spreadsheet.WorkbookPart.SharedStringTablePart);
                    var item = Guid.NewGuid().ToString();
                    var index = target.Add(item);

                    Assert.IsTrue(target.Contains(item));
                    Assert.IsTrue(target.Contains(index));
                });
        }
        public void Add_NonEmptyValue_AddedAtReturnedIndex()
        {
            SafeExecuteTest(
                RandomDataSheetSpath,
                (spreadsheet) =>
                {
                    var target = new SharedStringTableIndexer(spreadsheet.WorkbookPart.SharedStringTablePart);
                    var item = Guid.NewGuid().ToString();
                    var oldCount = target.UniqueCount;
                    var index = target.Add(item);

                    Assert.AreEqual(oldCount + 1, target.UniqueCount);
                    Assert.AreEqual(index, target[item]);
                    Assert.AreEqual(item, target[index]);
                });
        }