[ 測試撰寫 ] LeetCode 143. Reorder List #125
Answered
by
twy30
LPenny-github
asked this question in
Q&A
-
|
相關 Discussions: LeetCode: 謝謝大大的指點,我改了測試的方式 orz 再麻煩 @twy30 給予 測試撰寫的建議 orz 感激不盡 using Xunit;
public class UnitTestReorderList
{
[Fact]
public void LeetCodeExample1()
{
// input: 1 -> 2 -> 3 -> 4
// output: 1 -> 4 -> 2 -> 3
var node1 = new ListNode(1);
var node2 = new ListNode(2);
var node3 = new ListNode(3);
var node4 = new ListNode(4, null);
node1.next = node2;
node2.next = node3;
node3.next = node4;
ReorderList reorderList = new ReorderList();
reorderList.GetReorderedList(node1);
Assert.Equal(node4, node1.next);
Assert.Equal(node2, node4.next);
Assert.Equal(node3, node2.next);
Assert.Equal( null, node3.next);
}
[Fact]
public void LeetCodeExample2()
{
// input: 1 -> 2 -> 3 -> 4 -> 5
// output: 1 -> 5 -> 2 -> 4 -> 3
var node1 = new ListNode(1);
var node2 = new ListNode(2);
var node3 = new ListNode(3);
var node4 = new ListNode(4);
var node5 = new ListNode(5, null);
node1.next = node2;
node2.next = node3;
node3.next = node4;
node4.next = node5;
ReorderList reorderList = new ReorderList();
reorderList.GetReorderedList(node1);
Assert.Equal(node5, node1.next);
Assert.Equal(node2, node5.next);
Assert.Equal(node4, node2.next);
Assert.Equal(node3, node4.next);
Assert.Equal( null, node3.next);
}
[Fact]
public void HeadNodeIsNull()
{
var node1 = new ListNode();
ReorderList reorderList = new ReorderList();
reorderList.GetReorderedList(node1);
Assert.Equal(null, node1.next);
Assert.Equal(0, node1.val);
}
} |
Beta Was this translation helpful? Give feedback.
Answered by
twy30
Feb 7, 2021
Replies: 1 comment 1 reply
-
|
你好 😊 就 就 |
Beta Was this translation helpful? Give feedback.
1 reply
Answer selected by
LPenny-github
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@LPenny-github
你好 😊
就
LeetCodeExample1與LeetCodeExample2來說,除了驗證每個ListNode的.next屬性,也可以加入對.val屬性的驗證。就
HeadNodeIsNull(「開頭節點為 Null」) 這個測試案例(test case)來說,其名稱可以改成SingleNode(「單一一個節點」) 為更貼切。