author | Jan Vrany <jan.vrany@fit.cvut.cz> |
Sun, 05 Feb 2012 01:49:41 +0000 | |
branch | jv |
changeset 12144 | 18c25ec50d96 |
parent 12123 | 4bde08cebd48 |
child 12181 | c6d6a0a83faa |
permissions | -rw-r--r-- |
"{ Package: 'stx:libtool' }" TestCase subclass:#TextDiffTests instanceVariableNames:'' classVariableNames:'' poolDictionaries:'' category:'Collections-Sequenceable-Diff' ! TextDiffTests comment:'asdfasfsafsafsa ' ! !TextDiffTests class methodsFor:'documentation'! documentation " " ! ! !TextDiffTests methodsFor:'default'! testForward |diff change first second| first := #( 'aaa' 'lll' ). second := #( 'aaa' 'jjj' 'kkk' 'lll' 'bbb' 'ccc' 'hhh' 'iii' 'mmm' 'nnn' 'ppp' ). diff := Diff new. diff a:first b:second. change := diff diff:false. self deny:(change = nil). self assert:(change deleted = 0). self assert:(change inserted = 2). self assert:(change line0 = 1). self assert:(change line1 = 1). change := change nextLink. self deny:(change = nil). self assert:(change deleted = 0). self assert:(change inserted = 7). self assert:(change line0 = 2). self assert:(change line1 = 4). self assert:(change nextLink = nil). "Modified: / 12-02-2010 / 14:23:04 / Jan Vrany <jan.vrany@fit.cvut.cz>" ! testForward1 "comment stating purpose of this message" |d a b result| a := ''. b := ''. d := Diff new. d a:a b:b. result := d diffUsingScript:(Diff::ForwardScript new). self assert:(result = nil). "Modified: / 12-02-2010 / 13:57:51 / Jan Vrany <jan.vrany@fit.cvut.cz>" ! testForward10 "comment stating purpose of message" |d a b result| a := #( 'aaaa' 'aaa' 'bbbb' 'bbb' 'aaa' 'aaa' 'aaa' 'aaa' 'ccccc' 'ccccc' ). b := #( 'aaa' 'aaaa' 'jjj' 'kkk' 'lll' 'bbb' 'ccc' 'aaa' 'aaa' 'hhh' 'iii' 'mmm' 'nnn' 'ppp' 'aaa' 'aaa' ). d := Diff new. d a:a b:b. result := d diff:false. self deny:(result = nil). self assert:(result deleted = 1). self assert:(result inserted = 0). self assert:(result line0 = 0). self assert:(result line1 = 0). result := result nextLink. self deny:(result = nil). self assert:(result deleted = 1). self assert:(result inserted = 4). self assert:(result line0 = 2). self assert:(result line1 = 1). result := result nextLink. self deny:(result = nil). self assert:(result deleted = 0). self assert:(result inserted = 1). self assert:(result line0 = 4). self assert:(result line1 = 6). result := result nextLink. self deny:(result = nil). self assert:(result deleted = 0). self assert:(result inserted = 5). self assert:(result line0 = 6). self assert:(result line1 = 9). result := result nextLink. self deny:(result = nil). self assert:(result deleted = 2). self assert:(result inserted = 0). self assert:(result line0 = 8). self assert:(result line1 = 16). self assert:(result nextLink = nil). ! testForward2 "comment stating purpose of message" |d a b result| a := ''. b := #( 'aaa' 'jjj' 'kkk' 'lll' 'bbb' 'ccc' 'hhh' 'iii' 'mmm' 'nnn' 'ppp' ). d := Diff new. d a:a b:b. result := d diff:false. self deny:(result = nil). self assert:(result deleted = 0). self assert:(result inserted = 11). self assert:(result line0 = 0). self assert:(result line1 = 0). self assert:(result nextLink = nil). ! testForward3 "comment stating purpose of message" |d a b result| a := #( 'aaa' 'lll' ). b := ''. d := Diff new. d a:a b:b. result := d diff:false. self deny:(result = nil). self assert:(result deleted = 2). self assert:(result inserted = 0). self assert:(result line0 = 0). self assert:(result line1 = 0). self assert:(result nextLink = nil). ! testForward4 "comment stating purpose of message" |d a b result| a := #( 'aaa' 'aaa' 'aaa' 'aaa' 'aaa' ). b := #( 'aaa' 'jjj' 'kkk' 'lll' 'bbb' 'ccc' 'aaa' 'aaa' 'aaa' 'aaa' 'aaa' 'hhh' 'iii' 'mmm' 'nnn' 'ppp' ). d := Diff new. d a:a b:b. result := d diff:false. self deny:(result = nil). self assert:(result deleted = 0). self assert:(result inserted = 5). self assert:(result line0 = 1). self assert:(result line1 = 1). result := result nextLink. self deny:(result = nil). self assert:(result deleted = 0). self assert:(result inserted = 6). self assert:(result line0 = 5). self assert:(result line1 = 10). self assert:(result nextLink = nil). ! testForward5 "comment stating purpose of message" |d a b result| a := #( 'aaa' 'aaa' 'aaa' 'aaa' 'aaa' 'aaa' ). b := #( 'aaa' 'aaa' 'jjj' 'kkk' 'lll' 'bbb' 'ccc' 'aaa' 'aaa' 'hhh' 'iii' 'mmm' 'nnn' 'ppp' 'aaa' 'aaa' ). d := Diff new. d a:a b:b. result := d diff:false. self deny:(result = nil). self assert:(result deleted = 0). self assert:(result inserted = 5). self assert:(result line0 = 2). self assert:(result line1 = 2). result := result nextLink. self deny:(result = nil). self assert:(result deleted = 0). self assert:(result inserted = 5). self assert:(result line0 = 4). self assert:(result line1 = 9). self assert:(result nextLink = nil). ! testForward6 "comment stating purpose of message" |d a b result| a := #( 'aaa' 'aaa' 'bbb' 'bbb' 'aaa' 'aaa' 'aaa' 'aaa' ). b := #( 'aaa' 'aaa' 'jjj' 'kkk' 'lll' 'bbb' 'ccc' 'aaa' 'aaa' 'hhh' 'iii' 'mmm' 'nnn' 'ppp' 'aaa' 'aaa' ). d := Diff new. d a:a b:b. result := d diff:false. self deny:(result = nil). self assert:(result deleted = 0). self assert:(result inserted = 3). self assert:(result line0 = 2). self assert:(result line1 = 2). result := result nextLink. self deny:(result = nil). self assert:(result deleted = 1). self assert:(result inserted = 1). self assert:(result line0 = 3). self assert:(result line1 = 6). result := result nextLink. self deny:(result = nil). self assert:(result deleted = 0). self assert:(result inserted = 5). self assert:(result line0 = 6). self assert:(result line1 = 9). self assert:(result nextLink = nil). ! testForward7 "comment stating purpose of message" |d a b result| a := #( 'aaa' 'aaa' 'bbb' 'bbb' 'aaa' 'aaa' 'aaa' 'aaa' ). b := #( 'aaa' 'aaa' 'jjj' 'kkk' 'lll' 'bbb' 'bbb' 'ccc' 'aaa' 'aaa' 'hhh' 'iii' 'mmm' 'nnn' 'ppp' 'aaa' 'aaa' ). d := Diff new. d a:a b:b. result := d diff:false. self deny:(result = nil). self assert:(result deleted = 0). self assert:(result inserted = 3). self assert:(result line0 = 2). self assert:(result line1 = 2). result := result nextLink. self deny:(result = nil). self assert:(result deleted = 0). self assert:(result inserted = 1). self assert:(result line0 = 4). self assert:(result line1 = 7). result := result nextLink. self deny:(result = nil). self assert:(result deleted = 0). self assert:(result inserted = 5). self assert:(result line0 = 6). self assert:(result line1 = 10). self assert:(result nextLink = nil). ! testForward8 "comment stating purpose of message" |d a b result| a := #( 'aaaa' 'aaa' 'bbb' 'bbb' 'aaa' 'aaa' 'aaa' 'aaa' ). b := #( 'aaa' 'aaaa' 'jjj' 'kkk' 'lll' 'bbb' 'ccc' 'aaa' 'aaa' 'hhh' 'iii' 'mmm' 'nnn' 'ppp' 'aaa' 'aaa' ). d := Diff new. d a:a b:b. result := d diff:false. self deny:(result = nil). self assert:(result deleted = 1). self assert:(result inserted = 0). self assert:(result line0 = 0). self assert:(result line1 = 0). result := result nextLink. self deny:(result = nil). self assert:(result deleted = 1). self assert:(result inserted = 4). self assert:(result line0 = 2). self assert:(result line1 = 1). result := result nextLink. self deny:(result = nil). self assert:(result deleted = 0). self assert:(result inserted = 1). self assert:(result line0 = 4). self assert:(result line1 = 6). result := result nextLink. self deny:(result = nil). self assert:(result deleted = 0). self assert:(result inserted = 5). self assert:(result line0 = 6). self assert:(result line1 = 9). self assert:(result nextLink = nil). ! testForward9 "comment stating purpose of message" |d a b result| a := #( 'aaaa' 'aaa' 'bbbb' 'bbb' 'aaa' 'aaa' 'aaa' 'aaa' ). b := #( 'aaa' 'aaaa' 'jjj' 'kkk' 'lll' 'bbb' 'ccc' 'aaa' 'aaa' 'hhh' 'iii' 'mmm' 'nnn' 'ppp' 'aaa' 'aaa' ). d := Diff new. d a:a b:b. result := d diff:false. self deny:(result = nil). self assert:(result deleted = 1). self assert:(result inserted = 0). self assert:(result line0 = 0). self assert:(result line1 = 0). result := result nextLink. self deny:(result = nil). self assert:(result deleted = 1). self assert:(result inserted = 4). self assert:(result line0 = 2). self assert:(result line1 = 1). result := result nextLink. self deny:(result = nil). self assert:(result deleted = 0). self assert:(result inserted = 1). self assert:(result line0 = 4). self assert:(result line1 = 6). result := result nextLink. self deny:(result = nil). self assert:(result deleted = 0). self assert:(result inserted = 5). self assert:(result line0 = 6). self assert:(result line1 = 9). self assert:(result nextLink = nil). ! testForward9NoDiscards "comment stating purpose of message" |d a b result| a := #( 'aaaa' 'aaa' 'bbbb' 'bbb' 'aaa' 'aaa' 'aaa' 'aaa' ). b := #( 'aaa' 'aaaa' 'jjj' 'kkk' 'lll' 'bbb' 'ccc' 'aaa' 'aaa' 'hhh' 'iii' 'mmm' 'nnn' 'ppp' 'aaa' 'aaa' ). d := Diff new. d nodiscards:true. d a:a b:b. result := d diff:false. self deny:(result = nil). self assert:(result deleted = 1). self assert:(result inserted = 0). self assert:(result line0 = 0). self assert:(result line1 = 0). result := result nextLink. self deny:(result = nil). self assert:(result deleted = 1). self assert:(result inserted = 4). self assert:(result line0 = 2). self assert:(result line1 = 1). result := result nextLink. self deny:(result = nil). self assert:(result deleted = 0). self assert:(result inserted = 1). self assert:(result line0 = 4). self assert:(result line1 = 6). result := result nextLink. self deny:(result = nil). self assert:(result deleted = 0). self assert:(result inserted = 5). self assert:(result line0 = 6). self assert:(result line1 = 9). self assert:(result nextLink = nil). ! testReverse |diff change first second| first := #( '1' '2' '3' '4' '5' '6' '7' '8' '9' '10' '11' '12' '13' ). second := #( '1' '2' '3' '5' '7' '8' '8' '9' '10' '11' '11' '12' '13' ). diff := Diff new. diff a:first b:second. change := diff diff:false. self assert:(change ~= nil). "Modified: / 12-02-2010 / 14:23:07 / Jan Vrany <jan.vrany@fit.cvut.cz>" ! testReverse1 "comment stating purpose of message" |d a b result| a := ''. b := ''. d := Diff new. d a:a b:b. result := d diff:false. self assert:(result = nil). ! testReverse10 "comment stating purpose of message" |d a b result| a := #( 'aaaa' 'aaa' 'bbbb' 'bbb' 'aaa' 'aaa' 'aaa' 'aaa' ',' 'ccccc' ',' 'ccccc' ). b := #( 'aaa' 'aaaa' 'jjj' 'kkk' 'lll' 'bbb' 'ccc' 'aaa' 'aaa' 'hhh' 'iii' 'mmm' 'nnn' 'ppp' 'aaa' 'aaa' ). d := Diff new. d a:a b:b. result := d diffUsingScript:(Diff::ReverseScript new). self deny:(result = nil). self assert:(result deleted = 4). self assert:(result inserted = 0). self assert:(result line0 = 8). self assert:(result line1 = 16). result := result nextLink. self deny:(result = nil). self assert:(result deleted = 0). self assert:(result inserted = 5). self assert:(result line0 = 6). self assert:(result line1 = 9). result := result nextLink. self deny:(result = nil). self assert:(result deleted = 0). self assert:(result inserted = 1). self assert:(result line0 = 4). self assert:(result line1 = 6). result := result nextLink. self deny:(result = nil). self assert:(result deleted = 1). self assert:(result inserted = 4). self assert:(result line0 = 2). self assert:(result line1 = 1). result := result nextLink. self deny:(result = nil). self assert:(result deleted = 1). self assert:(result inserted = 0). self assert:(result line0 = 0). self assert:(result line1 = 0). self assert:(result nextLink = nil). ! testReverse2 "comment stating purpose of message" |d a b result| a := ''. b := #( 'aaa' 'jjj' 'kkk' 'lll' 'bbb' 'ccc' 'hhh' 'iii' 'mmm' 'nnn' 'ppp' ). d := Diff new. d a:a b:b. result := d diffUsingScript:(Diff::ReverseScript new). self deny:(result = nil). self assert:(result deleted = 0). self assert:(result inserted = 11). self assert:(result line0 = 0). self assert:(result line1 = 0). self assert:(result nextLink = nil). ! testReverse3 "comment stating purpose of message" |d a b result| a := #( 'aaa' 'lll' ). b := ''. d := Diff new. d a:a b:b. result := d diffUsingScript:(Diff::ReverseScript new). self deny:(result = nil). self assert:(result deleted = 2). self assert:(result inserted = 0). self assert:(result line0 = 0). self assert:(result line1 = 0). self assert:(result nextLink = nil). ! testReverse4 "comment stating purpose of message" |d a b result| a := #( 'aaa' 'aaa' 'aaa' 'aaa' 'aaa' ). b := #( 'aaa' 'jjj' 'kkk' 'lll' 'bbb' 'ccc' 'aaa' 'aaa' 'aaa' 'aaa' 'aaa' 'hhh' 'iii' 'mmm' 'nnn' 'ppp' ). d := Diff new. d a:a b:b. result := d diffUsingScript:(Diff::ReverseScript new). self deny:(result = nil). self assert:(result deleted = 0). self assert:(result inserted = 6). self assert:(result line0 = 5). self assert:(result line1 = 10). result := result nextLink. self deny:(result = nil). self assert:(result deleted = 0). self assert:(result inserted = 5). self assert:(result line0 = 1). self assert:(result line1 = 1). self assert:(result nextLink = nil). ! testReverse5 "comment stating purpose of message" |d a b result| a := #( 'aaa' 'aaa' 'aaa' 'aaa' 'aaa' 'aaa' ). b := #( 'aaa' 'aaa' 'jjj' 'kkk' 'lll' 'bbb' 'ccc' 'aaa' 'aaa' 'hhh' 'iii' 'mmm' 'nnn' 'ppp' 'aaa' 'aaa' ). d := Diff new. d a:a b:b. result := d diffUsingScript:(Diff::ReverseScript new). self deny:(result = nil). self assert:(result deleted = 0). self assert:(result inserted = 5). self assert:(result line0 = 4). self assert:(result line1 = 9). result := result nextLink. self deny:(result = nil). self assert:(result deleted = 0). self assert:(result inserted = 5). self assert:(result line0 = 2). self assert:(result line1 = 2). self assert:(result nextLink = nil). ! testReverse6 "comment stating purpose of message" |d a b result| a := #( 'aaa' 'aaa' 'bbb' 'bbb' 'aaa' 'aaa' 'aaa' 'aaa' ). b := #( 'aaa' 'aaa' 'jjj' 'kkk' 'lll' 'bbb' 'ccc' 'aaa' 'aaa' 'hhh' 'iii' 'mmm' 'nnn' 'ppp' 'aaa' 'aaa' ). d := Diff new. d a:a b:b. result := d diffUsingScript:(Diff::ReverseScript new). self deny:(result = nil). self assert:(result deleted = 0). self assert:(result inserted = 5). self assert:(result line0 = 6). self assert:(result line1 = 9). result := result nextLink. self deny:(result = nil). self assert:(result deleted = 1). self assert:(result inserted = 1). self assert:(result line0 = 3). self assert:(result line1 = 6). result := result nextLink. self deny:(result = nil). self assert:(result deleted = 0). self assert:(result inserted = 3). self assert:(result line0 = 2). self assert:(result line1 = 2). self assert:(result nextLink = nil). ! testReverse7 "comment stating purpose of message" |d a b result| a := #( 'aaa' 'aaa' 'bbb' 'bbb' 'aaa' 'aaa' 'aaa' 'aaa' ). b := #( 'aaa' 'aaa' 'jjj' 'kkk' 'lll' 'bbb' 'bbb' 'ccc' 'aaa' 'aaa' 'hhh' 'iii' 'mmm' 'nnn' 'ppp' 'aaa' 'aaa' ). d := Diff new. d a:a b:b. result := d diffUsingScript:(Diff::ReverseScript new). self deny:(result = nil). self assert:(result deleted = 0). self assert:(result inserted = 5). self assert:(result line0 = 6). self assert:(result line1 = 10). result := result nextLink. self deny:(result = nil). self assert:(result deleted = 0). self assert:(result inserted = 1). self assert:(result line0 = 4). self assert:(result line1 = 7). result := result nextLink. self deny:(result = nil). self assert:(result deleted = 0). self assert:(result inserted = 3). self assert:(result line0 = 2). self assert:(result line1 = 2). self assert:(result nextLink = nil). ! testReverse8 "comment stating purpose of message" |d a b result| a := #( 'aaaa' 'aaa' 'bbb' 'bbb' 'aaa' 'aaa' 'aaa' 'aaa' ). b := #( 'aaa' 'aaaa' 'jjj' 'kkk' 'lll' 'bbb' 'ccc' 'aaa' 'aaa' 'hhh' 'iii' 'mmm' 'nnn' 'ppp' 'aaa' 'aaa' ). d := Diff new. d a:a b:b. result := d diffUsingScript:(Diff::ReverseScript new). self deny:(result = nil). self assert:(result deleted = 0). self assert:(result inserted = 5). self assert:(result line0 = 6). self assert:(result line1 = 9). result := result nextLink. self deny:(result = nil). self assert:(result deleted = 0). self assert:(result inserted = 1). self assert:(result line0 = 4). self assert:(result line1 = 6). result := result nextLink. self deny:(result = nil). self assert:(result deleted = 1). self assert:(result inserted = 4). self assert:(result line0 = 2). self assert:(result line1 = 1). result := result nextLink. self deny:(result = nil). self assert:(result deleted = 1). self assert:(result inserted = 0). self assert:(result line0 = 0). self assert:(result line1 = 0). self assert:(result nextLink = nil). ! testReverse9 "comment stating purpose of message" |d a b result| a := #( 'aaaa' 'aaa' 'bbbb' 'bbb' 'aaa' 'aaa' 'aaa' 'aaa' ). b := #( 'aaa' 'aaaa' 'jjj' 'kkk' 'lll' 'bbb' 'ccc' 'aaa' 'aaa' 'hhh' 'iii' 'mmm' 'nnn' 'ppp' 'aaa' 'aaa' ). d := Diff new. d a:a b:b. result := d diffUsingScript:(Diff::ReverseScript new). self deny:(result = nil). self assert:(result deleted = 0). self assert:(result inserted = 5). self assert:(result line0 = 6). self assert:(result line1 = 9). result := result nextLink. self deny:(result = nil). self assert:(result deleted = 0). self assert:(result inserted = 1). self assert:(result line0 = 4). self assert:(result line1 = 6). result := result nextLink. self deny:(result = nil). self assert:(result deleted = 1). self assert:(result inserted = 4). self assert:(result line0 = 2). self assert:(result line1 = 1). result := result nextLink. self deny:(result = nil). self assert:(result deleted = 1). self assert:(result inserted = 0). self assert:(result line0 = 0). self assert:(result line1 = 0). self assert:(result nextLink = nil). ! ! !TextDiffTests class methodsFor:'documentation'! version_CVS ^ '§Header: /cvs/stx/stx/libtool/TextDiffTests.st,v 1.1 2011/07/01 14:12:24 cg Exp §' ! version_SVN ^ '$Id: TextDiffTests.st 7546 2010-02-25 21:31:39Z vranyj1 $' ! !