public void TestPutRawImage(bool bSaveImagesToFile)
        {
            DatasetFactory factory = new DatasetFactory();

            factory.DeleteSources("Test123");
            int nSrcId = factory.AddSource("Test123", 1, 10, 10, false, 0, bSaveImagesToFile);

            factory.Open(nSrcId, 10);

            byte[] rgBytes = new byte[10 * 10];

            for (int i = 0; i < 20; i++)
            {
                rgBytes[i] = (byte)i;
                SimpleDatum sd = new SimpleDatum(false, 1, 10, 10, i, DateTime.MinValue, rgBytes.ToList(), null, 0, false, i);

                factory.PutRawImageCache(i, sd);
            }

            factory.ClearImageCash(true);

            List <RawImage> rgImg = factory.GetRawImagesAt(0, 20);

            for (int i = 0; i < rgImg.Count; i++)
            {
                SimpleDatum sd       = factory.LoadDatum(rgImg[i]);
                bool        bEncoded = false;
                byte[]      rgData   = sd.GetByteData(out bEncoded);

                for (int j = 0; j < 100; j++)
                {
                    if (j <= i)
                    {
                        Assert.AreEqual(rgData[j], j);
                    }
                    else
                    {
                        Assert.AreEqual(rgData[j], 0);
                    }
                }
            }

            factory.DeleteSources("Test123");
            factory.Close();
        }