public void CopyAttribute_Of_Ints_For_Nodes(int srcColIndex, int targColIndex, Type[] srcTypes, Type[] targTypes)
        {
            //Arrange
            var copier = new DataAttributeTableCopier();
            IBasicAdjList src = BasicAdjListGenerator.GenerateAdjListWithDataAttribs(3, 0, false, true, false);
            var builder = new DataAttributesBuilder();
            for (int i = 0; i < srcTypes.Length; i++)
            {
                var colIndex = builder.AddColumn((INodeAttributes)src, srcTypes[i]);
                builder.PopulateColRandomly(src.NodeData, colIndex);
            }

            IBasicAdjList targ = BasicAdjListGenerator.GenerateAdjListWithDataAttribs(3, 0, false, true, false);
            for (int i = 0; i < targTypes.Length; i++)
            {
                var colIndex = builder.AddColumn((INodeAttributes)targ, targTypes[i]);
            }
            var map = new Dictionary<INode, INode>();
            for(int i=0; i<src.NodeCount; i++)
            {
                map.Add(targ.Nodes[i], src.Nodes[i]);
            }

            var srcData = src.NodeData.GetColumnData<int>(srcColIndex);
            var targData = targ.NodeData.GetColumnData<int>(targColIndex);
            Assert.NotNull(srcData);
            Assert.NotNull(targData);
            Assert.Equal(srcData.Count, targData.Count);

            //Act
            copier.CopyAttribute(map, src.NodeData, targ.NodeData, srcColIndex, targColIndex);

            //Assert
            srcData = src.NodeData.GetColumnData<int>(srcColIndex);
            targData = targ.NodeData.GetColumnData<int>(targColIndex);
            for (int i = 0; i < srcData.Count; i++)
            {
                Assert.Equal(srcData[i], targData[i]);
            }
        }