diff --git a/Tests/Foundation/CPStringTest.j b/Tests/Foundation/CPStringTest.j index f509e8128a..61aa61a50c 100644 --- a/Tests/Foundation/CPStringTest.j +++ b/Tests/Foundation/CPStringTest.j @@ -16,14 +16,112 @@ import } - (void)testStringByAppendingFormat { - var format = @"%d X %d = %d"; - var expectedString = "2 X 3 = 6"; - var dummyString = @""; - var actualString = [dummyString stringByAppendingFormat:format ,2 ,3 ,6]; + var format = @"%d X %d = %d", + expectedString = "2 X 3 = 6", + dummyString = @"", + actualString = [dummyString stringByAppendingFormat:format, 2, 3, 6]; + [self assertTrue:(expectedString === actualString) message:"stringByAppendingFormat: expected:" + expectedString + " actual:" + actualString]; - } + +- (void)testStringWithString +{ + var original = [[CPString alloc] initWithString:"str"], + copy = [CPString stringWithString:original]; + + [self assertTrue:(original == copy) message:"Contents should be equal"]; +} + +- (void)testInitWithString +{ + var str = [[CPString alloc] initWithString:"str"]; + [self assert:"str" equals:str]; +} + +- (void) testInitWithFormat +{ + // this could be really big + var str = [[CPString alloc] initWithFormat:"%s", "str"]; + [self assert:"str" equals:str]; + + str = [[CPString alloc] initWithFormat:"%d", 42]; + [self assert:"42" equals:str]; + + str = [[CPString alloc] initWithFormat:"%f", 42.2]; + [self assert:"42.2" equals:str]; +} + +- (void)testStringWithFormat +{ + // this could be equally big + var str = [CPString stringWithFormat:"%s", "str"]; + [self assert:"str" equals:str]; + + str = [CPString stringWithFormat:"%d", 42]; + [self assert:"42" equals:str]; + + str = [CPString stringWithFormat:"%f", 42.2]; + [self assert:"42.2" equals:str]; +} + +- (void)testLength +{ + [self assert:0 equals:["" length]]; + [self assert:1 equals:["a" length]]; + [self assert:5 equals:["abcde" length]]; + [self assert:3 equals:["日本語" length]]; +} + +- (void)testCharacterAtIndex +{ + [self assert:"a" equals:["abcd" characterAtIndex:0]]; + [self assert:"b" equals:["abcd" characterAtIndex:1]]; + [self assert:"d" equals:["abcd" characterAtIndex:3]]; + [self assert:"語" equals:["日本語" characterAtIndex:2]]; +} + +- (void)testStringByAppendingSting +{ + [self assert:"onetwo" equals:["one" stringByAppendingString:"two"]]; +} + + +- (void)testStringByPaddingToLength +{ + [self assert:"onebcd" + equals:["one" stringByPaddingToLength:6 + withString:"abcdefg" + startingAtIndex:1]]; +} + +- (void)testComponentsSeparatedByString +{ + [self assert:["arash", "francisco", "ross", "tom"] + equals:["arash.francisco.ross.tom" componentsSeparatedByString:"."]]; +} + +- (void)testSubstringFromIndex +{ + [self assert:"abcd" equals:["abcd" substringFromIndex:0]]; + [self assert:"bcd" equals:["abcd" substringFromIndex:1]]; + [self assert:"" equals:["abcd" substringFromIndex:4]]; +} + +- (void)testSubstringWithRange +{ + [self assert:"bcd" equals:["abcde" substringWithRange:CPMakeRange(1,3)]]; + [self assert:"abcde" equals:["abcde" substringWithRange:CPMakeRange(0,5)]]; + [self assert:"" equals:["abcde" substringWithRange:CPMakeRange(1,0)]]; +} + +- (void)testSubstringToIndex +{ + [self assert:"abcd" equals:["abcd" substringToIndex:4]]; + [self assert:"abc" equals:["abcd" substringToIndex:3]]; + [self assert:"" equals:["abcd" substringToIndex:0]]; +} + - (void)testBoolValue { var testStrings = [