From 78c7664be346ed014acf50d4ae7047abdde9819d Mon Sep 17 00:00:00 2001
From: Alexander Rose <alexander.rose@weirdbyte.de>
Date: Sun, 12 Jan 2020 13:38:06 -0800
Subject: [PATCH] very basic ccp4 spec test

---
 src/mol-io/reader/_spec/ccp4.spec.ts | 32 ++++++++++++++++++++++------
 src/mol-io/reader/_spec/dcd.spec.ts  |  1 -
 2 files changed, 25 insertions(+), 8 deletions(-)

diff --git a/src/mol-io/reader/_spec/ccp4.spec.ts b/src/mol-io/reader/_spec/ccp4.spec.ts
index 1fe2202d9..7cd890b2a 100644
--- a/src/mol-io/reader/_spec/ccp4.spec.ts
+++ b/src/mol-io/reader/_spec/ccp4.spec.ts
@@ -6,19 +6,37 @@
 
 import * as CCP4 from '../ccp4/parser'
 
-const ccp4Buffer = new Uint8Array(4 * 64)
+function createCcp4Data() {
+    const data = new Uint8Array(4 * 256 + 6)
+
+    const dv = new DataView(data.buffer)
+
+    dv.setInt8(52 * 4, 'M'.charCodeAt(0))
+    dv.setInt8(52 * 4 + 1, 'A'.charCodeAt(0))
+    dv.setInt8(52 * 4 + 2, 'P'.charCodeAt(0))
+    dv.setInt8(52 * 4 + 3, ' '.charCodeAt(0))
+
+    dv.setInt32(0 * 4, 1) // NC
+    dv.setInt32(1 * 4, 2) // NR
+    dv.setInt32(2 * 4, 3) // NS
+
+    return data
+}
 
 describe('ccp4 reader', () => {
     it('basic', async () => {
-        const parsed = await CCP4.parse(ccp4Buffer).run();
+        const data = createCcp4Data()
+        const parsed = await CCP4.parse(data).run();
 
         if (parsed.isError) {
-            console.log(parsed)
-            return;
+            throw new Error(parsed.message)
         }
-        // const ccp4File = parsed.result;
-        // const { header, values } = ccp4File;
 
-        // TODO
+        const ccp4File = parsed.result;
+        const { header } = ccp4File;
+
+        expect(header.NC).toBe(1)
+        expect(header.NR).toBe(2)
+        expect(header.NS).toBe(3)
     });
 });
diff --git a/src/mol-io/reader/_spec/dcd.spec.ts b/src/mol-io/reader/_spec/dcd.spec.ts
index d047e61b5..ffb3393d7 100644
--- a/src/mol-io/reader/_spec/dcd.spec.ts
+++ b/src/mol-io/reader/_spec/dcd.spec.ts
@@ -10,7 +10,6 @@ function createDcdData() {
     const data = new Uint8Array(4 * 128)
 
     const dv = new DataView(data.buffer)
-    // const intView = new Int32Array(data.buffer, 0, 23)
 
     // set little endian
     dv.setInt32(0, 84)
-- 
GitLab