# Intermediate loads
sai = StatAccum(tall=True, sall=True, bins=bins)
sai += var1[:5], var2[:5]
print sai.load(restart_file7)  # erase
saw = StatAccum(tall=True, sall=True, bins=bins)
saw += var1[:7], var2[:7]
print saw.load(restart_file5)  # not loaded

# Finish stats
sab += var1[7:], var2[7:]
sa5 += var1[5:], var2[5:]
sa7 += var1[7:], var2[7:]
sai += var1[7:], var2[7:]

# Get stats
sab_stats = sab.get_stats()
sa5_stats = sa5.get_stats()
sa7_stats = sa7.get_stats()
sai_stats = sai.get_stats()

# Result
result = []
for sname in sab_stats.keys():
    assert_array_almost_equal(sab_stats[sname], sa5_stats[sname])
    assert_array_almost_equal(sab_stats[sname], sa7_stats[sname])
    assert_array_almost_equal(sab_stats[sname], sai_stats[sname])
#    result.append(('assertTrue', N.ma.allclose(sab_stats[sname], sa1_stats[sname])))
#    print sname, N.ma.allclose(sab_stats[sname], sa1_stats[sname])

print 'Done'
# Intermediate loads
sai = StatAccum(tall=True, sall=True, bins=bins)
sai += var1[:5], var2[:5]
print sai.load(restart_file7) # erase
saw = StatAccum(tall=True, sall=True, bins=bins)
saw += var1[:7], var2[:7]
print saw.load(restart_file5) # not loaded

# Finish stats
sab += var1[7:], var2[7:]
sa5 += var1[5:], var2[5:]
sa7 += var1[7:], var2[7:]
sai += var1[7:], var2[7:]

# Get stats
sab_stats = sab.get_stats()
sa5_stats = sa5.get_stats()
sa7_stats = sa7.get_stats()
sai_stats = sai.get_stats()

# Result
result = []
for sname in sab_stats.keys():
    assert_array_almost_equal(sab_stats[sname], sa5_stats[sname])
    assert_array_almost_equal(sab_stats[sname], sa7_stats[sname])
    assert_array_almost_equal(sab_stats[sname], sai_stats[sname])
#    result.append(('assertTrue', N.ma.allclose(sab_stats[sname], sa1_stats[sname])))
#    print sname, N.ma.allclose(sab_stats[sname], sa1_stats[sname])

print 'Done'