diff --git a/forum-network/src/index.html b/forum-network/src/index.html
index 473347e..d587684 100644
--- a/forum-network/src/index.html
+++ b/forum-network/src/index.html
@@ -19,7 +19,8 @@
Negative citation of a weaker negative citation
Redistribute power
Redistribute power through subsequent support
- Destroy a post after it has received positive citations
+ Destroy a post after it has received positive citations
+ Initially zero-valued posts later receive citations
diff --git a/forum-network/src/tests/all.test.html b/forum-network/src/tests/all.test.html
index 7f89e7c..b6c23ac 100644
--- a/forum-network/src/tests/all.test.html
+++ b/forum-network/src/tests/all.test.html
@@ -32,6 +32,7 @@
+
+
+
+
+
diff --git a/forum-network/src/tests/scripts/forum/forum6.test.js b/forum-network/src/tests/scripts/forum/forum6.test.js
new file mode 100644
index 0000000..b6684cd
--- /dev/null
+++ b/forum-network/src/tests/scripts/forum/forum6.test.js
@@ -0,0 +1,76 @@
+import { EPSILON, mochaRun } from '../../../util.js';
+import { ForumTest } from './forum.test-util.js';
+
+describe('Forum', function tests() {
+ this.timeout(0);
+
+ const forumTest = new ForumTest();
+
+ before(async () => {
+ await forumTest.setup();
+ });
+
+ context('Initially zero-valued post later receives citations', async () => {
+ let forum;
+ let experts;
+ let posts;
+
+ before(() => {
+ forum = forumTest.forum;
+ experts = forumTest.experts;
+ posts = forumTest.posts;
+ });
+
+ it('Post1: Work SC prototype', async () => {
+ await forumTest.addPost(experts[0], 0);
+ forum.getPost(posts[0]).value.should.equal(0);
+ });
+
+ it('Post2: Work SC improvement', async () => {
+ await forumTest.addPost(experts[0], 0, [
+ { postId: posts[0], weight: 0.9 },
+ ]);
+ forum.getPost(posts[0]).value.should.equal(0);
+ forum.getPost(posts[1]).value.should.equal(0);
+ });
+
+ it('Post3: Work SC improvement', async () => {
+ await forumTest.addPost(experts[0], 0, [
+ { postId: posts[1], weight: 0.8 },
+ ]);
+ forum.getPost(posts[0]).value.should.equal(0);
+ forum.getPost(posts[1]).value.should.equal(0);
+ forum.getPost(posts[2]).value.should.equal(0);
+ });
+
+ it('Post4: Work evidence using latest work SC', async () => {
+ await forumTest.addPost(experts[0], 100, [
+ { postId: posts[2], weight: 0.05 },
+ ]);
+ forum.getPost(posts[0]).value.should.equal(3.6);
+ forum.getPost(posts[1]).value.should.be.within(0.40 - EPSILON, 0.40 + EPSILON);
+ forum.getPost(posts[2]).value.should.equal(1);
+ forum.getPost(posts[3]).value.should.equal(95);
+ });
+
+ it('Post5: Work evidence using latest work SC', async () => {
+ await forumTest.addPost(experts[0], 100, [
+ { postId: posts[2], weight: 0.05 },
+ ]);
+ forum.getPost(posts[0]).value.should.equal(7.2);
+ forum.getPost(posts[1]).value.should.be.within(0.80 - EPSILON, 0.80 + EPSILON);
+ forum.getPost(posts[2]).value.should.equal(2);
+ forum.getPost(posts[3]).value.should.equal(95);
+ forum.getPost(posts[4]).value.should.equal(95);
+ });
+ });
+});
+
+// await addPost(experts[0], 10);
+// await addPost(experts[0], 10, [{ postId: posts[3], weight: -1 }]);
+// await addPost(experts[0], 10, [{ postId: posts[4], weight: -1 }]);
+
+// await addPost(expert3, 'Post 4', 100, [{ postId: postId2, weight: -1 }]);
+// await addPost(expert1, 'Post 5', 100, [{ postId: postId3, weight: -1 }]);
+
+mochaRun();