public void CreateInMemoryValues()
{
string tempFile = "bingo:";
// Note the seconds returned will be even!
DateTime epochTime = new DateTime(1980, 1, 1);
DateTime createTime = new DateTime(2100, 2, 27, 11, 07, 56);
DateTime lastWriteTime = new DateTime(2050, 11, 3, 7, 23, 32);
DateTime lastAccessTime = new DateTime(2050, 11, 3, 0, 42, 12);
ZipEntryFactory factory = new ZipEntryFactory();
ZipEntry entry;
int combinedAttributes;
DateTime startTime = DateTime.Now;
factory.Setting = ZipEntryFactory.TimeSetting.CreateTime;
factory.GetAttributes = ~((int)FileAttributes.ReadOnly);
factory.SetAttributes = (int)FileAttributes.ReadOnly;
combinedAttributes = (int)FileAttributes.ReadOnly;
entry = factory.MakeFileEntry(tempFile, false );
Assert.IsTrue(TestHelper.CompareDosDateTimes(startTime, entry.DateTime) <= 0, "Create time failure");
Assert.AreEqual(entry.ExternalFileAttributes, combinedAttributes);
Assert.AreEqual(-1, entry.Size);
factory.FixedDateTime = startTime;
factory.Setting = ZipEntryFactory.TimeSetting.Fixed;
entry = factory.MakeFileEntry(tempFile, false);
Assert.AreEqual(0, TestHelper.CompareDosDateTimes(startTime, entry.DateTime), "Access time failure");
Assert.AreEqual(-1, entry.Size);
factory.Setting = ZipEntryFactory.TimeSetting.LastWriteTime;
entry = factory.MakeFileEntry(tempFile, false);
Assert.IsTrue(TestHelper.CompareDosDateTimes(startTime, entry.DateTime) <= 0, "Write time failure");
Assert.AreEqual(-1, entry.Size);
}