// Path: src/main/java/com/github/mottox/taomp/common/LockCounter.java
// public class LockCounter {
//     private long value;
//     private SimpleLock lock;
// 
//     public LockCounter(SimpleLock lock) {
//         this.lock = lock;
//     }
// 
//     public long get() {
//         // 不想用锁，只是为了暴露取值API。
//         return value;
//     }
// 
//     public long getAndIncrement() {
//         lock.lock();
//         try {
//             long temp = value;
//             value = temp + 1;
//             return temp;
//         } finally {
//             lock.unlock();
//         }
//     }
// }


import org.junit.Assert;
import org.junit.Test;
import com.github.mottox.taomp.common.LockCounter;
package com.github.mottox.taomp.concurrent.locks;



/**
 * {@link Peterson}测试类。
 *
 * @author Robin Wang
 */
public class PetersonTest {

    @Test(timeout = 10000)
    public void testLockAndUnlock() throws Exception {
// Path: src/main/java/com/github/mottox/taomp/common/LockCounter.java
// public class LockCounter {
//     private long value;
//     private SimpleLock lock;
// 
//     public LockCounter(SimpleLock lock) {
//         this.lock = lock;
//     }
// 
//     public long get() {
//         // 不想用锁，只是为了暴露取值API。
//         return value;
//     }
// 
//     public long getAndIncrement() {
//         lock.lock();
//         try {
//             long temp = value;
//             value = temp + 1;
//             return temp;
//         } finally {
//             lock.unlock();
//         }
//     }
// }


// Path: src/test/java/com/github/mottox/taomp/concurrent/locks/PetersonTest.java
import org.junit.Assert;
import org.junit.Test;
import com.github.mottox.taomp.common.LockCounter;

package com.github.mottox.taomp.concurrent.locks;



/**
 * {@link Peterson}测试类。
 *
 * @author Robin Wang
 */
public class PetersonTest {

    @Test(timeout = 10000)
    public void testLockAndUnlock() throws Exception {
        LockCounter counter = new LockCounter(new Peterson());