public void ContentNaming_IncrementNameSuffixOnSave()
{
// increment check
var content1 = Content.CreateNew(ContentType_Car1Name, TestRoot, "mycar");
content1.Save();
var content2 = Content.CreateNew(ContentType_Car1Name, TestRoot, "mycar");
content2.Save();
var content3 = Content.CreateNew(ContentType_Car1Name, TestRoot, "mycar");
content3.Save();
Assert.IsTrue(content1.Name == "mycar"); // if mycar does not exist, name does not change
Assert.IsTrue(content2.Name == "mycar(1)"); // first increment
Assert.IsTrue(content3.Name == "mycar(2)"); // second increment
// 9 - 10 order problem: if mycar(9) and mycar(10) exists, mycar(11) is the next even though 10 is smaller than 9 if compared as strings
Content.CreateNew(ContentType_Car1Name, TestRoot, "mycar(9)").Save();
Content.CreateNew(ContentType_Car1Name, TestRoot, "mycar(10)").Save();
var content4 = Content.CreateNew(ContentType_Car1Name, TestRoot, "mycar");
content4.Save();
Assert.IsTrue(content4.Name == "mycar(11)");
// (string) suffix problem 1: string(test) should be incremented to string(test)(1)
var content5 = Content.CreateNew(ContentType_Car1Name, TestRoot, "string(test)");
content5.Save();
var content6 = Content.CreateNew(ContentType_Car1Name, TestRoot, "string(test)");
content6.Save();
Assert.IsTrue(content5.Name == "string(test)"); // if string(test) does not exist, name does not change
Assert.IsTrue(content6.Name == "string(test)(1)"); // first increment
// (string) suffix problem 2: string should be incremented to string(guid), since string(test) already exists
var content7 = Content.CreateNew(ContentType_Car1Name, TestRoot, "string");
content7.Save();
var content8 = Content.CreateNew(ContentType_Car1Name, TestRoot, "string");
content8.Save();
Assert.IsTrue(content7.Name == "string"); // did not exist yet
Assert.IsTrue(SuffixIsGuid(content8.Name));
}
[TestMethod]